as3_1212_s.f

Go to the documentation of this file.
00001 C:\opentelemac\v7p0\sources\utils\bief\as3_1212_s.f
00002 !
00050                      SUBROUTINE AS3_1212_S
00051 !                    *********************
00052 !
00053      &(XM,NSEG11,NSEG12,XMT,NELMAX,NELEM,ELTSEG1,ELTSEG2,ELTSEG3,
00054      &                                   ELTSEG4,ELTSEG5,ELTSEG6)
00055 !
00056 !***********************************************************************
00057 ! BIEF   V6P1                                   21/08/2010
00058 !***********************************************************************
00059 !
00060 !
00061 !
00062 !
00063 !
00064 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00065 !| ELTSEG1        |-->| FIRST SEGMENT OF A TRIANGLE
00066 !| ELTSEG2        |-->| SECOND SEGMENT OF A TRIANGLE
00067 !| ELTSEG3        |-->| THIRD SEGMENT OF A TRIANGLE
00068 !| ELTSEG4        |-->| FOURTH SEGMENT OF A QUADRATIC TRIANGLE
00069 !| ELTSEG5        |-->| FIFTH SEGMENT OF A QUADRATIC TRIANGLE
00070 !| ELTSEG6        |-->| SIXTH SEGMENT OF A QUADRATIC TRIANGLE
00071 !| NELEM          |-->| NUMBER OF ELEMENTS IN THE MESH
00072 !| NELMAX         |-->| FIRST DIMENSION OF IKLE AND W.
00073 !| NSEG11         |-->| NUMBER OF SEGMENTS (HERE JOINING LINEAR POINTS)
00074 !| NSEG12         |-->| NUMBER OF SEGMENTS (HERE QUADRATIC)
00075 !| XM             |<--| ASSEMBLED OFF-DIAGONAL TERMS XA12,23,31
00076 !| XMT            |-->| ELEMENT BY ELEMENT STORAGE OF MATRIX
00077 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00078 !
00079       IMPLICIT NONE
00080       INTEGER LNG,LU
00081       COMMON/INFO/LNG,LU
00082 !
00083 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
00084 !
00085       INTEGER         , INTENT(IN)    :: NELMAX,NELEM,NSEG11,NSEG12
00086       INTEGER         , INTENT(IN)    :: ELTSEG1(NELMAX)
00087       INTEGER         , INTENT(IN)    :: ELTSEG2(NELMAX)
00088       INTEGER         , INTENT(IN)    :: ELTSEG3(NELMAX)
00089       INTEGER         , INTENT(IN)    :: ELTSEG4(NELMAX)
00090       INTEGER         , INTENT(IN)    :: ELTSEG5(NELMAX)
00091       INTEGER         , INTENT(IN)    :: ELTSEG6(NELMAX)
00092       DOUBLE PRECISION, INTENT(INOUT) :: XMT(NELMAX,*)
00093       DOUBLE PRECISION, INTENT(INOUT) :: XM(NSEG12)
00094 !
00095 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
00096 !
00097       INTEGER ISEG,IELEM
00098 !
00099 !-----------------------------------------------------------------------
00100 !
00101 !  INITIALISES
00102 !
00103       DO ISEG = 1 , NSEG11
00104         XM(ISEG) = 0.D0
00105       ENDDO
00106 !
00107 !  ASSEMBLES PART P1
00108 !
00109       DO IELEM = 1,NELEM
00110 !       TERM 12
00111         XM(ELTSEG1(IELEM)) = XM(ELTSEG1(IELEM)) + XMT(IELEM,1)
00112 !       TERM 23
00113         XM(ELTSEG2(IELEM)) = XM(ELTSEG2(IELEM)) + XMT(IELEM,4)
00114 !       TERM 31
00115         XM(ELTSEG3(IELEM)) = XM(ELTSEG3(IELEM)) + XMT(IELEM,2)
00116       ENDDO
00117 !
00118 !  ASSEMBLES QUASIBUBBLE PART
00119 !
00120       DO IELEM = 1,NELEM
00121 !       TERM 14
00122         XM(ELTSEG4(IELEM)) = XMT(IELEM,3)
00123 !       TERM 24
00124         XM(ELTSEG5(IELEM)) = XMT(IELEM,5)
00125 !       TERM 34
00126         XM(ELTSEG6(IELEM)) = XMT(IELEM,6)
00127       ENDDO
00128 !
00129 !-----------------------------------------------------------------------
00130 !
00131       RETURN
00132       END

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