mt99aa.f

Go to the documentation of this file.
00001 C:\opentelemac\v7p0\sources\utils\bief\mt99aa.f
00002 !
00070                      SUBROUTINE MT99AA
00071 !                    *****************
00072 !
00073      &( A11 , A12 , A13 ,
00074      &  A21 , A22 , A23 ,
00075      &  A31 , A32 , A33 ,
00076      &  XMUL,SF,F,XEL,YEL,
00077      &  SURFAC,IKLE1,IKLE2,IKLE3,NELEM,NELMAX,FORMUL,TDIA,TEXT)
00078 !
00079 !***********************************************************************
00080 ! BIEF   V6P1                                   21/08/2010
00081 !***********************************************************************
00082 !
00083 !
00084 !
00085 !
00086 !
00087 !
00088 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00089 !| A11            |<--| ELEMENTS OF MATRIX
00090 !| A12            |<--| ELEMENTS OF MATRIX
00091 !| A13            |<--| ELEMENTS OF MATRIX
00092 !| A21            |<--| ELEMENTS OF MATRIX
00093 !| A22            |<--| ELEMENTS OF MATRIX
00094 !| A23            |<--| ELEMENTS OF MATRIX
00095 !| A31            |<--| ELEMENTS OF MATRIX
00096 !| A32            |<--| ELEMENTS OF MATRIX
00097 !| A33            |<--| ELEMENTS OF MATRIX
00098 !| FORMUL         |-->| FORMULA DESCRIBING THE RESULTING MATRIX
00099 !| IKLE1          |-->| FIRST POINTS OF TRIANGLES
00100 !| IKLE2          |-->| SECOND POINTS OF TRIANGLES
00101 !| IKLE3          |-->| THIRD POINTS OF TRIANGLES
00102 !| NELEM          |-->| NUMBER OF ELEMENTS
00103 !| NELMAX         |-->| MAXIMUM NUMBER OF ELEMENTS
00104 !| SURFAC         |-->| AREA OF TRIANGLES
00105 !| TDIA           |<--| TYPE OF DIAGONAL
00106 !| TEXT           |<--| TYPE OF OFF-DIAGONAL TERMS
00107 !| XMUL           |-->| MULTIPLICATION FACTOR
00108 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00109 !
00110       USE BIEF, EX_MT99AA => MT99AA
00111 !
00112       IMPLICIT NONE
00113       INTEGER LNG,LU
00114       COMMON/INFO/LNG,LU
00115 !
00116 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
00117 !
00118       INTEGER, INTENT(IN) :: NELEM,NELMAX
00119       INTEGER, INTENT(IN) :: IKLE1(NELMAX),IKLE2(NELMAX),IKLE3(NELMAX)
00120 !
00121       CHARACTER(LEN=1), INTENT(INOUT) :: TDIA,TEXT
00122       CHARACTER(LEN=16), INTENT(IN) :: FORMUL
00123 !
00124       DOUBLE PRECISION, INTENT(INOUT) :: A11(*),A12(*),A13(*)
00125       DOUBLE PRECISION, INTENT(INOUT) :: A21(*),A22(*),A23(*)
00126       DOUBLE PRECISION, INTENT(INOUT) :: A31(*),A32(*),A33(*)
00127 !
00128       DOUBLE PRECISION, INTENT(IN) :: XMUL
00129       DOUBLE PRECISION, INTENT(IN) :: F(*)
00130 !
00131 !     STRUCTURE OF F
00132 !
00133       TYPE(BIEF_OBJ), INTENT(IN) :: SF
00134 !
00135       DOUBLE PRECISION, INTENT(IN) :: XEL(NELMAX,3),YEL(NELMAX,3)
00136       DOUBLE PRECISION, INTENT(IN) :: SURFAC(NELMAX)
00137 !
00138 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
00139 !
00140 !     DECLARATIONS SPECIFIC TO THIS SUBROUTINE
00141 !
00142       INTEGER IELEM
00143       DOUBLE PRECISION SUR48,DET,F1,F2,F3,X2,X3,Y2,Y3,F123,SUR24
00144 !
00145 !=======================================================================
00146 !
00147       SUR24 = XMUL/24.D0
00148       SUR48 = XMUL/48.D0
00149 !
00150 !-----------------------------------------------------------------------
00151 !
00152       IF(SF%ELM.NE.11) THEN
00153 !
00154         IF (LNG.EQ.1) WRITE(LU,2000) SF%ELM
00155         IF (LNG.EQ.2) WRITE(LU,2001) SF%ELM
00156 2000    FORMAT(1X,'MT99AA (BIEF) : TYPE DE F : ',I6,' NON PREVU')
00157 2001    FORMAT(1X,'MT99AA (BIEF) : TYPE OF F:',I6,' NOT IMPLEMENTED')
00158         CALL PLANTE(1)
00159         STOP
00160 !
00161       ENDIF
00162 !
00163 !-----------------------------------------------------------------------
00164 !
00165       IF(FORMUL(8:16).EQ.'     0XX0') THEN
00166 !
00167       TDIA='Q'
00168       TEXT='Q'
00169 !
00170 !   LOOP ON THE ELEMENTS
00171 !
00172       DO IELEM = 1 , NELEM
00173 !
00174       DET = SUR48 / SURFAC(IELEM)
00175 !
00176 !   INITIALISES THE GEOMETRICAL VARIABLES
00177 !
00178       Y2 = YEL(IELEM,2)
00179       Y3 = YEL(IELEM,3)
00180 !
00181       F1 = F(IKLE1(IELEM))
00182       F2 = F(IKLE2(IELEM))
00183       F3 = F(IKLE3(IELEM))
00184 !
00185       A11(IELEM)=-(-Y2*F1+Y3*F1-Y3*F2+Y2*F3)*(Y2-Y3)*(2*F1+F2+F3)*DET
00186       A12(IELEM)=-(-Y2*F1+Y3*F1-Y3*F2+Y2*F3)*Y3*(2*F1+F2+F3)*DET
00187       A13(IELEM)=(-Y2*F1+Y3*F1-Y3*F2+Y2*F3)*Y2*(2*F1+F2+F3)*DET
00188       A21(IELEM)=-(-Y2*F1+Y3*F1-Y3*F2+Y2*F3)*(Y2-Y3)*(F1+2*F2+F3)*DET
00189       A22(IELEM)=-(-Y2*F1+Y3*F1-Y3*F2+Y2*F3)*Y3*(F1+2*F2+F3)*DET
00190       A23(IELEM)=(-Y2*F1+Y3*F1-Y3*F2+Y2*F3)*Y2*(F1+2*F2+F3)*DET
00191       A31(IELEM)=-(-Y2*F1+Y3*F1-Y3*F2+Y2*F3)*(Y2-Y3)*(F1+F2+2*F3)*DET
00192       A32(IELEM)=-(-Y2*F1+Y3*F1-Y3*F2+Y2*F3)*Y3*(F1+F2+2*F3)*DET
00193       A33(IELEM)=(-Y2*F1+Y3*F1-Y3*F2+Y2*F3)*Y2*(F1+F2+2*F3)*DET
00194 !
00195 !   END OF THE LOOP ON THE ELEMENTS
00196 !
00197       ENDDO ! IELEM
00198 !
00199 !-----------------------------------------------------------------------
00200 !
00201       ELSEIF(FORMUL(8:16).EQ.'     0YY0') THEN
00202 !
00203       TDIA='Q'
00204       TEXT='Q'
00205 !
00206 !   LOOP ON THE ELEMENTS
00207 !
00208       DO IELEM = 1 , NELEM
00209 !
00210       DET = SUR48 / SURFAC(IELEM)
00211 !
00212 !   INITIALISES THE GEOMETRICAL VARIABLES
00213 !
00214       X2 = XEL(IELEM,2)
00215       X3 = XEL(IELEM,3)
00216 !
00217       F1 = F(IKLE1(IELEM))
00218       F2 = F(IKLE2(IELEM))
00219       F3 = F(IKLE3(IELEM))
00220 !
00221       A11(IELEM)=-(X2*F1-X3*F1+X3*F2-X2*F3)*(-X2+X3)*(2*F1+F2+F3)*DET
00222       A12(IELEM)=(X2*F1-X3*F1+X3*F2-X2*F3)*X3*(2*F1+F2+F3)*DET
00223       A13(IELEM)=-(X2*F1-X3*F1+X3*F2-X2*F3)*X2*(2*F1+F2+F3)*DET
00224       A21(IELEM)=-(X2*F1-X3*F1+X3*F2-X2*F3)*(-X2+X3)*(F1+2*F2+F3)*DET
00225       A22(IELEM)=(X2*F1-X3*F1+X3*F2-X2*F3)*X3*(F1+2*F2+F3)*DET
00226       A23(IELEM)=-(X2*F1-X3*F1+X3*F2-X2*F3)*X2*(F1+2*F2+F3)*DET
00227       A31(IELEM)=-(X2*F1-X3*F1+X3*F2-X2*F3)*(-X2+X3)*(F1+F2+2*F3)*DET
00228       A32(IELEM)=(X2*F1-X3*F1+X3*F2-X2*F3)*X3*(F1+F2+2*F3)*DET
00229       A33(IELEM)=-(X2*F1-X3*F1+X3*F2-X2*F3)*X2*(F1+F2+2*F3)*DET
00230 !
00231 !   END OF THE LOOP ON THE ELEMENTS
00232 !
00233       ENDDO ! IELEM
00234 !
00235 !-----------------------------------------------------------------------
00236 !
00237       ELSEIF(FORMUL(8:16).EQ.'     XX00') THEN
00238 !
00239       TDIA='Q'
00240       TEXT='Q'
00241 !     SYMMETRY NOT TAKEN INTO ACCOUNT
00242 !     TEXT='S'
00243 !
00244 !   LOOP ON THE ELEMENTS
00245 !
00246       DO IELEM = 1 , NELEM
00247 !
00248       DET = SUR48 / SURFAC(IELEM)
00249 !
00250 !   INITIALISES THE GEOMETRICAL VARIABLES
00251 !
00252       Y2 = YEL(IELEM,2)
00253       Y3 = YEL(IELEM,3)
00254 !
00255       F1 = F(IKLE1(IELEM))
00256       F2 = F(IKLE2(IELEM))
00257       F3 = F(IKLE3(IELEM))
00258       A11(IELEM)=(-Y2*F1+Y3*F1-Y3*F2+Y2*F3)**2*2*DET
00259       A12(IELEM)=(-Y2*F1+Y3*F1-Y3*F2+Y2*F3)**2*DET
00260       A13(IELEM)=(-Y2*F1+Y3*F1-Y3*F2+Y2*F3)**2*DET
00261       A21(IELEM)=(-Y2*F1+Y3*F1-Y3*F2+Y2*F3)**2*DET
00262       A22(IELEM)=(-Y2*F1+Y3*F1-Y3*F2+Y2*F3)**2*2*DET
00263       A23(IELEM)=(-Y2*F1+Y3*F1-Y3*F2+Y2*F3)**2*DET
00264       A31(IELEM)=(-Y2*F1+Y3*F1-Y3*F2+Y2*F3)**2*DET
00265       A32(IELEM)=(-Y2*F1+Y3*F1-Y3*F2+Y2*F3)**2*DET
00266       A33(IELEM)=(-Y2*F1+Y3*F1-Y3*F2+Y2*F3)**2*2*DET
00267 !
00268 !   END OF THE LOOP ON THE ELEMENTS
00269 !
00270       ENDDO ! IELEM
00271 !
00272 !-----------------------------------------------------------------------
00273 !
00274       ELSEIF(FORMUL(8:16).EQ.'     0X0Y') THEN
00275 !
00276       TDIA='Q'
00277       TEXT='Q'
00278 !
00279 !   LOOP ON THE ELEMENTS
00280 !
00281       DO IELEM = 1 , NELEM
00282 !
00283       DET = SUR48 / SURFAC(IELEM)
00284 !
00285 !   INITIALISES THE GEOMETRICAL VARIABLES
00286 !
00287       Y2 = YEL(IELEM,2)
00288       Y3 = YEL(IELEM,3)
00289       X2 = XEL(IELEM,2)
00290       X3 = XEL(IELEM,3)
00291 !
00292       F1 = F(IKLE1(IELEM))
00293       F2 = F(IKLE2(IELEM))
00294       F3 = F(IKLE3(IELEM))
00295 !
00296       A11(IELEM)=-(-Y2*F1+Y3*F1-Y3*F2+Y2*F3)*(-X2+X3)*(2*F1+F2+F3)*DET
00297       A12(IELEM)=-(-Y2*F1+Y3*F1-Y3*F2+Y2*F3)*(-X2+X3)*(F1+2*F2+F3)*DET
00298       A13(IELEM)=-(-Y2*F1+Y3*F1-Y3*F2+Y2*F3)*(-X2+X3)*(F1+F2+2*F3)*DET
00299       A21(IELEM)=(-Y2*F1+Y3*F1-Y3*F2+Y2*F3)*X3*(2*F1+F2+F3)*DET
00300       A22(IELEM)=(-Y2*F1+Y3*F1-Y3*F2+Y2*F3)*X3*(F1+2*F2+F3)*DET
00301       A23(IELEM)=(-Y2*F1+Y3*F1-Y3*F2+Y2*F3)*X3*(F1+F2+2*F3)*DET
00302       A31(IELEM)=-(-Y2*F1+Y3*F1-Y3*F2+Y2*F3)*X2*(2*F1+F2+F3)*DET
00303       A32(IELEM)=-(-Y2*F1+Y3*F1-Y3*F2+Y2*F3)*X2*(F1+2*F2+F3)*DET
00304       A33(IELEM)=-(-Y2*F1+Y3*F1-Y3*F2+Y2*F3)*X2*(F1+F2+2*F3)*DET
00305 !
00306 !   END OF THE LOOP ON THE ELEMENTS
00307 !
00308       ENDDO ! IELEM
00309 !
00310 !-----------------------------------------------------------------------
00311 !
00312       ELSEIF(FORMUL(8:16).EQ.'     XY00') THEN
00313 !
00314       TDIA='Q'
00315       TEXT='Q'
00316 !     SYMMETRY NOT TAKEN INTO ACCOUNT
00317 !     TEXT='S'
00318 !
00319 !   LOOP ON THE ELEMENTS
00320 !
00321       DO IELEM = 1 , NELEM
00322 !
00323       DET = SUR48 / SURFAC(IELEM)
00324 !
00325 !   INITIALISES THE GEOMETRICAL VARIABLES
00326 !
00327       Y2 = YEL(IELEM,2)
00328       Y3 = YEL(IELEM,3)
00329       X2 = XEL(IELEM,2)
00330       X3 = XEL(IELEM,3)
00331 !
00332       F1 = F(IKLE1(IELEM))
00333       F2 = F(IKLE2(IELEM))
00334       F3 = F(IKLE3(IELEM))
00335 !
00336       A11(IELEM)=
00337      &(-Y2*F1+Y3*F1-Y3*F2+Y2*F3)*(X2*F1-X3*F1+X3*F2-X2*F3)*2*DET
00338       A12(IELEM)=
00339      &(-Y2*F1+Y3*F1-Y3*F2+Y2*F3)*(X2*F1-X3*F1+X3*F2-X2*F3)*DET
00340       A13(IELEM)=
00341      &(-Y2*F1+Y3*F1-Y3*F2+Y2*F3)*(X2*F1-X3*F1+X3*F2-X2*F3)*DET
00342       A21(IELEM)=
00343      &(-Y2*F1+Y3*F1-Y3*F2+Y2*F3)*(X2*F1-X3*F1+X3*F2-X2*F3)*DET
00344       A22(IELEM)=
00345      &(-Y2*F1+Y3*F1-Y3*F2+Y2*F3)*(X2*F1-X3*F1+X3*F2-X2*F3)*2*DET
00346       A23(IELEM)=
00347      &(-Y2*F1+Y3*F1-Y3*F2+Y2*F3)*(X2*F1-X3*F1+X3*F2-X2*F3)*DET
00348       A31(IELEM)=
00349      &(-Y2*F1+Y3*F1-Y3*F2+Y2*F3)*(X2*F1-X3*F1+X3*F2-X2*F3)*DET
00350       A32(IELEM)=
00351      &(-Y2*F1+Y3*F1-Y3*F2+Y2*F3)*(X2*F1-X3*F1+X3*F2-X2*F3)*DET
00352       A33(IELEM)=
00353      &(-Y2*F1+Y3*F1-Y3*F2+Y2*F3)*(X2*F1-X3*F1+X3*F2-X2*F3)*2*DET
00354 !
00355 !   END OF THE LOOP ON THE ELEMENTS
00356 !
00357       ENDDO ! IELEM
00358 !
00359 !-----------------------------------------------------------------------
00360 !
00361       ELSEIF(FORMUL(8:16).EQ.'     YY00') THEN
00362 !
00363       TDIA='Q'
00364       TEXT='Q'
00365 !     SYMMETRY NOT TAKEN INTO ACCOUNT
00366 !     TEXT='S'
00367 !
00368 !   LOOP ON THE ELEMENTS
00369 !
00370       DO IELEM = 1 , NELEM
00371 !
00372       DET = SUR48 / SURFAC(IELEM)
00373 !
00374 !   INITIALISES THE GEOMETRICAL VARIABLES
00375 !
00376       X2 = XEL(IELEM,2)
00377       X3 = XEL(IELEM,3)
00378 !
00379       F1 = F(IKLE1(IELEM))
00380       F2 = F(IKLE2(IELEM))
00381       F3 = F(IKLE3(IELEM))
00382 !
00383       A11(IELEM)=(X2*F1-X3*F1+X3*F2-X2*F3)**2*2*DET
00384       A12(IELEM)=(X2*F1-X3*F1+X3*F2-X2*F3)**2*DET
00385       A13(IELEM)=(X2*F1-X3*F1+X3*F2-X2*F3)**2*DET
00386       A21(IELEM)=(X2*F1-X3*F1+X3*F2-X2*F3)**2*DET
00387       A22(IELEM)=(X2*F1-X3*F1+X3*F2-X2*F3)**2*2*DET
00388       A23(IELEM)=(X2*F1-X3*F1+X3*F2-X2*F3)**2*DET
00389       A31(IELEM)=(X2*F1-X3*F1+X3*F2-X2*F3)**2*DET
00390       A32(IELEM)=(X2*F1-X3*F1+X3*F2-X2*F3)**2*DET
00391       A33(IELEM)=(X2*F1-X3*F1+X3*F2-X2*F3)**2*2*DET
00392 !
00393 !   END OF THE LOOP ON THE ELEMENTS
00394 !
00395       ENDDO ! IELEM
00396 !
00397 !-----------------------------------------------------------------------
00398 !
00399       ELSEIF(FORMUL(8:16).EQ.'     0Y0X') THEN
00400 !
00401       TDIA='Q'
00402       TEXT='Q'
00403 !
00404 !   LOOP ON THE ELEMENTS
00405 !
00406       DO IELEM = 1 , NELEM
00407 !
00408       DET = SUR48 / SURFAC(IELEM)
00409 !
00410 !   INITIALISES THE GEOMETRICAL VARIABLES
00411 !
00412       Y2 = YEL(IELEM,2)
00413       Y3 = YEL(IELEM,3)
00414       X2 = XEL(IELEM,2)
00415       X3 = XEL(IELEM,3)
00416 !
00417       F1 = F(IKLE1(IELEM))
00418       F2 = F(IKLE2(IELEM))
00419       F3 = F(IKLE3(IELEM))
00420 !
00421       A11(IELEM)=-(X2*F1-X3*F1+X3*F2-X2*F3)*(Y2-Y3)*(2*F1+F2+F3)*DET
00422       A12(IELEM)=-(X2*F1-X3*F1+X3*F2-X2*F3)*(Y2-Y3)*(F1+2*F2+F3)*DET
00423       A13(IELEM)=-(X2*F1-X3*F1+X3*F2-X2*F3)*(Y2-Y3)*(F1+F2+2*F3)*DET
00424       A21(IELEM)=-(X2*F1-X3*F1+X3*F2-X2*F3)*Y3*(2*F1+F2+F3)*DET
00425       A22(IELEM)=-(X2*F1-X3*F1+X3*F2-X2*F3)*Y3*(F1+2*F2+F3)*DET
00426       A23(IELEM)=-(X2*F1-X3*F1+X3*F2-X2*F3)*Y3*(F1+F2+2*F3)*DET
00427       A31(IELEM)=(X2*F1-X3*F1+X3*F2-X2*F3)*Y2*(2*F1+F2+F3)*DET
00428       A32(IELEM)=(X2*F1-X3*F1+X3*F2-X2*F3)*Y2*(F1+2*F2+F3)*DET
00429       A33(IELEM)=(X2*F1-X3*F1+X3*F2-X2*F3)*Y2*(F1+F2+2*F3)*DET
00430 !
00431 !   END OF THE LOOP ON THE ELEMENTS
00432 !
00433       ENDDO ! IELEM
00434 !
00435 !-----------------------------------------------------------------------
00436 !
00437       ELSEIF(FORMUL(8:16).EQ.'00XX+00YY') THEN
00438 !
00439       TDIA='Q'
00440       TEXT='Q'
00441 !     SYMMETRY NOT TAKEN INTO ACCOUNT
00442 !     TEXT='S'
00443 !
00444 !   LOOP ON THE ELEMENTS
00445 !
00446       DO IELEM = 1 , NELEM
00447 !
00448       DET = SUR24 / SURFAC(IELEM)
00449 !
00450 !   INITIALISES THE GEOMETRICAL VARIABLES
00451 !
00452       X2 = XEL(IELEM,2)
00453       X3 = XEL(IELEM,3)
00454       Y2 = YEL(IELEM,2)
00455       Y3 = YEL(IELEM,3)
00456 !
00457       F1 = F(IKLE1(IELEM))
00458       F2 = F(IKLE2(IELEM))
00459       F3 = F(IKLE3(IELEM))
00460       F123 = F2**2+F1*F2+F2*F3+F3**2+F1**2+F1*F3
00461 !
00462 !  ELEMENTS OUTSIDE OF THE DIAGONAL
00463 !
00464       A12(IELEM) = (Y2*Y3-Y3**2+X2*X3-X3**2)*F123*DET
00465       A13(IELEM) = -(Y2**2-Y2*Y3+X2**2-X2*X3)*F123*DET
00466       A23(IELEM) = -(Y2*Y3+X2*X3)*F123*DET
00467 !
00468 !  DIAGONAL TERMS
00469 !
00470       A11(IELEM) = (Y2**2-2*Y2*Y3+Y3**2+X2**2-2*X2*X3+X3**2)*F123*DET
00471       A22(IELEM) = (Y3**2+X3**2)*F123*DET
00472       A33(IELEM) = (Y2**2+X2**2)*F123*DET
00473 !
00474 !  SYMMETRIES
00475 !
00476       A21(IELEM) = A12(IELEM)
00477       A31(IELEM) = A13(IELEM)
00478       A32(IELEM) = A23(IELEM)
00479 !
00480 !   END OF THE LOOP ON THE ELEMENTS
00481 !
00482       ENDDO ! IELEM
00483 !
00484 !-----------------------------------------------------------------------
00485 !
00486       ELSEIF(FORMUL(8:16).EQ.'     00XX') THEN
00487 !
00488       TDIA='Q'
00489       TEXT='Q'
00490 !     SYMMETRY NOT TAKEN INTO ACCOUNT
00491 !     TEXT='S'
00492 !
00493 !   LOOP ON THE ELEMENTS
00494 !
00495       DO IELEM = 1 , NELEM
00496 !
00497       DET = SUR24 / SURFAC(IELEM)
00498 !
00499 !   INITIALISES THE GEOMETRICAL VARIABLES
00500 !
00501       Y2 = YEL(IELEM,2)
00502       Y3 = YEL(IELEM,3)
00503 !
00504       F1 = F(IKLE1(IELEM))
00505       F2 = F(IKLE2(IELEM))
00506       F3 = F(IKLE3(IELEM))
00507       F123 = F2**2+F1*F2+F2*F3+F3**2+F1**2+F1*F3
00508 !
00509 !  ELEMENTS OUTSIDE OF THE DIAGONAL
00510 !
00511       A12(IELEM) = (Y2*Y3-Y3**2)*F123*DET
00512       A13(IELEM) = -(Y2**2-Y2*Y3)*F123*DET
00513       A23(IELEM) = -(Y2*Y3)*F123*DET
00514 !
00515 !  DIAGONAL TERMS
00516 !
00517       A11(IELEM) = (Y2**2-2*Y2*Y3+Y3**2)*F123*DET
00518       A22(IELEM) = (Y3**2)*F123*DET
00519       A33(IELEM) = (Y2**2)*F123*DET
00520 !
00521 !  SYMMETRIES
00522 !
00523       A21(IELEM) = A12(IELEM)
00524       A31(IELEM) = A13(IELEM)
00525       A32(IELEM) = A23(IELEM)
00526 !
00527 !   END OF THE LOOP ON THE ELEMENTS
00528 !
00529       ENDDO
00530 !
00531 !-----------------------------------------------------------------------
00532 !
00533       ELSEIF(FORMUL(8:16).EQ.'     00YY') THEN
00534 !
00535       TDIA='Q'
00536       TEXT='Q'
00537 !     SYMMETRY NOT TAKEN INTO ACCOUNT
00538 !     TEXT='S'
00539 !
00540 !   LOOP ON THE ELEMENTS
00541 !
00542       DO IELEM = 1 , NELEM
00543 !
00544       DET = SUR24 / SURFAC(IELEM)
00545 !
00546 !   INITIALISES THE GEOMETRICAL VARIABLES
00547 !
00548       X2 = XEL(IELEM,2)
00549       X3 = XEL(IELEM,3)
00550 !
00551       F1 = F(IKLE1(IELEM))
00552       F2 = F(IKLE2(IELEM))
00553       F3 = F(IKLE3(IELEM))
00554       F123 = F2**2+F1*F2+F2*F3+F3**2+F1**2+F1*F3
00555 !
00556 !  ELEMENTS OUTSIDE OF THE DIAGONAL
00557 !
00558       A12(IELEM) = (X2*X3-X3**2)*F123*DET
00559       A13(IELEM) = -(X2**2-X2*X3)*F123*DET
00560       A23(IELEM) = -(X2*X3)*F123*DET
00561 !
00562 !  DIAGONAL TERMS
00563 !
00564       A11(IELEM) = (X2**2-2*X2*X3+X3**2)*F123*DET
00565       A22(IELEM) = (X3**2)*F123*DET
00566       A33(IELEM) = (X2**2)*F123*DET
00567 !
00568 !  SYMMETRIES
00569 !
00570       A21(IELEM) = A12(IELEM)
00571       A31(IELEM) = A13(IELEM)
00572       A32(IELEM) = A23(IELEM)
00573 !
00574 !   END OF THE LOOP ON THE ELEMENTS
00575 !
00576       ENDDO
00577 !
00578 !-----------------------------------------------------------------------
00579 !
00580       ELSEIF(FORMUL(8:16).EQ.'     00XY') THEN
00581 !
00582       TDIA='Q'
00583       TEXT='Q'
00584 !
00585 !   LOOP ON THE ELEMENTS
00586 !
00587       DO IELEM = 1 , NELEM
00588 !
00589       DET = SUR24 / SURFAC(IELEM)
00590 !
00591 !   INITIALISES THE GEOMETRICAL VARIABLES
00592 !
00593       X2 = XEL(IELEM,2)
00594       X3 = XEL(IELEM,3)
00595       Y2 = YEL(IELEM,2)
00596       Y3 = YEL(IELEM,3)
00597 !
00598       F1 = F(IKLE1(IELEM))
00599       F2 = F(IKLE2(IELEM))
00600       F3 = F(IKLE3(IELEM))
00601       F123 = F2**2+F1*F2+F2*F3+F3**2+F1**2+F1*F3
00602 !
00603       A11(IELEM) =  (Y2-Y3)*(-X2+X3)*F123*DET
00604       A12(IELEM) =      Y3 *(-X2+X3)*F123*DET
00605       A13(IELEM) =  -Y2    *(-X2+X3)*F123*DET
00606       A21(IELEM) = -(Y2-Y3)*     X3 *F123*DET
00607       A22(IELEM) =     -Y3 *     X3 *F123*DET
00608       A23(IELEM) =   Y2    *     X3 *F123*DET
00609       A31(IELEM) =  (Y2-Y3)*  X2    *F123*DET
00610       A32(IELEM) =      Y3 *  X2    *F123*DET
00611       A33(IELEM) =  -Y2    *  X2    *F123*DET
00612 !
00613 !   END OF THE LOOP ON THE ELEMENTS
00614 !
00615       ENDDO
00616 !
00617 !   CASE NOT IMPLEMENTED
00618 !
00619       ELSE
00620 !
00621         IF (LNG.EQ.1) WRITE(LU,1000) FORMUL
00622         IF (LNG.EQ.2) WRITE(LU,1001) FORMUL
00623 1000    FORMAT(1X,'MT99AA (BIEF) : MATRICE NON PREVUE : ',A16)
00624 1001    FORMAT(1X,'MT99AA (BIEF) : MATRIX NOT IMPLEMENTED:',A16)
00625         CALL PLANTE(1)
00626         STOP
00627 !
00628       ENDIF
00629 !
00630 !-----------------------------------------------------------------------
00631 !
00632       RETURN
00633       END

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