mt04bb.f

Go to the documentation of this file.
00001 C:\opentelemac\v7p0\sources\utils\bief\mt04bb.f
00002 !
00068                      SUBROUTINE MT04BB
00069 !                    *****************
00070 !
00071      &( A11 , A12 , A13 , A14 ,
00072      &        A22 , A23 , A24 ,
00073      &              A33 , A34 ,
00074      &                    A44 ,
00075      &  XMUL,SU,SV,U,V,XEL,YEL,IKLE1,IKLE2,IKLE3,IKLE4,NELEM,NELMAX)
00076 !
00077 !***********************************************************************
00078 ! BIEF   V6P1                                   21/08/2010
00079 !***********************************************************************
00080 !
00081 !
00082 !
00083 !
00084 !
00085 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00086 !| A11            |<--| ELEMENTS OF MATRIX
00087 !| A12            |<--| ELEMENTS OF MATRIX
00088 !| A13            |<--| ELEMENTS OF MATRIX
00089 !| A14            |<--| ELEMENTS OF MATRIX
00090 !| A22            |<--| ELEMENTS OF MATRIX
00091 !| A23            |<--| ELEMENTS OF MATRIX
00092 !| A24            |<--| ELEMENTS OF MATRIX
00093 !| A33            |<--| ELEMENTS OF MATRIX
00094 !| A34            |<--| ELEMENTS OF MATRIX
00095 !| A44            |<--| ELEMENTS OF MATRIX
00096 !| IKLE1          |-->| FIRST POINTS OF TRIANGLES
00097 !| IKLE2          |-->| SECOND POINTS OF TRIANGLES
00098 !| IKLE3          |-->| THIRD POINTS OF TRIANGLES
00099 !| IKLE4          |-->| QUASI-BUBBLE POINT
00100 !| NELEM          |-->| NUMBER OF ELEMENTS
00101 !| NELMAX         |-->| MAXIMUM NUMBER OF ELEMENTS
00102 !| SU             |-->| BIEF_OBJ STRUCTURE OF U
00103 !| SURFAC         |-->| AREA OF TRIANGLES
00104 !| SV             |-->| BIEF_OBJ STRUCTURE OF V
00105 !| U              |-->| FUNCTION U USED IN THE FORMULA
00106 !| V              |-->| FUNCTION V USED IN THE FORMULA
00107 !| XEL            |-->| ABSCISSAE OF POINTS IN THE MESH, PER ELEMENT
00108 !| YEL            |-->| ORDINATES OF POINTS IN THE MESH, PER ELEMENT
00109 !| XMUL           |-->| MULTIPLICATION FACTOR
00110 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00111 !
00112       USE BIEF, EX_MT04BB => MT04BB
00113 !
00114       IMPLICIT NONE
00115       INTEGER LNG,LU
00116       COMMON/INFO/LNG,LU
00117 !
00118 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
00119 !
00120       INTEGER, INTENT(IN) :: NELEM,NELMAX
00121       INTEGER, INTENT(IN) :: IKLE1(NELMAX),IKLE2(NELMAX)
00122       INTEGER, INTENT(IN) :: IKLE3(NELMAX),IKLE4(NELMAX)
00123 !
00124       DOUBLE PRECISION, INTENT(INOUT) :: A11(*),A12(*),A13(*),A14(*)
00125       DOUBLE PRECISION, INTENT(INOUT) ::        A22(*),A23(*),A24(*)
00126       DOUBLE PRECISION, INTENT(INOUT) ::               A33(*),A34(*)
00127       DOUBLE PRECISION, INTENT(INOUT) ::                      A44(*)
00128 !
00129       DOUBLE PRECISION, INTENT(IN) :: XMUL
00130       DOUBLE PRECISION, INTENT(IN) :: U(*),V(*)
00131 !
00132 !     STRUCTURES OF      U, V
00133       TYPE(BIEF_OBJ), INTENT(IN) :: SU,SV
00134 !
00135       DOUBLE PRECISION, INTENT(IN) :: XEL(NELMAX,3),YEL(NELMAX,3)
00136 !
00137 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
00138 !
00139 !     DECLARATIONS SPECIFIC TO THIS SUBROUTINE
00140 !
00141       INTEGER IELMU,IELMV,IELEM
00142 !
00143       DOUBLE PRECISION X2,X3,Y2,Y3,ANS1,ANS2
00144       DOUBLE PRECISION U1,U2,U3,U4
00145       DOUBLE PRECISION V1,V2,V3,V4
00146 !
00147 !=======================================================================
00148 !
00149 !     EXTRACTS THE TYPE OF ELEMENT FOR VELOCITY
00150 !
00151       IELMU = SU%ELM
00152       IELMV = SV%ELM
00153 !
00154 !-----------------------------------------------------------------------
00155 !
00156       IF(IELMU.EQ.11.AND.IELMV.EQ.11) THEN
00157 !
00158 !-----------------------------------------------------------------------
00159 !
00160 !  P1 DISCRETISATION OF THE VELOCITY:
00161 !
00162       DO IELEM = 1 , NELEM
00163 !
00164 !   INITIALISES THE GEOMETRICAL VARIABLES
00165 !
00166         X2  =  XEL(IELEM,2)
00167         X3  =  XEL(IELEM,3)
00168 !
00169         Y2  =  YEL(IELEM,2)
00170         Y3  =  YEL(IELEM,3)
00171 !
00172         U1 = U(IKLE1(IELEM))
00173         U2 = U(IKLE2(IELEM))
00174         U3 = U(IKLE3(IELEM))
00175         V1 = V(IKLE1(IELEM))
00176         V2 = V(IKLE2(IELEM))
00177         V3 = V(IKLE3(IELEM))
00178 !
00179 !
00180 !   INITIALISES THE INTERMEDIATE VARIABLES
00181 !
00182 !
00183 !  COMPUTES 6 OF THE 16 TERMS (SELECTED AMONG THE LEAST COMPLEX)
00184 !
00185         A11(IELEM)=
00186      &  (X2**2*(17*V3**2+25*V3*V2+37*V3*V1+53*V2**2
00187      &  +73*V2*V1+65*V1**2)+8*X2*X3*(-7*V3**2-5*V3*V2-11*V3
00188      &  *V1-7*V2**2-11*V2*V1-13*V1**2)+X2*Y2*(-34*V3*U3-25*
00189      &  V3*U2-37*V3*U1-25*V2*U3-106*V2*U2-73*V2*U1-37*V1*U3-
00190      &  73*V1*U2-130*V1*U1)+4*X2*Y3*(14*V3*U3+5*V3*U2+11*V3*
00191      &  U1+5*V2*U3+14*V2*U2+11*V2*U1+11*V1*U3+11*V1*U2+26*
00192      &  V1*U1)+X3**2*(53*V3**2+25*V3*V2+73*V3*V1+17*V2**2+37
00193      &  *V2*V1+65*V1**2)+4*X3*Y2*(14*V3*U3+5*V3*U2+11*V3*U1+
00194      &  5*V2*U3+14*V2*U2+11*V2*U1+11*V1*U3+11*V1*U2+26*V1*U1
00195      &  )+X3*Y3*(-106*V3*U3-25*V3*U2-73*V3*U1-25*V2*U3-34*V2
00196      &  *U2-37*V2*U1-73*V1*U3-37*V1*U2-130*V1*U1)+Y2**2*(17*
00197      &  U3**2+25*U3*U2+37*U3*U1+53*U2**2+73*U2*U1+65*U1**2)+
00198      &  8*Y2*Y3*(-7*U3**2-5*U3*U2-11*U3*U1-7*U2**2-11*U2*U1-
00199      &  13*U1**2)+Y3**2*(53*U3**2+25*U3*U2+73*U3*U1+17*U2**2+
00200      &  37*U2*U1+65*U1**2))*XMUL/(324*(X2*Y3-X3*Y2))
00201 !
00202         A12(IELEM)=
00203      &  (4*X2**2*(5*(V2+V1)*V3+V3**2+13*V2**2+17*V2
00204      &  *V1+13*V1**2)+X2*(2*(5*(V2+V1)*V3+V3**2+13*V2**2+17*
00205      &  V2*V1+13*V1**2)*X3-(5*U3+26*U2+17*U1)*(Y3+4*Y2)*V2-(
00206      &  5*U3+17*U2+26*U1)*(Y3+4*Y2)*V1-(2*U3+5*U2+5*U1)*(Y3
00207      &  +4*Y2)*V3)-2*X3**2*(5*(V2+V1)*V3+V3**2+13*V2**2+17*
00208      &  V2*V1+13*V1**2)+X3*((5*U3+26*U2+17*U1)*V2+(5*U3+17*
00209      &  U2+26*U1)*V1+(2*U3+5*U2+5*U1)*V3)*(2*Y3-Y2)+2*(Y3+
00210      &  Y2)*(Y3-2*Y2)*(-5*(U2+U1)*U3-U3**2-13*U2**2-17*U2*U1-
00211      &  13*U1**2))*XMUL/(648*(X2*Y3-X3*Y2))
00212 !
00213         A13(IELEM)=
00214      &  (-2*X2**2*((5*V2+17*V1)*V3+13*V3**2+V2**2+
00215      &  5*V2*V1+13*V1**2)+X2*(2*((5*V2+17*V1)*V3+13*V3**2+V2
00216      &  **2+5*V2*V1+13*V1**2)*X3-(26*U3+5*U2+17*U1)*(Y3-2*
00217      &  Y2)*V3-(17*U3+5*U2+26*U1)*(Y3-2*Y2)*V1-(5*U3+2*U2+
00218      &  5*U1)*(Y3-2*Y2)*V2)+4*X3**2*((5*V2+17*V1)*V3+13*V3**
00219      &  2+V2**2+5*V2*V1+13*V1**2)-X3*((26*U3+5*U2+17*U1)*V3+
00220      &  (17*U3+5*U2+26*U1)*V1+(5*U3+2*U2+5*U1)*V2)*(4*Y3+
00221      &  Y2)+2*(2*Y3-Y2)*(Y3+Y2)*((5*U2+17*U1)*U3+13*U3**2+U2
00222      &  **2+5*U2*U1+13*U1**2))*XMUL/(648*(X2*Y3-X3*Y2))
00223 !
00224         A22(IELEM)=
00225      &  (2*X2**2*(7*V3**2+11*V3*V2+5*V3*V1+13*V2**
00226      &  2+11*V2*V1+7*V1**2)+2*X2*X3*(-25*V3**2-29*V3*V2-5*
00227      &  V3*V1-13*V2**2+7*V2*V1+11*V1**2)+2*X2*Y2*(-14*V3*U3-
00228      &  11*V3*U2-5*V3*U1-11*V2*U3-26*V2*U2-11*V2*U1-5*V1*U3-
00229      &  11*V1*U2-14*V1*U1)+X2*Y3*(50*V3*U3+29*V3*U2+5*V3*U1+
00230      &  29*V2*U3+26*V2*U2-7*V2*U1+5*V1*U3-7*V1*U2-22*V1*U1)+
00231      &  X3**2*(53*V3**2+73*V3*V2+25*V3*V1+65*V2**2+37*V2*V1+
00232      &  17*V1**2)+X3*Y2*(50*V3*U3+29*V3*U2+5*V3*U1+29*V2*U3+
00233      &  26*V2*U2-7*V2*U1+5*V1*U3-7*V1*U2-22*V1*U1)+X3*Y3*(-
00234      &  106*V3*U3-73*V3*U2-25*V3*U1-73*V2*U3-130*V2*U2-37*V2
00235      &  *U1-25*V1*U3-37*V1*U2-34*V1*U1)+2*Y2**2*(7*U3**2+11
00236      &  *U3*U2+5*U3*U1+13*U2**2+11*U2*U1+7*U1**2)+2*Y2*Y3*(-
00237      &  25*U3**2-29*U3*U2-5*U3*U1-13*U2**2+7*U2*U1+11*U1**2)
00238      &  +Y3**2*(53*U3**2+73*U3*U2+25*U3*U1+65*U2**2+37*U2*U1
00239      &  +17*U1**2))*XMUL/(324*(X2*Y3-X3*Y2))
00240 !
00241         A23(IELEM)=
00242      &  (-((10*((17*V2+5*V1)*V3+13*V3**2+13*V2**2+
00243      &  5*V2*V1+V1**2)*X3-(26*U3+17*U2+5*U1)*(5*Y3-4*Y2)*V3-
00244      &  (17*U3+26*U2+5*U1)*(5*Y3-4*Y2)*V2-(5*U3+5*U2+2*U1
00245      &  )*(5*Y3-4*Y2)*V1)*X2-4*((17*V2+5*V1)*V3+13*V3**2+
00246      &  13*V2**2+5*V2*V1+V1**2)*X2**2-4*((17*V2+5*V1)*V3+13*
00247      &  V3**2+13*V2**2+5*V2*V1+V1**2)*X3**2+((26*U3+17*U2+5*
00248      &  U1)*V3+(17*U3+26*U2+5*U1)*V2+(5*U3+5*U2+2*U1)*V1)*(
00249      &  4*Y3-5*Y2)*X3-2*(17*U2+5*U1)*(2*Y3-Y2)*(Y3-2*Y2)*U3
00250      &  -26*(2*Y3-Y2)*(Y3-2*Y2)*U3**2-26*(2*Y3-Y2)*(Y3-2*Y2
00251      &  )*U2**2-10*(2*Y3-Y2)*(Y3-2*Y2)*U2*U1-2*(2*Y3-Y2)*(Y3
00252      &  -2*Y2)*U1**2))*XMUL/(648*(X2*Y3-X3*Y2))
00253 !
00254         A33(IELEM)=
00255      &  (X2**2*(65*V3**2+73*V3*V2+37*V3*V1+53*V2**2
00256      &  +25*V2*V1+17*V1**2)+2*X2*X3*(-13*V3**2-29*V3*V2+7*
00257      &  V3*V1-25*V2**2-5*V2*V1+11*V1**2)+X2*Y2*(-130*V3*U3-
00258      &  73*V3*U2-37*V3*U1-73*V2*U3-106*V2*U2-25*V2*U1-37*V1*
00259      &  U3-25*V1*U2-34*V1*U1)+X2*Y3*(26*V3*U3+29*V3*U2-7*V3*
00260      &  U1+29*V2*U3+50*V2*U2+5*V2*U1-7*V1*U3+5*V1*U2-22*V1*
00261      &  U1)+2*X3**2*(13*V3**2+11*V3*V2+11*V3*V1+7*V2**2+5*
00262      &  V2*V1+7*V1**2)+X3*Y2*(26*V3*U3+29*V3*U2-7*V3*U1+29*
00263      &  V2*U3+50*V2*U2+5*V2*U1-7*V1*U3+5*V1*U2-22*V1*U1)+2*
00264      &  X3*Y3*(-26*V3*U3-11*V3*U2-11*V3*U1-11*V2*U3-14*V2*U2
00265      &  -5*V2*U1-11*V1*U3-5*V1*U2-14*V1*U1)+Y2**2*(65*U3**2+
00266      &  73*U3*U2+37*U3*U1+53*U2**2+25*U2*U1+17*U1**2)+2*Y2*
00267      &  Y3*(-13*U3**2-29*U3*U2+7*U3*U1-25*U2**2-5*U2*U1+11*
00268      &  U1**2)+2*Y3**2*(13*U3**2+11*U3*U2+11*U3*U1+7*U2**2+
00269      &  5*U2*U1+7*U1**2))*XMUL/(324*(X2*Y3-X3*Y2))
00270 !
00271 !
00272 ! USES HERE THE 'MAGIC SQUARE' PROPERTIES
00273 ! (SUM OF EACH LINE = SUM OF EACH COLUMN = 0)
00274 !
00275         A14(IELEM) = - A11(IELEM) - A12(IELEM) - A13(IELEM)
00276 !
00277         A24(IELEM) = - A12(IELEM) - A22(IELEM) - A23(IELEM)
00278 !
00279         A34(IELEM) = - A13(IELEM) - A23(IELEM) - A33(IELEM)
00280 !
00281         A44(IELEM) = - A14(IELEM) - A24(IELEM) - A34(IELEM)
00282 !
00283       ENDDO ! IELEM
00284 !
00285 !-----------------------------------------------------------------------
00286 !
00287       ELSEIF(IELMU.EQ.12.AND.IELMV.EQ.12) THEN
00288 !
00289 !-----------------------------------------------------------------------
00290 !
00291 !  QUASI-BUBBLE DISCRETISATION OF THE VELOCITY:
00292 !
00293       DO IELEM = 1 , NELEM
00294 !
00295 !   INITIALISES THE GEOMETRICAL VARIABLES
00296 !
00297         X2  =  XEL(IELEM,2)
00298         X3  =  XEL(IELEM,3)
00299 !
00300         Y2  =  YEL(IELEM,2)
00301         Y3  =  YEL(IELEM,3)
00302 !
00303         U1 = U(IKLE1(IELEM))
00304         U2 = U(IKLE2(IELEM))
00305         U3 = U(IKLE3(IELEM))
00306         U4 = U(IKLE4(IELEM))
00307         V1 = V(IKLE1(IELEM))
00308         V2 = V(IKLE2(IELEM))
00309         V3 = V(IKLE3(IELEM))
00310         V4 = V(IKLE4(IELEM))
00311 !
00312 !   INITIALISES THE INTERMEDIATE VARIABLES
00313 !
00314 !
00315 !  COMPUTES 6 OF THE 16 TERMS (SELECTED AMONG THE LEAST COMPLEX)
00316 !
00317         A12(IELEM)=
00318      &    ((2*((V2+V1)*V4+V4**2+V2**2+V2*V1+V1**2)*X3-(
00319      &    2*U4+U2+U1)*(Y3+4*Y2)*V4-(U4+2*U2+U1)*(Y3+4*Y2)*V2-(U4
00320      &    +U2+2*U1)*(Y3+4*Y2)*V1)*X2+2*((V2+V1)*V4+V4**2+V2**2+
00321      &    V2*V1+V1**2)*(2*X2**2-X3**2)+((2*U4+U2+U1)*V4+(U4+2*U2
00322      &    +U1)*V2+(U4+U2+2*U1)*V1)*(2*Y3-Y2)*X3-2*(U4**2+U2**2+
00323      &    U2*U1+U1**2)*(Y3+Y2)*(Y3-2*Y2)-2*(U2+U1)*(Y3+Y2)*(Y3-2
00324      &    *Y2)*U4)*XMUL/(72*(X2*Y3-X3*Y2))
00325 !
00326         A13(IELEM)=
00327      &  (-(2*X2**2)*(V3**2+V3*V4+V3*V1+V4**2+V4*V1+V1
00328      &  **2)+2*X2*X3*(V3**2+V3*V4+V3*V1+V4**2+V4*V1+V1**2)+2*X2
00329      &  *Y2*(2*V3*U3+V3*U4+V3*U1+V4*U3+2*V4*U4+V4*U1+V1*U3+V1*
00330      &  U4+2*V1*U1)+X2*Y3*(-2*V3*U3-V3*U4-V3*U1-V4*U3-2*V4*U4-
00331      &  V4*U1-V1*U3-V1*U4-2*V1*U1)+4*X3**2*(V3**2+V3*V4+V3*V1+
00332      &  V4**2+V4*V1+V1**2)+X3*Y2*(-2*V3*U3-V3*U4-V3*U1-V4*U3-2*
00333      &  V4*U4-V4*U1-V1*U3-V1*U4-2*V1*U1)+4*X3*Y3*(-2*V3*U3-V3*
00334      &  U4-V3*U1-V4*U3-2*V4*U4-V4*U1-V1*U3-V1*U4-2*V1*U1)-(2*
00335      &  Y2**2)*(U3**2+U3*U4+U3*U1+U4**2+U4*U1+U1**2)+2*Y2*Y3*(U3
00336      &  **2+U3*U4+U3*U1+U4**2+U4*U1+U1**2)+4*Y3**2*(U3**2+U3*U4+
00337      &  U3*U1+U4**2+U4*U1+U1**2))*XMUL/(72*X2*Y3-72*X3*Y2)
00338 !
00339         A14(IELEM)=
00340      &  (-(4*X2**2)*(V4**2+V4*V2+V4*V1+V2**2+V2*V1+V1
00341      &  **2)+2*X2*X3*(V3**2+V3*V4+V3*V1+2*V4**2+V4*V2+2*V4*V1+
00342      &  V2**2+V2*V1+2*V1**2)+4*X2*Y2*(2*V4*U4+V4*U2+V4*U1+V2*
00343      &  U4+2*V2*U2+V2*U1+V1*U4+V1*U2+2*V1*U1)+X2*Y3*(-2*V3*U3-
00344      &  V3*U4-V3*U1-V4*U3-4*V4*U4-V4*U2-2*V4*U1-V2*U4-2*V2*U2-
00345      &  V2*U1-V1*U3-2*V1*U4-V1*U2-4*V1*U1)-(4*X3**2)*(V3**2+V3
00346      &  *V4+V3*V1+V4**2+V4*V1+V1**2)+X3*Y2*(-2*V3*U3-V3*U4-V3*U1
00347      &  -V4*U3-4*V4*U4-V4*U2-2*V4*U1-V2*U4-2*V2*U2-V2*U1-V1*U3
00348      &  -2*V1*U4-V1*U2-4*V1*U1)+4*X3*Y3*(2*V3*U3+V3*U4+V3*U1+
00349      &  V4*U3+2*V4*U4+V4*U1+V1*U3+V1*U4+2*V1*U1)-(4*Y2**2)*(U4
00350      &  **2+U4*U2+U4*U1+U2**2+U2*U1+U1**2)+2*Y2*Y3*(U3**2+U3*U4+
00351      &  U3*U1+2*U4**2+U4*U2+2*U4*U1+U2**2+U2*U1+2*U1**2)-(4*
00352      &  Y3**2)*(U3**2+U3*U4+U3*U1+U4**2+U4*U1+U1**2))
00353      &  *XMUL/(24*X2*Y3-24*X3*Y2)
00354 !
00355       A23(IELEM)=
00356      &  (-((10*((V4+V2)*V3+V3**2+V4**2+V4*V2+V2**2)*X3
00357      &  -(2*U3+U4+U2)*(5*Y3-4*Y2)*V3-(U3+2*U4+U2)*(5*Y3-4*
00358      &  Y2)*V4-(U3+U4+2*U2)*(5*Y3-4*Y2)*V2)*X2-4*((V4+V2)*V3+
00359      &  V3**2+V4**2+V4*V2+V2**2)*X2**2-4*((V4+V2)*V3+V3**2+V4**2
00360      &  +V4*V2+V2**2)*X3**2+((2*U3+U4+U2)*V3+(U3+2*U4+U2)*V4+(
00361      &  U3+U4+2*U2)*V2)*(4*Y3-5*Y2)*X3-2*(U4+U2)*(2*Y3-Y2)*(
00362      &  Y3-2*Y2)*U3-2*(2*Y3-Y2)*(Y3-2*Y2)*U3**2-2*(2*Y3-Y2)
00363      &  *(Y3-2*Y2)*U4**2-2*(2*Y3-Y2)*(Y3-2*Y2)*U4*U2-2*(2*
00364      &  Y3-Y2)*(Y3-2*Y2)*U2**2))*XMUL/(72*(X2*Y3-X3*Y2))
00365 !
00366       ANS2=-(4*Y3**2)*(U3**2+U3*U4+U3*U2+U4**2+U4*U2+U2**2)
00367 !
00368       ANS1=2*X2**2*(-V3**2-V3*V4-V3*V2-2*V4**2-2*V4*V2-V4*V1-
00369      & 2*V2**2-V2*V1-V1**2)+2*X2*X3*(3*V3**2+3*V3*V4+3*V3*V2
00370      & +2*V4**2+2*V4*V2-V4*V1+2*V2**2-V2*V1-V1**2)+2*X2*Y2*(
00371      & 2*V3*U3+V3*U4+V3*U2+V4*U3+4*V4*U4+2*V4*U2+V4*U1+V2*U3+
00372      & 2*V2*U4+4*V2*U2+V2*U1+V1*U4+V1*U2+2*V1*U1)+X2*Y3*(-6*
00373      & V3*U3-3*V3*U4-3*V3*U2-3*V4*U3-4*V4*U4-2*V4*U2+V4*U1-
00374      & 3*V2*U3-2*V2*U4-4*V2*U2+V2*U1+V1*U4+V1*U2+2*V1*U1)-(4
00375      & *X3**2)*(V3**2+V3*V4+V3*V2+V4**2+V4*V2+V2**2)+X3*Y2*(-6*
00376      & V3*U3-3*V3*U4-3*V3*U2-3*V4*U3-4*V4*U4-2*V4*U2+V4*U1-
00377      & 3*V2*U3-2*V2*U4-4*V2*U2+V2*U1+V1*U4+V1*U2+2*V1*U1)+4*
00378      & X3*Y3*(2*V3*U3+V3*U4+V3*U2+V4*U3+2*V4*U4+V4*U2+V2*U3+V2
00379      & *U4+2*V2*U2)+2*Y2**2*(-U3**2-U3*U4-U3*U2-2*U4**2-2*U4
00380      & *U2-U4*U1-2*U2**2-U2*U1-U1**2)+2*Y2*Y3*(3*U3**2+3*U3*
00381      & U4+3*U3*U2+2*U4**2+2*U4*U2-U4*U1+2*U2**2-U2*U1-U1**2)
00382      & +ANS2
00383 !
00384         A24(IELEM)= ANS1*XMUL/(24*X2*Y3-24*X3*Y2)
00385 !
00386       ANS2=2*Y3**2*(-2*U3**2-2*U3*U4-U3*U2-U3*U1-2*U4**2-U4*
00387      & U2-U4*U1-U2**2-U1**2)
00388 !
00389       ANS1=-(4*X2**2)*(V3**2+V3*V4+V3*V2+V4**2+V4*V2+V2**2)+2*
00390      & X2*X3*(2*V3**2+2*V3*V4+3*V3*V2-V3*V1+2*V4**2+3*V4*V2
00391      & -V4*V1+3*V2**2-V1**2)+4*X2*Y2*(2*V3*U3+V3*U4+V3*U2+V4*
00392      & U3+2*V4*U4+V4*U2+V2*U3+V2*U4+2*V2*U2)+X2*Y3*(-4*V3*U3-
00393      & 2*V3*U4-3*V3*U2+V3*U1-2*V4*U3-4*V4*U4-3*V4*U2+V4*U1-
00394      & 3*V2*U3-3*V2*U4-6*V2*U2+V1*U3+V1*U4+2*V1*U1)+2*X3**2*
00395      & (-2*V3**2-2*V3*V4-V3*V2-V3*V1-2*V4**2-V4*V2-V4*V1-V2**
00396      & 2-V1**2)+X3*Y2*(-4*V3*U3-2*V3*U4-3*V3*U2+V3*U1-2*V4*
00397      & U3-4*V4*U4-3*V4*U2+V4*U1-3*V2*U3-3*V2*U4-6*V2*U2+V1*
00398      & U3+V1*U4+2*V1*U1)+2*X3*Y3*(4*V3*U3+2*V3*U4+V3*U2+V3*
00399      & U1+2*V4*U3+4*V4*U4+V4*U2+V4*U1+V2*U3+V2*U4+2*V2*U2+V1*
00400      & U3+V1*U4+2*V1*U1)-(4*Y2**2)*(U3**2+U3*U4+U3*U2+U4**2+U4
00401      & *U2+U2**2)+2*Y2*Y3*(2*U3**2+2*U3*U4+3*U3*U2-U3*U1+2*
00402      & U4**2+3*U4*U2-U4*U1+3*U2**2-U1**2)+ANS2
00403 !
00404         A34(IELEM)=ANS1*XMUL/(24*X2*Y3-24*X3*Y2)
00405 !
00406 !
00407 ! USES HERE THE 'MAGIC SQUARE' PROPERTIES TO GET THE DIAGONAL TERMS
00408 ! (SUM OF EACH LINE = SUM OF EACH COLUMN = 0)
00409 !
00410         A11(IELEM) = - A12(IELEM) - A13(IELEM) - A14(IELEM)
00411 !
00412         A22(IELEM) = - A12(IELEM) - A23(IELEM) - A24(IELEM)
00413 !
00414         A33(IELEM) = - A13(IELEM) - A23(IELEM) - A34(IELEM)
00415 !
00416         A44(IELEM) = - A14(IELEM) - A24(IELEM) - A34(IELEM)
00417 !
00418       ENDDO ! IELEM
00419 !
00420 !-----------------------------------------------------------------------
00421 !
00422       ELSE
00423         IF(IELMU.EQ.IELMV) THEN
00424         IF (LNG.EQ.1) WRITE(LU,100) IELMU
00425         IF (LNG.EQ.2) WRITE(LU,101) IELMU
00426 100     FORMAT(1X,'MT04BB (BIEF) :',/,
00427      &         1X,'DISCRETISATION DE U ET V : ',1I6,' NON PREVUE')
00428 101     FORMAT(1X,'MT04BB (BIEF) :',/,
00429      &         1X,'DISCRETIZATION OF U AND V : ',1I6,' NOT AVAILABLE')
00430         ELSE
00431         IF (LNG.EQ.1) WRITE(LU,200) IELMU,IELMV
00432         IF (LNG.EQ.2) WRITE(LU,201) IELMU,IELMV
00433 200     FORMAT(1X,'MT04BB (BIEF) :',/,
00434      &         1X,'U ET V DE DISCRETISATIONS DIFFERENTES :',1I6,3X,1I6)
00435 201     FORMAT(1X,'MT04BB (BIEF) :',/,
00436      &         1X,'U AND V OF A DIFFERENT DISCRETISATION:',1I6,3X,1I6)
00437         ENDIF
00438 !
00439         CALL PLANTE(0)
00440         STOP
00441 !
00442       ENDIF
00443 !
00444 !-----------------------------------------------------------------------
00445 !
00446       RETURN
00447       END

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