rtens5
C RTENS5 SOURCE CHAT 05/01/13 03:09:00 5004 & SHPTOT,XEL,NBNN,NBPGAU,R,SIGFLX,IER1) IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) *-----------------------------------------------------------------------* * Matrice de passage entre le repere local d'une coque en un point * * d'integration et le repere obtenu par projection des axes d'un * * repere global (spherique, cylindrique ou torique) sur cette coque * * * * IMOT (e) type du repere choisi * * = 2 : repere cylindrique * * = 3 : repere spherique * * = 4 : repere torique circulaire * * = 5 : repere torique cartesien * * ICAS (e) identification du module appelant * * = 2 : module coques minces * * = 3 : module coques epaisses * * = 4 : module coques avec cisaillement transverse * * IGAU (e) numero du point d'integration concerne * * NDIM (e) dimension du probleme * * V1 (e) | * * CENTR1 (e) | points servant a la definition du repere * * CENTR2 (e) | * * BPSS (e) matrice de passage repere local / global * * SHPTOT (e) fonctions de forme de l'element-fini * * XEL (e) coordonnees des noeuds de l'element-fini * * NBNN (e) nombre de noeuds dans un element * * NBPGAU (e) nombre de points d'integration dans un element * * R (s) matrice de passage resultat * * SIGFLX (s) * * IER1 (s) code d'erreur * * = 1 : vecteur pas dans le plan de la coque * * = 2 : vecteur radial nul * * * * D.R.-M. le 1/4/94 * *-----------------------------------------------------------------------* * DIMENSION BPSS(3,3),VECWRK(3),V1(3),UV1(3),UV2(3),UV3(3) DIMENSION XEL(3,NBNN),SHPTOT(6,NBNN,NBPGAU),R(NDIM,NDIM) DIMENSION CENTR1(3),CENTR2(3),AXEI1(3),VECX(3),VECY(3) DIMENSION UR(3),UTHETA(3),UPHI(3),UN(3),UT(3),XIGAU(3) DIMENSION BPST(3,3),A(3,3) * PARAMETER (COS1D = 0.99985D0) PARAMETER (SIN1D = 0.01745D0) * IER1 = 0 * DO 1100 IC=1,3 XIGAU(IC) = 0.D0 UTHETA(IC) = 0.D0 UPHI(IC) = 0.D0 UT(IC) = 0.D0 VECX(IC) = 0.D0 VECY(IC) = 0.D0 DO 1100 IL=1,NBNN XIGAU(IC)=XIGAU(IC)+(SHPTOT(1,IL,IGAU)*XEL(IC,IL)) 1100 CONTINUE DO 1110 IC=1,3 UR(IC) = XIGAU(IC) - CENTR1(IC) UN(IC) = UR(IC) 1110 CONTINUE DO 1120 IC=1,3 1120 CONTINUE DO 1130 IC=1,3 1130 CONTINUE DO 1140 IC=1,3 1140 CONTINUE IER1 = 2 RETURN ELSE ENDIF * * On projette les deux vecteurs formant un plan proche de * celui de la coque * IF ((IMOT.EQ.2).OR.(IMOT.EQ.5)) THEN * * >>> Repere CYLINDRIQUE : plan UTHETA V1 <<< * >>> Repere TORIQUE CARTESIEN : plan UTHETA V1 <<< * DO 20 II = 1,3 UV1(II)=UTHETA(II) UV2(II)=V1(II) 20 CONTINUE ENDIF * IF (IMOT.EQ.3) THEN * * >>> Repere SPHERIQUE : plan UTHETA UPHI <<< * UR(1) = UN(1) UR(2) = UN(2) UR(3) = UN(3) UPHI(1) = UTHETA(1) UPHI(2) = UTHETA(2) UPHI(3) = UTHETA(3) DO 30 II = 1,3 UV1(II)=UTHETA(II) UV2(II)=UPHI(II) 30 CONTINUE ENDIF * IF (IMOT.EQ.4) THEN * * >>> Repere TORIQUE CIRCULAIRE : plan UTHETA UT <<< * VECWRK(1) = CENTR2(1) - CENTR1(1) VECWRK(2) = CENTR2(2) - CENTR1(2) VECWRK(3) = CENTR2(2) - CENTR1(3) DO 40 II = 1,3 UV1(II)=UTHETA(II) UV2(II)=UT(II) 40 CONTINUE ENDIF * * Projection selon BPSS * * Projection du premier vecteur sur la coque * UV11=BPSS(1,1)*UV1(1)+BPSS(1,2)*UV1(2)+BPSS(1,3)*UV1(3) UV12=BPSS(2,1)*UV1(1)+BPSS(2,2)*UV1(2)+BPSS(2,3)*UV1(3) UV1N=SQRT(UV11**2+UV12**2) * IF (UV1N.EQ.0.D0) THEN IER1 = 1 RETURN ENDIF * * Projection du second vecteur sur la coque * UV21=BPSS(1,1)*UV2(1)+BPSS(1,2)*UV2(2)+BPSS(1,3)*UV2(3) UV22=BPSS(2,1)*UV2(1)+BPSS(2,2)*UV2(2)+BPSS(2,3)*UV2(3) UV2N=SQRT(UV21**2+UV22**2) * * si l'axe de revolution est normal à l'element on choisit le repere * utheta (-ur).Le troisieme axe est celui defini par l'utilisateur IF ( UV2N.LT.1D-15) THEN DO 50 II = 1,3 UV2(II)= -UR(II) 50 CONTINUE * * Projection du second vecteur sur la coque * UV21=BPSS(1,1)*UV2(1)+BPSS(1,2)*UV2(2)+BPSS(1,3)*UV2(3) UV22=BPSS(2,1)*UV2(1)+BPSS(2,2)*UV2(2)+BPSS(2,3)*UV2(3) UV2N=SQRT(UV21**2+UV22**2) ENDIF * * Vecteur normal a la coque * WL33=(UV11*UV22-UV12*UV21)/(UV1N*UV2N) * * WL2 est rendu orthogonal a la projection de UV1 * WL21=(-WL33*UV12)/UV1N WL22=( WL33*UV11)/UV1N * R(1,1) = UV11 / UV1N R(2,1) = UV12 / UV1N R(1,2) = WL21 R(2,2) = WL22 IF (ICAS.EQ.2) SIGFLX = WL33 IF (ICAS.EQ.3) R(3,3) = WL33 IF (ICAS.EQ.4) THEN R(3,3) = WL33 SIGFLX = WL33 ENDIF * RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales