1 : C GTEMRD SOURCE CHAT 05/01/13 00:21:53 5004 2 : 3 : C----------------------------------------------------------------------- 4 : C ENTREES 5 : C XEL(3,NBNO)=COORDONNEES LOCALES DE L ELEMENT 6 : C SHP(6,NBNO)=DERIVEES PAR RAPPORT A LA GEOMETRIE DE REFERENCE 7 : C JDIM=DIMENSION 8 : C NBNO=NOMBRE DE NOEUDS 9 : C SORTIES 10 : C DJAC =JACOBIEN 11 : C----------------------------------------------------------------------- 12 : SUBROUTINE GTEMRD (XEL,SHP,JDIM,NBNO,DJAC) 13 : 14 : IMPLICIT INTEGER(I-N) 15 : IMPLICIT REAL*8 (A-H,O-Z) 16 : 17 : -INC CCOPTIO 18 : 19 : DIMENSION XEL(3,*),SHP(6,*) 20 : 21 : C CAS 1 DIMENSION 22 : IF (JDIM.EQ.1) THEN 23 : IF (IDIM.EQ.1) THEN 24 : dXdQsi=0. 25 : DO i=1,NBNO 26 : dXdQsi=dXdQsi+SHP(2,i)*XEL(1,i) 27 : ENDDO 28 : DJAC=ABS(dXdQsi) 29 : ELSE IF (IDIM.EQ.2) THEN 30 : dXdQsi=0. 31 : dYdQsi=0. 32 : DO i=1,NBNO 33 : dXdQsi=dXdQsi+SHP(2,i)*XEL(1,i) 34 : dYdQsi=dYdQsi+SHP(2,i)*XEL(2,i) 35 : ENDDO 36 : DJAC=SQRT(dXdQsi*dXdQsi+dYdQsi*dYdQsi) 37 : ELSE IF (IDIM.EQ.3) THEN 38 : dXdQsi=0. 39 : dYdQsi=0. 40 : dZdQsi=0. 41 : DO i=1,NBNO 42 : dXdQsi=dXdQsi+SHP(2,i)*XEL(1,i) 43 : dYdQsi=dYdQsi+SHP(2,i)*XEL(2,i) 44 : dZdQsi=dZdQsi+SHP(2,i)*XEL(3,i) 45 : ENDDO 46 : DJAC=SQRT(dXdQsi*dXdQsi+dYdQsi*dYdQsi+dZdQsi*dZdQsi) 47 : ENDIF 48 : 49 : C CAS 2 DIMENSIONS 50 : ELSE IF (JDIM.EQ.2) THEN 51 : dXdQsi=0. 52 : dYdQsi=0. 53 : dZdQsi=0. 54 : dXdEta=0. 55 : dYdEta=0. 56 : dZdEta=0. 57 : IF (IDIM.EQ.3) THEN 58 : DO i=1,NBNO 59 : dXdQsi=dXdQsi+SHP(2,i)*XEL(1,i) 60 : dXdEta=dXdEta+SHP(3,i)*XEL(1,i) 61 : dYdQsi=dYdQsi+SHP(2,i)*XEL(2,i) 62 : dYdEta=dYdEta+SHP(3,i)*XEL(2,i) 63 : dZdQsi=dZdQsi+SHP(2,i)*XEL(3,i) 64 : dZdEta=dZdEta+SHP(3,i)*XEL(3,i) 65 : ENDDO 66 : V1=dYdQsi*dZdEta-dZdQsi*dYdEta 67 : V2=dZdQsi*dXdEta-dXdQsi*dZdEta 68 : V3=dXdQsi*dYdEta-dYdQsi*dXdEta 69 : DJAC=SQRT(V1*V1+V2*V2+V3*V3) 70 : ELSE IF (IDIM.EQ.2) THEN 71 : DO i=1,NBNO 72 : dXdQsi=dXdQsi+SHP(2,i)*XEL(1,i) 73 : dXdEta=dXdEta+SHP(3,i)*XEL(1,i) 74 : dYdQsi=dYdQsi+SHP(2,i)*XEL(2,i) 75 : dYdEta=dYdEta+SHP(3,i)*XEL(2,i) 76 : ENDDO 77 : DJAC=ABS(dXdQsi*dYdEta-dXdEta*dYdQsi) 78 : ENDIF 79 : 80 : C CAS 3 DIMENSIONS 81 : ELSE IF (JDIM.EQ.3) THEN 82 : D11=0. 83 : D21=0. 84 : D31=0. 85 : D12=0. 86 : D22=0. 87 : D32=0. 88 : D13=0. 89 : D23=0. 90 : D33=0. 91 : DO i=1,NBNO 92 : D11=D11+SHP(2,i)*XEL(1,i) 93 : D21=D21+SHP(3,i)*XEL(1,i) 94 : D31=D31+SHP(4,i)*XEL(1,i) 95 : D12=D12+SHP(2,i)*XEL(2,i) 96 : D22=D22+SHP(3,i)*XEL(2,i) 97 : D32=D32+SHP(4,i)*XEL(2,i) 98 : D13=D13+SHP(2,i)*XEL(3,i) 99 : D23=D23+SHP(3,i)*XEL(3,i) 100 : D33=D33+SHP(4,i)*XEL(3,i) 101 : ENDDO 102 : DInv11=D22*D33-D23*D32 103 : DInv12=D32*D13-D12*D33 104 : DInv13=D12*D23-D22*D13 105 : DJAC=ABS(D11*DInv11+D21*DInv12+D31*DInv13) 106 : ENDIF 107 : 108 : RETURN 109 : END 110 : 111 : 112 :
© Cast3M 2003 - All rights reserved.
Disclaimer