trjsau
C TRJSAU SOURCE CHAT 05/01/13 03:51:09 5004 C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C FORMULAIRE DES TRAJECTOIRES POUR LES SAUTS CONVECTIFS C DANS UNE MAILLE ( calcul analytique formulation EFMH) C C ENTREES C XDEP POSITION INITIALE C UELEM FLUX AUX FACES C IDIM DIMENSION DE L ESPACE C ITYEL TYPE DE L ELEMENT C DTINT DUREE DU SAUT C SORTIES C XARI POSITION APRES LE SAUT C LTEST INDIQUE SI ON SORT DU TRIANGLE C C TYPES D ELEMENTS CONSIDERES C TRI3 QUA4 CUB8 PRI6 TET C 4 8 14 16 23 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C IMPLICIT INTEGER(I-N) IMPLICIT REAL*8 (A-H,O-Z) C DIMENSION XARI(3),XDEP(3),X(3),Y(3),UELEM(6),XY(4) C C C C*** QUADRANGLE QUA4 QUA9 3 C ***** C * * C FACES 4 * * 2 C ***** C 1 IF(ITYEL.EQ.8)THEN C Q=MAX(ABS(UELEM(1)),ABS(UELEM(2)),ABS(UELEM(3)),ABS(UELEM(4))) C LES FLUX OPPOSES NE SE COMPENSENT PAS C X(1)=UELEM(2)+UELEM(4) X(2)=UELEM(3)+UELEM(1) Y(1)=UELEM(2)-UELEM(4) Y(2)=UELEM(3)-UELEM(1) C IF(ABS(X(1))/Q.GT.1D-10)THEN c write(6,*) 'coucou1' 8 CONTINUE ELSE C C LES FLUX OPPOSES SE COMPENSENT C DO 2 I3=1,IDIM XARI(I3)=XDEP(I3)+(25.D-2*Y(I3)*DTINT) 2 CONTINUE ENDIF C*** CUBE CUB8 C C LES FLUX OPPOSES NE SE COMPENSENT PAS C ELSEIF(ITYEL.EQ.14)THEN Q=MAX(ABS(UELEM(1)),ABS(UELEM(2)),ABS(UELEM(3)), * ABS(UELEM(4)),ABS(UELEM(5)),ABS(UELEM(6))) X(1)=125.D-3*(UELEM(4)+UELEM(6)) X(2)=125.D-3*(UELEM(3)+UELEM(5)) X(3)=125.D-3*(UELEM(2)+UELEM(1)) C Y(1)=125.D-3*(UELEM(6)-UELEM(4)) Y(2)=125.D-3*(UELEM(3)-UELEM(5)) Y(3)=125.D-3*(UELEM(1)-UELEM(2)) C IF(ABS(X(1))/Q.GT.1.D-11)THEN IF(ABS(X(2))/Q.GT.1.D-11)THEN IF(ABS(X(3))/Q.GT.1.D-11)THEN DO 3 I4=1,IDIM XARI(I4)=(XDEP(I4)*EXP(125.D-3*X(I4)*DTINT))+ * ((Y(I4)/X(I4))*(1-EXP(125.D-3*X(I4)*DTINT))) 3 CONTINUE C C SI L'EQUATION SUIVANT Z DIFFERE C ELSE XARI(1)=(XDEP(1)*EXP(125.D-3*X(1)*DTINT))+ * ((Y(1)/X(1))*(1-EXP(125.D-3*X(1)*DTINT))) XARI(2)=(XDEP(2)*EXP(125.D-3*X(2)*DTINT))+ * ((Y(2)/X(2))*(1-EXP(125.D-3*X(2)*DTINT))) XARI(3)=XDEP(3)-(Y(3)*DTINT) C C SI L'EQUATION SUIVANT Y DIFFERE C ENDIF ELSE XARI(1)=(XDEP(1)*EXP(125.D-3*X(1)*DTINT))+ * ((Y(1)/X(1))*(1-EXP(125.D-3*X(1)*DTINT))) XARI(3)=(XDEP(3)*EXP(125.D-3*X(3)*DTINT))+ * ((Y(3)/X(3))*(1-EXP(125.D-3*X(3)*DTINT))) XARI(2)=XDEP(2)-(Y(2)*DTINT) C C SI L'EQUATION SUIVANT X DIFFERE C ENDIF ELSE IF(ABS(X(2))/Q.GT.1.D-11)THEN XARI(3)=(XDEP(3)*EXP(125.D-3*X(3)*DTINT))+ * ((Y(3)/X(3))*(1-EXP(125.D-3*X(3)*DTINT))) XARI(2)=(XDEP(2)*EXP(125.D-3*X(2)*DTINT))+ * ((Y(2)/X(2))*(1-EXP(125.D-3*X(2)*DTINT))) XARI(1)=XDEP(1)-(Y(1)*DTINT) C C TOUS LES FLUX SE COMPENSENT ELSE DO 4 I5=1,IDIM XARI(I5)=XDEP(I5)-(Y(I5)*DTINT) 4 CONTINUE ENDIF ENDIF CC CC CC*** PRISME PRI6 CC ELSEIF(ITYEL.EQ.16)THEN C Q=MAX(ABS(UELEM(1)),ABS(UELEM(2)),ABS(UELEM(3)), * ABS(UELEM(4)),ABS(UELEM(5))) VAR=(UELEM(3)+UELEM(4)+UELEM(5))/2.D0 C SI LES FLUX NE SE COMPENSENT PAS C IDIM=3 VAR=(UELEM(3)+UELEM(4)+UELEM(5)) X(1)=UELEM(5) X(2)=UELEM(3) X(3)=(UELEM(2)-UELEM(1)) C IF(ABS(VAR)/Q.GT.1.D-10)THEN XARI(1)=(XDEP(1)*EXP(5.D-1*VAR*DTINT))+((X(1)/VAR)* * (1.D0-EXP(5.D-1*VAR*DTINT))) XARI(2)=(XDEP(2)*EXP(5.D-1*VAR*DTINT))+((X(2)/VAR)* * (1.D0-EXP(5.D-1*VAR*DTINT))) XARI(3)=(XDEP(3)*EXP(-1.D0*VAR*DTINT))+((X(3)/VAR)* * (1.D0-EXP(-1.D0*VAR*DTINT))) C ELSE C C SI LES FLUX SE COMPENSENT C XARI(1)=XDEP(1)-(5.D-1*X(1)*DTINT) XARI(2)=XDEP(2)-(5.D-1*X(2)*DTINT) XARI(3)=XDEP(3)+(X(3)*DTINT) C ENDIF ENDIF END
© Cast3M 2003 - Tous droits réservés.
Mentions légales