coq3sh
C COQ3SH SOURCE CHAT 05/01/12 22:21:34 5004 C======================================================================= C C EVALUATION DES FONCTIONS DE FORME DU DKT OU COQ3 C BASE SUR UNE INTERPOLATION CUBIQUE DES FCTNS DE FORME C C ENTREES C QSI ETA COORDONNEES REDUITES DU POINT DE GAUSS C XEL(3,3)=COORDONNEES LOCALES DE L ELEMENT C NOEUD 1 2 SUR L AXE QSI NOEUD 1 EN 0,0,0 C NOEUD 3 DANS LE PLAN QSI ETA C SORTIES C VNM(3,9) = FONCTION DE FORME POUR W C VNM(1,1:9)= VALEUR DE W C VNM(2,1:9)= DERIVEE W,X C VNM(3,1:9)= DERIVEE W,Y C C EBERSOLT SEPTEMBRE 85 C IL EXISTE UNE AUTRE ROUTINE QUI CALCULE QUE W C C EST MFDKT C======================================================================= IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) DIMENSION XEL(3,*),VNM(3,*),VNX(9),VNY(9) DATA UN,DEUX,TROIS,SIX,UNDEMI/1.D0,2.D0,3.D0,6.D0,.5D0/ DATA XZER/0.D0/ C C MISE A ZERO DE VNM C DO 10 IA=1,9 DO 10 IB=1,3 VNM(IB,IA)=XZER 10 CONTINUE C C CALCUL DES FONCTIONS D INTERPOLATION C AL=UN-QSI-ETA A=QSI*ETA*AL C VNM(1,1)= AL*AL*(TROIS-DEUX*AL) +A*DEUX VNM(1,2)= AL*AL*QSI +A*UNDEMI VNM(1,3)= AL*AL*ETA +A*UNDEMI C VNM(1,4)=(TROIS-DEUX*QSI)*QSI*QSI +A*DEUX VNM(1,5)=(QSI-UN)*QSI*QSI -A VNM(1,6)= QSI*QSI*ETA +A*UNDEMI C VNM(1,7)=(TROIS-DEUX*ETA)*ETA*ETA +A*DEUX VNM(1,8)= ETA*ETA*QSI +A*UNDEMI VNM(1,9)=(ETA-UN)*ETA*ETA -A C C DERIVEES PAR RAPPORT A QSI C B = ETA*(AL-QSI) C VNX(1)= SIX*AL*(AL-UN) +B*DEUX VNX(2)=(AL-DEUX*QSI)*AL +B*UNDEMI VNX(3)=-DEUX*AL*ETA +B*UNDEMI C VNX(4)= SIX*QSI*(UN-QSI) +B*DEUX VNX(5)= QSI*(TROIS*QSI-DEUX) -B VNX(6)= DEUX*QSI*ETA +B*UNDEMI C VNX(7)= B*DEUX VNX(8)= ETA*ETA +B*UNDEMI VNX(9)= -B C C DERIVEES PAR RAPPORT A ETA C C = QSI*(AL-ETA) C VNY(1)= SIX*AL*(AL-UN) +C*DEUX VNY(2)=-DEUX*QSI*AL +C*UNDEMI VNY(3)=(AL-DEUX*ETA)*AL +C*UNDEMI C VNY(4)= C*DEUX VNY(5)= -C VNY(6)= QSI*QSI +C*DEUX C VNY(7)= SIX*ETA*(UN-ETA) +C*DEUX VNY(8)= DEUX*QSI*ETA +C*UNDEMI VNY(9)= ETA*(TROIS*ETA-DEUX) -C C C VARIABLES DANS LE REPERE X,Y C X21=XEL(1,2)-XEL(1,1) X13=XEL(1,1)-XEL(1,3) Y13=XEL(2,1)-XEL(2,3) C C CHANGEMENT DE REPERE POUR W C CC =VNM(1,2)*X21-VNM(1,3)*X13 VNM(1,2)=-VNM(1,3)*Y13 VNM(1,3)=-CC CC =VNM(1,5)*X21-VNM(1,6)*X13 VNM(1,5)=-VNM(1,6)*Y13 VNM(1,6)=-CC CC =VNM(1,8)*X21-VNM(1,9)*X13 VNM(1,8)=-VNM(1,9)*Y13 VNM(1,9)=-CC C C CHANGEMENT DE REPERE POUR W,X C VNM(2,1)= VNX(1)/X21 VNM(2,2)=-VNX(3)*Y13/X21 VNM(2,3)=-VNX(2) +VNX(3)*X13/X21 C VNM(2,4)= VNX(4)/X21 VNM(2,5)=-VNX(6)*Y13/X21 VNM(2,6)=-VNX(5) +VNX(6)*X13/X21 C VNM(2,7)= VNX(7)/X21 VNM(2,8)=-VNX(9)*Y13/X21 VNM(2,9)=-VNX(8) +VNX(9)*X13/X21 C C CHANGEMENT DE REPERE POUR W,Y C VNM(3,1)=-VNX(1)*X13/(X21*Y13) - VNY(1)/Y13 VNM(3,2)= VNX(3)*X13/X21 + VNY(3) VNM(3,3)= VNX(2)*X13/Y13 -VNX(3)*X13*X13/(X21*Y13) 1 +VNY(2)*X21/Y13 -VNY(3)*X13/Y13 C VNM(3,4)=-VNX(4)*X13/(X21*Y13) - VNY(4)/Y13 VNM(3,5)= VNX(6)*X13/X21 + VNY(6) VNM(3,6)= VNX(5)*X13/Y13 -VNX(6)*X13*X13/(X21*Y13) 1 +VNY(5)*X21/Y13 -VNY(6)*X13/Y13 C VNM(3,7)=-VNX(7)*X13/(X21*Y13) - VNY(7)/Y13 VNM(3,8)= VNX(9)*X13/X21 + VNY(9) VNM(3,9)= VNX(8)*X13/Y13 -VNX(9)*X13*X13/(X21*Y13) 1 +VNY(8)*X21/Y13 -VNY(9)*X13/Y13 C RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales