mt05bb.f

Go to the documentation of this file.
00001 C:\opentelemac\v7p0\sources\utils\bief\mt05bb.f
00002 !
00065                      SUBROUTINE MT05BB
00066 !                    *****************
00067 !
00068      &( A11 , A12 , A13 , A14 ,
00069      &  A21 , A22 , A23 , A24 ,
00070      &  A31 , A32 , A33 , A34 ,
00071      &  A41 , A42 , A43 , A44 ,
00072      &  XMUL,SU,SV,U,V,
00073      &  XEL,YEL,IKLE1,IKLE2,IKLE3,IKLE4,NELEM,NELMAX,FORMUL)
00074 !
00075 !***********************************************************************
00076 ! BIEF   V6P1                                   21/08/2010
00077 !***********************************************************************
00078 !
00079 !
00080 !
00081 !
00082 !
00083 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00084 !| A11            |<--| ELEMENTS OF MATRIX
00085 !| A12            |<--| ELEMENTS OF MATRIX
00086 !| A13            |<--| ELEMENTS OF MATRIX
00087 !| A14            |<--| ELEMENTS OF MATRIX
00088 !| A21            |<--| ELEMENTS OF MATRIX
00089 !| A22            |<--| ELEMENTS OF MATRIX
00090 !| A23            |<--| ELEMENTS OF MATRIX
00091 !| A24            |<--| ELEMENTS OF MATRIX
00092 !| A31            |<--| ELEMENTS OF MATRIX
00093 !| A32            |<--| ELEMENTS OF MATRIX
00094 !| A33            |<--| ELEMENTS OF MATRIX
00095 !| A34            |<--| ELEMENTS OF MATRIX
00096 !| A41            |<--| ELEMENTS OF MATRIX
00097 !| A42            |<--| ELEMENTS OF MATRIX
00098 !| A43            |<--| ELEMENTS OF MATRIX
00099 !| A44            |<--| ELEMENTS OF MATRIX
00100 !| FORMUL         |-->| FORMULA DESCRIBING THE RESULTING MATRIX
00101 !| IKLE1          |-->| FIRST POINTS OF TRIANGLES
00102 !| IKLE2          |-->| SECOND POINTS OF TRIANGLES
00103 !| IKLE3          |-->| THIRD POINTS OF TRIANGLES
00104 !| IKLE4          |-->| QUASI-BUBBLE POINT
00105 !| NELEM          |-->| NUMBER OF ELEMENTS
00106 !| NELMAX         |-->| MAXIMUM NUMBER OF ELEMENTS
00107 !| SU             |-->| BIEF_OBJ STRUCTURE OF U
00108 !| SURFAC         |-->| AREA OF TRIANGLES
00109 !| SV             |-->| BIEF_OBJ STRUCTURE OF V
00110 !| U              |-->| FUNCTION U USED IN THE FORMULA
00111 !| V              |-->| FUNCTION V USED IN THE FORMULA
00112 !| XEL            |-->| ABSCISSAE OF POINTS IN THE MESH, PER ELEMENT
00113 !| YEL            |-->| ORDINATES OF POINTS IN THE MESH, PER ELEMENT
00114 !| XMUL           |-->| MULTIPLICATION FACTOR
00115 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00116 !
00117       USE BIEF, EX_MT05BB => MT05BB
00118 !
00119       IMPLICIT NONE
00120       INTEGER LNG,LU
00121       COMMON/INFO/LNG,LU
00122 !
00123 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
00124 !
00125       INTEGER, INTENT(IN) :: NELEM,NELMAX
00126       INTEGER, INTENT(IN) :: IKLE1(NELMAX),IKLE2(NELMAX)
00127       INTEGER, INTENT(IN) :: IKLE3(NELMAX),IKLE4(NELMAX)
00128 !
00129       DOUBLE PRECISION, INTENT(INOUT) :: A11(*),A12(*),A13(*),A14(*)
00130       DOUBLE PRECISION, INTENT(INOUT) :: A21(*),A22(*),A23(*),A24(*)
00131       DOUBLE PRECISION, INTENT(INOUT) :: A31(*),A32(*),A33(*),A34(*)
00132       DOUBLE PRECISION, INTENT(INOUT) :: A41(*),A42(*),A43(*),A44(*)
00133 !
00134       DOUBLE PRECISION, INTENT(IN) :: XMUL
00135       DOUBLE PRECISION, INTENT(IN) :: U(*),V(*)
00136 !
00137 !     STRUCTURES OF      U, V
00138       TYPE(BIEF_OBJ), INTENT(IN) :: SU,SV
00139 !
00140       DOUBLE PRECISION, INTENT(IN) :: XEL(NELMAX,3),YEL(NELMAX,3)
00141 !
00142       CHARACTER(LEN=16) :: FORMUL
00143 !
00144 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
00145 !
00146       DOUBLE PRECISION XSUR6,TIERS
00147       DOUBLE PRECISION K1T1,K2T1,K3T1,US2T1,VS2T1
00148       DOUBLE PRECISION L12T1,L13T1,L21T1,L23T1,L31T1,L32T1
00149       DOUBLE PRECISION K1T2,K2T2,K3T2,US2T2,VS2T2
00150       DOUBLE PRECISION L12T2,L13T2,L21T2,L23T2,L31T2,L32T2
00151       DOUBLE PRECISION K1T3,K2T3,K3T3,US2T3,VS2T3
00152       DOUBLE PRECISION L12T3,L13T3,L21T3,L23T3,L31T3,L32T3
00153 !
00154 !-----------------------------------------------------------------------
00155 !
00156 !     DECLARATIONS SPECIFIC TO THIS SUBROUTINE
00157 !
00158       INTEGER IELEM,IELMU,IELMV
00159 !
00160       DOUBLE PRECISION X2,X3,X4,Y2,Y3,Y4,U1,U2,U3,U4,V1,V2,V3,V4
00161       DOUBLE PRECISION XSU216,XSUR72,XSUR24
00162       DOUBLE PRECISION X1T1,X2T1,X3T1,Y1T1,Y2T1,Y3T1
00163       DOUBLE PRECISION X1T2,X2T2,X3T2,Y1T2,Y2T2,Y3T2
00164       DOUBLE PRECISION X1T3,X2T3,X3T3,Y1T3,Y2T3,Y3T3
00165 !
00166 !=======================================================================
00167 !
00168 !     EXTRACTS THE TYPE OF ELEMENT FOR VELOCITY
00169 !
00170       IELMU = SU%ELM
00171       IELMV = SV%ELM
00172 !
00173 !-----------------------------------------------------------------------
00174 !
00175       TIERS  = 1.D0 /   6.D0
00176       XSUR6  = XMUL /   6.D0
00177       XSU216 = XMUL / 216.D0
00178       XSUR72 = XMUL /  72.D0
00179       XSUR24 = XMUL /  24.D0
00180 !
00181 !-----------------------------------------------------------------------
00182 !
00183 !     CASE WHERE U AND V ARE CONSTANT BY ELEMENT
00184 !
00185       IF(IELMU.EQ.10.AND.IELMV.EQ.10) THEN
00186 !
00187 !-----------------------------------------------------------------------
00188 !
00189 !  P1 DISCRETISATION OF THE VELOCITY:
00190 !
00191       DO IELEM = 1 , NELEM
00192 !
00193 !   INITIALISES THE GEOMETRICAL VARIABLES
00194 !
00195         X2  =  XEL(IELEM,2)
00196         X3  =  XEL(IELEM,3)
00197 !
00198         Y2  =  YEL(IELEM,2)
00199         Y3  =  YEL(IELEM,3)
00200 !
00201         U1 = U(IELEM)
00202         U2 = U(IELEM)
00203         U3 = U(IELEM)
00204         V1 = V(IELEM)
00205         V2 = V(IELEM)
00206         V3 = V(IELEM)
00207 !
00208 !  EXTRADIAGONAL TERMS
00209 !
00210         A12(IELEM)= (X2*(-V3-4*V2-7*V1)+X3*(-V3-4*V2-7*V1)+Y2*(
00211      &              U3+4*U2+7*U1)+Y3*(U3+4*U2+7*U1))*XSU216
00212 !
00213         A13(IELEM)= (X2*(4*V3+V2+7*V1)+X3*(4*V3+V2+7*V1)+Y2*(-
00214      &              4*U3-U2-7*U1)+Y3*(-4*U3-U2-7*U1))*XSU216
00215 !
00216         A14(IELEM)= (X2*(V3+4*V2+7*V1)+X3*(-4*V3-V2-7*V1)+Y2*(-
00217      &              U3-4*U2-7*U1)+Y3*(4*U3+U2+7*U1))*XSUR72
00218 !
00219         A21(IELEM)= (2*X2*(-V3-7*V2-4*V1)+X3*(V3+7*V2+4*V1)+2
00220      &              *Y2*(U3+7*U2+4*U1)+Y3*(-U3-7*U2-4*U1))*XSU216
00221 !
00222         A23(IELEM)= (2*X2*(4*V3+7*V2+V1)+X3*(-4*V3-7*V2-V1)+2
00223      &              *Y2*(-4*U3-7*U2-U1)+Y3*(4*U3+7*U2+U1))*XSU216
00224 !
00225         A24(IELEM)= (3*X2*(-V3+V1)+X3*(4*V3+7*V2+V1)+3*Y2*(U3-
00226      &              U1)+Y3*(-4*U3-7*U2-U1))*XSUR72
00227 !
00228         A31(IELEM)= (X2*(-7*V3-V2-4*V1)+2*X3*(7*V3+V2+4*V1)+Y2
00229      &              *(7*U3+U2+4*U1)+2*Y3*(-7*U3-U2-4*U1))*XSU216
00230 !
00231         A32(IELEM)= (X2*(7*V3+4*V2+V1)+2*X3*(-7*V3-4*V2-V1)+Y2
00232      &              *(-7*U3-4*U2-U1)+2*Y3*(7*U3+4*U2+U1))*XSU216
00233 !
00234         A34(IELEM)= (X2*(-7*V3-4*V2-V1)+3*X3*(V2-V1)+Y2*(7*U3+
00235      &              4*U2+U1)+3*Y3*(-U2+U1))*XSUR72
00236 !
00237         A41(IELEM)= (X2*(-3*V3-4*V2-5*V1)+X3*(4*V3+3*V2+5*V1)
00238      &              +Y2*(3*U3+4*U2+5*U1)
00239      &              +Y3*(-4*U3-3*U2-5*U1))*XSUR72
00240 !
00241         A42(IELEM)= (X2*(V3-V1)+X3*(-4*V3-5*V2-3*V1)+Y2*(-U3+U1)
00242      &              +Y3*(4*U3+5*U2+3*U1))*XSUR72
00243 !
00244         A43(IELEM)= (X2*(5*V3+4*V2+3*V1)+X3*(-V2+V1)+Y2*(-5*U3-
00245      &              4*U2-3*U1)+Y3*(U2-U1))*XSUR72
00246 !
00247 !  THE DIAGONAL TERMS ARE OBTAINED BY MEANS OF THE 'MAGIC SQUARE':
00248 !
00249         A11(IELEM) = - A12(IELEM) - A13(IELEM) - A14(IELEM)
00250         A22(IELEM) = - A21(IELEM) - A23(IELEM) - A24(IELEM)
00251         A33(IELEM) = - A31(IELEM) - A32(IELEM) - A34(IELEM)
00252         A44(IELEM) = - A41(IELEM) - A42(IELEM) - A43(IELEM)
00253 !
00254       ENDDO ! IELEM
00255 !
00256 !-----------------------------------------------------------------------
00257 !
00258 !     CASE WHERE U AND V ARE LINEAR
00259 !
00260       ELSEIF(IELMU.EQ.11.AND.IELMV.EQ.11) THEN
00261 !
00262 !-----------------------------------------------------------------------
00263 !
00264 !  P1 DISCRETISATION OF THE VELOCITY:
00265 !
00266       DO IELEM = 1 , NELEM
00267 !
00268 !   INITIALISES THE GEOMETRICAL VARIABLES
00269 !
00270         X2  =  XEL(IELEM,2)
00271         X3  =  XEL(IELEM,3)
00272 !
00273         Y2  =  YEL(IELEM,2)
00274         Y3  =  YEL(IELEM,3)
00275 !
00276         U1 = U(IKLE1(IELEM))
00277         U2 = U(IKLE2(IELEM))
00278         U3 = U(IKLE3(IELEM))
00279         V1 = V(IKLE1(IELEM))
00280         V2 = V(IKLE2(IELEM))
00281         V3 = V(IKLE3(IELEM))
00282 !
00283 !  EXTRADIAGONAL TERMS
00284 !
00285         A12(IELEM)= (X2*(-V3-4*V2-7*V1)+X3*(-V3-4*V2-7*V1)+Y2*(
00286      &              U3+4*U2+7*U1)+Y3*(U3+4*U2+7*U1))*XSU216
00287 !
00288         A13(IELEM)= (X2*(4*V3+V2+7*V1)+X3*(4*V3+V2+7*V1)+Y2*(-
00289      &              4*U3-U2-7*U1)+Y3*(-4*U3-U2-7*U1))*XSU216
00290 !
00291         A14(IELEM)= (X2*(V3+4*V2+7*V1)+X3*(-4*V3-V2-7*V1)+Y2*(-
00292      &              U3-4*U2-7*U1)+Y3*(4*U3+U2+7*U1))*XSUR72
00293 !
00294         A21(IELEM)= (2*X2*(-V3-7*V2-4*V1)+X3*(V3+7*V2+4*V1)+2
00295      &              *Y2*(U3+7*U2+4*U1)+Y3*(-U3-7*U2-4*U1))*XSU216
00296 !
00297         A23(IELEM)= (2*X2*(4*V3+7*V2+V1)+X3*(-4*V3-7*V2-V1)+2
00298      &              *Y2*(-4*U3-7*U2-U1)+Y3*(4*U3+7*U2+U1))*XSU216
00299 !
00300         A24(IELEM)= (3*X2*(-V3+V1)+X3*(4*V3+7*V2+V1)+3*Y2*(U3-
00301      &              U1)+Y3*(-4*U3-7*U2-U1))*XSUR72
00302 !
00303         A31(IELEM)= (X2*(-7*V3-V2-4*V1)+2*X3*(7*V3+V2+4*V1)+Y2
00304      &              *(7*U3+U2+4*U1)+2*Y3*(-7*U3-U2-4*U1))*XSU216
00305 !
00306         A32(IELEM)= (X2*(7*V3+4*V2+V1)+2*X3*(-7*V3-4*V2-V1)+Y2
00307      &              *(-7*U3-4*U2-U1)+2*Y3*(7*U3+4*U2+U1))*XSU216
00308 !
00309         A34(IELEM)= (X2*(-7*V3-4*V2-V1)+3*X3*(V2-V1)+Y2*(7*U3+
00310      &              4*U2+U1)+3*Y3*(-U2+U1))*XSUR72
00311 !
00312         A41(IELEM)= (X2*(-3*V3-4*V2-5*V1)+X3*(4*V3+3*V2+5*V1)
00313      &              +Y2*(3*U3+4*U2+5*U1)
00314      &              +Y3*(-4*U3-3*U2-5*U1))*XSUR72
00315 !
00316         A42(IELEM)= (X2*(V3-V1)+X3*(-4*V3-5*V2-3*V1)+Y2*(-U3+U1)
00317      &              +Y3*(4*U3+5*U2+3*U1))*XSUR72
00318 !
00319         A43(IELEM)= (X2*(5*V3+4*V2+3*V1)+X3*(-V2+V1)+Y2*(-5*U3-
00320      &              4*U2-3*U1)+Y3*(U2-U1))*XSUR72
00321 !
00322 !  THE DIAGONAL TERMS ARE OBTAINED BY MEANS OF THE 'MAGIC SQUARE':
00323 !
00324         A11(IELEM) = - A12(IELEM) - A13(IELEM) - A14(IELEM)
00325         A22(IELEM) = - A21(IELEM) - A23(IELEM) - A24(IELEM)
00326         A33(IELEM) = - A31(IELEM) - A32(IELEM) - A34(IELEM)
00327         A44(IELEM) = - A41(IELEM) - A42(IELEM) - A43(IELEM)
00328 !
00329       ENDDO ! IELEM
00330 !
00331 !-----------------------------------------------------------------------
00332 !
00333       ELSEIF(IELMU.EQ.12.AND.IELMV.EQ.12) THEN
00334 !
00335 !-----------------------------------------------------------------------
00336 !
00337 !  QUASI-BUBBLE DISCRETISATION OF THE VELOCITY:
00338 !
00339       IF(FORMUL(16:16).EQ.'N') THEN
00340 !
00341 !  N SCHEME
00342 !
00343       DO IELEM = 1 , NELEM
00344 !
00345 !     COORDINATES OF THE SUB-TRIANGLE VERTICES
00346       X1T1 = XEL(IELEM,1)
00347       X2T1 = XEL(IELEM,2) - X1T1
00348       Y1T1 = YEL(IELEM,1)
00349       Y2T1 = YEL(IELEM,2) - Y1T1
00350 !
00351       X1T2 = XEL(IELEM,2)
00352       X2T2 = XEL(IELEM,3) - X1T2
00353       Y1T2 = YEL(IELEM,2)
00354       Y2T2 = YEL(IELEM,3) - Y1T2
00355 !
00356       X1T3 = XEL(IELEM,3)
00357       X2T3 = XEL(IELEM,1) - X1T3
00358       Y1T3 = YEL(IELEM,3)
00359       Y2T3 = YEL(IELEM,1) - Y1T3
00360 !     POINT 3 IS ALWAYS THE CENTRE OF THE INITIAL TRIANGLE
00361       X4   = TIERS * (XEL(IELEM,1)+XEL(IELEM,2)+XEL(IELEM,3))
00362       Y4   = TIERS * (YEL(IELEM,1)+YEL(IELEM,2)+YEL(IELEM,3))
00363       X3T1 = X4 - X1T1
00364       Y3T1 = Y4 - Y1T1
00365       X3T2 = X4 - X1T2
00366       Y3T2 = Y4 - Y1T2
00367       X3T3 = X4 - X1T3
00368       Y3T3 = Y4 - Y1T3
00369 !
00370       U1 = U(IKLE1(IELEM))
00371       U2 = U(IKLE2(IELEM))
00372       U3 = U(IKLE3(IELEM))
00373       U4 = U(IKLE4(IELEM))
00374       V1 = V(IKLE1(IELEM))
00375       V2 = V(IKLE2(IELEM))
00376       V3 = V(IKLE3(IELEM))
00377       V4 = V(IKLE4(IELEM))
00378 !
00379       US2T1 = (U1+U2+U4)*XSUR6
00380       VS2T1 = (V1+V2+V4)*XSUR6
00381       US2T2 = (U2+U3+U4)*XSUR6
00382       VS2T2 = (V2+V3+V4)*XSUR6
00383       US2T3 = (U3+U1+U4)*XSUR6
00384       VS2T3 = (V3+V1+V4)*XSUR6
00385 !
00386       K1T1 = US2T1 * (Y2T1-Y3T1) - VS2T1 * (X2T1-X3T1)
00387       K2T1 = US2T1 * (Y3T1     ) - VS2T1 * (X3T1     )
00388       K3T1 = US2T1 * (    -Y2T1) - VS2T1 * (    -X2T1)
00389 !
00390       K1T2 = US2T2 * (Y2T2-Y3T2) - VS2T2 * (X2T2-X3T2)
00391       K2T2 = US2T2 * (Y3T2     ) - VS2T2 * (X3T2     )
00392       K3T2 = US2T2 * (    -Y2T2) - VS2T2 * (    -X2T2)
00393 !
00394       K1T3 = US2T3 * (Y2T3-Y3T3) - VS2T3 * (X2T3-X3T3)
00395       K2T3 = US2T3 * (Y3T3     ) - VS2T3 * (X3T3     )
00396       K3T3 = US2T3 * (    -Y2T3) - VS2T3 * (    -X2T3)
00397 !
00398       L12T1 = MAX( MIN(K1T1,-K2T1) , 0.D0 )
00399       L13T1 = MAX( MIN(K1T1,-K3T1) , 0.D0 )
00400       L21T1 = MAX( MIN(K2T1,-K1T1) , 0.D0 )
00401       L23T1 = MAX( MIN(K2T1,-K3T1) , 0.D0 )
00402       L31T1 = MAX( MIN(K3T1,-K1T1) , 0.D0 )
00403       L32T1 = MAX( MIN(K3T1,-K2T1) , 0.D0 )
00404 !
00405       L12T2 = MAX( MIN(K1T2,-K2T2) , 0.D0 )
00406       L13T2 = MAX( MIN(K1T2,-K3T2) , 0.D0 )
00407       L21T2 = MAX( MIN(K2T2,-K1T2) , 0.D0 )
00408       L23T2 = MAX( MIN(K2T2,-K3T2) , 0.D0 )
00409       L31T2 = MAX( MIN(K3T2,-K1T2) , 0.D0 )
00410       L32T2 = MAX( MIN(K3T2,-K2T2) , 0.D0 )
00411 !
00412       L12T3 = MAX( MIN(K1T3,-K2T3) , 0.D0 )
00413       L13T3 = MAX( MIN(K1T3,-K3T3) , 0.D0 )
00414       L21T3 = MAX( MIN(K2T3,-K1T3) , 0.D0 )
00415       L23T3 = MAX( MIN(K2T3,-K3T3) , 0.D0 )
00416       L31T3 = MAX( MIN(K3T3,-K1T3) , 0.D0 )
00417       L32T3 = MAX( MIN(K3T3,-K2T3) , 0.D0 )
00418 !
00419 !  EXTRADIAGONAL TERMS
00420 !
00421       A12(IELEM) = - L12T1
00422       A13(IELEM) = - L21T3
00423       A14(IELEM) = - L13T1 - L23T3
00424       A21(IELEM) = - L21T1
00425       A23(IELEM) = - L12T2
00426       A24(IELEM) = - L13T2 - L23T1
00427       A31(IELEM) = - L12T3
00428       A32(IELEM) = - L21T2
00429       A34(IELEM) = - L13T3 - L23T2
00430       A41(IELEM) = - L31T1 - L32T3
00431       A42(IELEM) = - L31T2 - L32T1
00432       A43(IELEM) = - L31T3 - L32T2
00433 !
00434       A11(IELEM) = - A12(IELEM) - A13(IELEM) - A14(IELEM)
00435       A22(IELEM) = - A21(IELEM) - A23(IELEM) - A24(IELEM)
00436       A33(IELEM) = - A31(IELEM) - A32(IELEM) - A34(IELEM)
00437       A44(IELEM) = - A41(IELEM) - A42(IELEM) - A43(IELEM)
00438 !
00439       ENDDO ! IELEM
00440 !
00441       ELSE
00442 !
00443       DO IELEM = 1 , NELEM
00444 !
00445 !  TRADITIONAL METHOD
00446 !
00447 !
00448 !   INITIALISES THE GEOMETRICAL VARIABLES
00449 !
00450         X2  =  XEL(IELEM,2)
00451         X3  =  XEL(IELEM,3)
00452 !
00453         Y2  =  YEL(IELEM,2)
00454         Y3  =  YEL(IELEM,3)
00455 !
00456         U1 = U(IKLE1(IELEM))
00457         U2 = U(IKLE2(IELEM))
00458         U3 = U(IKLE3(IELEM))
00459         U4 = U(IKLE4(IELEM))
00460         V1 = V(IKLE1(IELEM))
00461         V2 = V(IKLE2(IELEM))
00462         V3 = V(IKLE3(IELEM))
00463         V4 = V(IKLE4(IELEM))
00464 !
00465 !  EXTRADIAGONAL TERMS
00466 !
00467         A12(IELEM)= (X2*(-V4-V2-2*V1)+X3*(-V4-V2-2*V1)+Y2*(U4+U2+
00468      &              2*U1)+Y3*(U4+U2+2*U1))*XSUR72
00469 !
00470         A13(IELEM)= (X2*(V3+V4+2*V1)+X3*(V3+V4+2*V1)+Y2*(-U3-U4-
00471      &              2*U1)+Y3*(-U3-U4-2*U1))*XSUR72
00472 !
00473         A14(IELEM)= (X2*(V4+V2+2*V1)+X3*(-V3-V4-2*V1)+Y2*(-U4-U2-
00474      &              2*U1)+Y3*(U3+U4+2*U1))*XSUR24
00475 !
00476         A21(IELEM)= (2*X2*(-V4-2*V2-V1)+X3*(V4+2*V2+V1)+2*Y2*(
00477      &              U4+2*U2+U1)+Y3*(-U4-2*U2-U1))*XSUR72
00478 !
00479         A23(IELEM)= (2*X2*(V3+V4+2*V2)+X3*(-V3-V4-2*V2)+2*Y2*(-
00480      &              U3-U4-2*U2)+Y3*(U3+U4+2*U2))*XSUR72
00481 !
00482         A24(IELEM)= (X2*(-V3+V1)+X3*(V3+V4+2*V2)+Y2*(U3-U1)+Y3*(-
00483      &              U3-U4-2*U2))*XSUR24
00484 !
00485         A31(IELEM)= (X2*(-2*V3-V4-V1)+2*X3*(2*V3+V4+V1)+Y2*(2*
00486      &              U3+U4+U1)+2*Y3*(-2*U3-U4-U1))*XSUR72
00487 !
00488         A32(IELEM)= (X2*(2*V3+V4+V2)+2*X3*(-2*V3-V4-V2)+Y2*(-2*
00489      &              U3-U4-U2)+2*Y3*(2*U3+U4+U2))*XSUR72
00490 !
00491         A34(IELEM)= (X2*(-2*V3-V4-V2)+X3*(V2-V1)+Y2*(2*U3+U4+U2)+
00492      &              Y3*(-U2+U1))*XSUR24
00493 !
00494         A41(IELEM)= (X2*(-V3-6*V4-2*V2-3*V1)+X3*(2*V3+6*V4+V2+
00495      &              3*V1)+Y2*(U3+6*U4+2*U2+3*U1)
00496      &              +Y3*(-2*U3-6*U4-U2-3*U1))*XSUR72
00497 !
00498         A42(IELEM)= (X2*(V3-V1)+X3*(-2*V3-6*V4-3*V2-V1)+Y2*(-U3+
00499      &              U1)+Y3*(2*U3+6*U4+3*U2+U1))*XSUR72
00500 !
00501         A43(IELEM)= (X2*(3*V3+6*V4+2*V2+V1)+X3*(-V2+V1)+Y2*(-3*
00502      &              U3-6*U4-2*U2-U1)+Y3*(U2-U1))*XSUR72
00503 !
00504 !  THE DIAGONAL TERMS ARE OBTAINED BY MEANS OF THE 'MAGIC SQUARE':
00505 !
00506         A11(IELEM) = - A12(IELEM) - A13(IELEM) - A14(IELEM)
00507         A22(IELEM) = - A21(IELEM) - A23(IELEM) - A24(IELEM)
00508         A33(IELEM) = - A31(IELEM) - A32(IELEM) - A34(IELEM)
00509         A44(IELEM) = - A41(IELEM) - A42(IELEM) - A43(IELEM)
00510 !
00511       ENDDO ! IELEM
00512 !
00513       ENDIF
00514 !
00515 !-----------------------------------------------------------------------
00516 !
00517       ELSE
00518 !
00519         IF (LNG.EQ.1) WRITE(LU,10) IELMU,IELMV
00520         IF (LNG.EQ.2) WRITE(LU,11) IELMU,IELMV
00521 10      FORMAT(1X,'MT05BB (BIEF) : TYPES DE VITESSES NON PREVU : ',2I6)
00522 11      FORMAT(1X,
00523      &  'MT05BB (BIEF) : TYPES OF VELOCITIES NOT AVAILABLE : ',2I6)
00524         CALL PLANTE(0)
00525         STOP
00526 !
00527       ENDIF
00528 !
00529 !-----------------------------------------------------------------------
00530 !
00531       RETURN
00532       END

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