coq2co
C COQ2CO SOURCE CHAT 06/03/29 21:17:23 5360 + AMM,IARR,XDPGE,YDPGE,VROT) C C*********************************************************************** C MATRICE DE MASSE D'UN ELEMENT COQUE A 2 NOEUDS C CODE X.DE MAZANCOURT DECEMBRE 85 C*********************************************************************** C ENTREES C Q(3,2) : COORDONNEES DES 2 NOEUDS , R PUIS Z C E : EPAISSEUR ( CONSTANTE ) C RHO : MASSE VOLUMIQUE C IMATMA=1-MATRICE MASSE- OU 0-VECTEUR MASSE-(CAS DE MATR DIAGONALE) C AVANT L'APPEL IL EST MIS A 1 C IFOUR=IFOUR DE CCOPTIO C NIFOU=NIFOUR DE CCOPTIO C LRE = TAILEE DE LA MATRICE MASSE 6 SI IFOU.LE.0 8 SI IFOU.GT.0 C SORTIE C AMM(LRE,LRE) = MATRICE DE MASSE C IARR:INDICATEUR D'ERREUR,VAUT ZERO NORMALEMENT C*********************************************************************** IMPLICIT INTEGER(I-N) IMPLICIT REAL*8 (A-H,O-Z) C Include contenant quelques constantes dont XPI : -INC CCREEL DIMENSION Q(3,*),AM(8,8),AMM(LRE,*),VROT(*) C C ---------- INITIALISATION C IARR=0 R=.5D0*(Q(1,1)+Q(1,2)) Y=.5D0*(Q(2,1)+Q(2,2)) XD=XDPGE-R YD=Y-YDPGE SP=(Q(1,2)-Q(1,1)) CP=(Q(2,2)-Q(2,1)) D2=CP*CP+SP*SP D=SQRT(D2) E2=E*E OMEGA = VROT(2) C C ---------- PRELIMINAIRES C 20 CONTINUE COEF=RHO*E*XPI*OMEGA C ---------- PRELIMINAIRES IF(NIFOU.EQ.0) THEN COEF= 1.*COEF ELSE COEF= 0.5*COEF ENDIF SP=SP/D CP=CP/D C C ---------- CALCULS AM(1,3) = -D*COEF*(((CP**2)*D*SP)-(2*(CP**2)*R)+ . (10.D0*D*SP)-(40.D0*R))/60.D0 AM(1,7) = -D*COEF*(((CP**2)*D*SP)+(2*(CP**2)*R) . -(20.D0*R))/60.D0 AM(2,3) = CP*SP*((-2.D0*R)+(D*SP))*COEF*D/60.D0 AM(2,7) = SP*D*CP*COEF*((D*SP)+(2.D0*R))/60.D0 AM(4,3) = (D**2)*COEF*CP*((D*SP)-(6.D0*R))/60.D0 AM(4,7) = -1.D0*(D**2)*COEF*CP*R/15.D0 AM(5,3) = D*COEF*(((CP**2)*D*SP)-(2.D0*(CP**2)*R)+ . (20.D0*R))/60.D0 AM(5,7) = D*COEF*(((CP**2)*D*SP)+(2*(CP**2)*R) . +(10.D0*D*SP)+(40.D0*R))/60.D0 AM(6,3) = -1.D0*CP*SP*((-2.D0*R)+(D*SP))*COEF*D/60.D0 AM(6,7) = -1.D0*SP*D*CP*COEF*((D*SP)+(2.D0*R))/60.D0 AM(8,3) = (D**2)*COEF*CP*R/15.D0 AM(8,7) = (D**2)*COEF*CP*((D*SP)+(6.D0*R))/60.D0 C COEF2 = -1.D0 AM(3,1) = COEF2*AM(1,3) AM(7,1) = COEF2*AM(1,7) AM(3,2) = COEF2*AM(2,3) AM(7,2) = COEF2*AM(2,7) AM(3,4) = COEF2*AM(4,3) AM(7,4) = COEF2*AM(4,7) AM(3,5) = COEF2*AM(5,3) AM(7,5) = COEF2*AM(5,7) AM(3,6) = COEF2*AM(6,3) AM(7,6) = COEF2*AM(6,7) AM(3,8) = COEF2*AM(8,3) AM(7,8) = COEF2*AM(8,7) C DO 70 I=1,8 DO 71 J=1,8 AMM (2*I-1,2*J) = (-1.D0)*AM (I,J) AMM (2*I,2*J-1) = (-1.D0)*AM (I,J) 71 CONTINUE 70 CONTINUE C RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales