as3_8181_s.f

Go to the documentation of this file.
00001 C:\opentelemac\v7p0\sources\utils\bief\as3_8181_s.f
00002 !
00047                      SUBROUTINE AS3_8181_S
00048 !                    *********************
00049 !
00050      &(XM,NSEG,XMT,DIM1XMT,DIM2XMT,STOXMT,NELMAX,NELEM,
00051      & ELTSEG1,ELTSEG2,ELTSEG3)
00052 !
00053 !***********************************************************************
00054 ! BIEF   V6P2                                   21/08/2010
00055 !***********************************************************************
00056 !
00057 !
00058 !
00059 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00060 !| DIM1XMT        |-->| FIRST DIMENSION OF XMT
00061 !| DIM2XMT        |-->| SECOND DIMENSION OF XMT
00062 !| ELTSEG1        |-->| FIRST SEGMENT OF A TRIANGLE
00063 !| ELTSEG2        |-->| SECOND SEGMENT OF A TRIANGLE
00064 !| ELTSEG3        |-->| THIRD SEGMENT OF A TRIANGLE
00065 !| NELEM          |-->| NUMBER OF ELEMENTS IN THE MESH
00066 !| NELMAX         |-->| FIRST DIMENSION OF IKLE AND W.
00067 !| NSEG           |-->| NUMBER OF SEGMENTS
00068 !| STOXMT         |-->| STORAGE MODE OF XMT
00069 !| XM             |<--| ASSEMBLED OFF-DIAGONAL TERMS XA12,23,31
00070 !| XMT            |-->| ELEMENT BY ELEMENT STORAGE OF MATRIX
00071 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00072 !
00073       IMPLICIT NONE
00074       INTEGER LNG,LU
00075       COMMON/INFO/LNG,LU
00076 !
00077 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
00078 !
00079       INTEGER         , INTENT(IN)    :: NELMAX,NELEM,NSEG
00080       INTEGER         , INTENT(IN)    :: DIM1XMT,DIM2XMT,STOXMT
00081       INTEGER         , INTENT(IN)    :: ELTSEG1(NELMAX),ELTSEG2(NELMAX)
00082       INTEGER         , INTENT(IN)    :: ELTSEG3(NELMAX)
00083       DOUBLE PRECISION, INTENT(INOUT) :: XMT(DIM1XMT,DIM2XMT)
00084       DOUBLE PRECISION, INTENT(INOUT) :: XM(NSEG)
00085 !
00086 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
00087 !
00088       INTEGER ISEG,IELEM
00089 !
00090 !-----------------------------------------------------------------------
00091 !
00092 !  INITIALISES
00093 !
00094       DO ISEG = 1 , NSEG
00095         XM(ISEG) = 0.D0
00096       ENDDO
00097 !
00098 !-----------------------------------------------------------------------
00099 !
00100       IF(STOXMT.EQ.1) THEN
00101 !
00102 !     ASSEMBLES
00103 !
00104       DO IELEM = 1,NELEM
00105 !       TERM 12
00106         XM(ELTSEG1(IELEM)) = XM(ELTSEG1(IELEM)) + XMT(IELEM,1)
00107 !       TERM 23
00108         XM(ELTSEG2(IELEM)) = XM(ELTSEG2(IELEM)) + XMT(IELEM,2)
00109 !       TERM 31
00110         XM(ELTSEG3(IELEM)) = XM(ELTSEG3(IELEM)) + XMT(IELEM,3)
00111       ENDDO
00112 !      pause
00113 !
00114 !-----------------------------------------------------------------------
00115 !
00116       ELSEIF(STOXMT.EQ.2) THEN
00117 !
00118 !     ASSEMBLES
00119 !
00120       DO IELEM = 1,NELEM
00121 !       TERM 12
00122         XM(ELTSEG1(IELEM)) = XM(ELTSEG1(IELEM)) + XMT(1,IELEM)
00123 !       TERM 23
00124         XM(ELTSEG2(IELEM)) = XM(ELTSEG2(IELEM)) + XMT(2,IELEM)
00125 !       TERM 31
00126         XM(ELTSEG3(IELEM)) = XM(ELTSEG3(IELEM)) + XMT(3,IELEM)
00127       ENDDO
00128 !
00129 !-----------------------------------------------------------------------
00130 !
00131       ELSE
00132         IF(LNG.EQ.1) THEN
00133           WRITE(LU,*) 'AS3_8181_S : STOCKAGE DE XMT INCONNU : ',STOXMT
00134         ENDIF
00135         IF(LNG.EQ.2) THEN
00136           WRITE(LU,*) 'AS3_8181_S: UNKNOWN STORAGE OF XMT : ',STOXMT
00137         ENDIF
00138         CALL PLANTE(1)
00139         STOP
00140       ENDIF
00141 !
00142 !-----------------------------------------------------------------------
00143 !
00144       RETURN
00145       END

Generated on Fri Aug 31 2013 18:12:58 by S.E.Bourban (HRW) using doxygen 1.7.0