mt01bb.f

Go to the documentation of this file.
00001 C:\opentelemac\v7p0\sources\utils\bief\mt01bb.f
00002 !
00052                      SUBROUTINE MT01BB
00053 !                    *****************
00054 !
00055      &( A11 , A12 , A13 , A14 ,
00056      &        A22 , A23 , A24 ,
00057      &              A33 , A34 ,
00058      &                    A44 ,
00059      &  XMUL,SURFAC,NELEM,NELMAX)
00060 !
00061 !***********************************************************************
00062 ! BIEF   V6P1                                   21/08/2010
00063 !***********************************************************************
00064 !
00065 !
00066 !
00067 !
00068 !
00069 !
00070 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00071 !| A11            |<--| ELEMENTS OF MATRIX
00072 !| A12            |<--| ELEMENTS OF MATRIX
00073 !| A13            |<--| ELEMENTS OF MATRIX
00074 !| A14            |<--| ELEMENTS OF MATRIX
00075 !| A22            |<--| ELEMENTS OF MATRIX
00076 !| A23            |<--| ELEMENTS OF MATRIX
00077 !| A24            |<--| ELEMENTS OF MATRIX
00078 !| A33            |<--| ELEMENTS OF MATRIX
00079 !| A34            |<--| ELEMENTS OF MATRIX
00080 !| A44            |<--| ELEMENTS OF MATRIX
00081 !| NELEM          |-->| NUMBER OF ELEMENTS
00082 !| NELMAX         |-->| MAXIMUM NUMBER OF ELEMENTS
00083 !| SURFAC         |-->| AREA OF TRIANGLES
00084 !| XMUL           |-->| MULTIPLICATION FACTOR
00085 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00086 !
00087       USE BIEF, EX_MT01BB => MT01BB
00088 !
00089       IMPLICIT NONE
00090       INTEGER LNG,LU
00091       COMMON/INFO/LNG,LU
00092 !
00093 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
00094 !
00095       INTEGER, INTENT(IN) :: NELEM,NELMAX
00096 !
00097       DOUBLE PRECISION, INTENT(INOUT) :: A11(*),A12(*),A13(*),A14(*)
00098       DOUBLE PRECISION, INTENT(INOUT) ::        A22(*),A23(*),A24(*)
00099       DOUBLE PRECISION, INTENT(INOUT) ::               A33(*),A34(*)
00100       DOUBLE PRECISION, INTENT(INOUT) ::                      A44(*)
00101 !
00102       DOUBLE PRECISION, INTENT(IN) :: XMUL
00103 !
00104       DOUBLE PRECISION, INTENT(IN) :: SURFAC(NELMAX)
00105 !
00106 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
00107 !
00108 !     DECLARATIONS SPECIFIC TO THIS SUBROUTINE
00109 !
00110       INTEGER IELEM
00111       DOUBLE PRECISION XSUR36
00112 !
00113 !=======================================================================
00114 !
00115       XSUR36 = XMUL / 36.D0
00116 !
00117       DO IELEM = 1 , NELEM
00118 !
00119 !  EXTRADIAGONAL TERMS
00120 !
00121         A12(IELEM) =     SURFAC(IELEM)*XSUR36
00122         A13(IELEM) =     A12(IELEM)
00123         A23(IELEM) =     A12(IELEM)
00124         A14(IELEM) = 2 * A12(IELEM)
00125         A24(IELEM) =     A14(IELEM)
00126         A34(IELEM) =     A14(IELEM)
00127 !
00128 !  DIAGONAL TERMS
00129 !
00130         A11(IELEM) = 2 * A14(IELEM)
00131         A22(IELEM) =     A11(IELEM)
00132         A33(IELEM) =     A11(IELEM)
00133         A44(IELEM) = 3 * A14(IELEM)
00134 !
00135       ENDDO ! IELEM
00136 !
00137 !-----------------------------------------------------------------------
00138 !
00139       RETURN
00140       END

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