1 : C TTRI6A SOURCE CHAT 05/01/13 03:54:50 5004 2 : SUBROUTINE TTRI6A(POINTS,QSIGAU,ETAGAU,POIGAU,SHPTOT) 3 : IMPLICIT INTEGER(I-N) 4 : IMPLICIT REAL*8(A-H,O-Z) 5 : ************************************************************************ 6 : * 7 : * T T R I 6 A 8 : * ----------- 9 : * 10 : * FONCTION: ON ACQUIERT: 11 : * --------- - LES COORDONNEES INTRINSEQUES 12 : * - LES FONCTIONS DE FORME ET LEURS DERIVEES 13 : * POUR L'ELEMENT DE THERMIQUE TRI6 14 : * 15 : * MODULES UTILISES: 16 : * ----------------- 17 : * 18 : -INC CCOPTIO 19 : * 20 : * PARAMETRES: (E)=ENTREE (S)=SORTIE (+ = CONTENU DANS UN COMMUN) 21 : * ----------- 22 : * 23 : * POINTS (E) CHAINE DE CARACTERES: 24 : * 'NOEUDS' SI ON VEUT LES VALEURS AUX NOEUDS 25 : * 'GAUSS' POUR LES VALEURS AUX POINTS DE GAUSS. 26 : * QSIGAU (S) | 27 : * ETAGAU (S) | COORDONNEES INTRINSEQUES 28 : * POIGAU (S) POIDS D'INTEGRATION,SI ON A GAUSS 29 : * SHPTOT (S) FONCTIONS DE FORME ET LEURS DERIVEES. 30 : * 31 : REAL*8 QSIGAU(7),ETAGAU(7),POIGAU(7) 32 : REAL*8 SHPTOT(6,6,7) 33 : CHARACTER*(*) POINTS 34 : * 35 : * CONSTANTES: 36 : * ----------- 37 : * 38 : * 39 : PARAMETER ( O0=0.D0 ) 40 : PARAMETER ( O1=1.D0 ) 41 : PARAMETER ( O2=2.D0 ) 42 : PARAMETER ( O3=3.D0 ) 43 : PARAMETER ( O4=4.D0 ) 44 : PARAMETER ( O5=0.5D0 ) 45 : PARAMETER ( O6=6.D0 ) 46 : PARAMETER ( O9=9.D0 ) 47 : PARAMETER ( O21=21.D0 ) 48 : PARAMETER ( O80=80.D0 ) 49 : PARAMETER ( O155=155.D0 ) 50 : PARAMETER ( O2400=2400.D0 ) 51 : * PARAMETER ( X=SQRT(15.D0) ) 52 : * 53 : * 54 : * AUTEUR, DATE DE CREATION: 55 : * ------------------------- 56 : * 57 : * J-P.SAUSSAIS OCT.77,REPRIS PAR DENIS ROBERT,LE 22 OCTOBRE 1987 58 : * 59 : * LANGAGE: 60 : * -------- 61 : * 62 : * FORTRAN77 63 : * 64 : ************************************************************************ 65 : X=SQRT(15.D0) 66 : * 67 : IF (POINTS(1:5).EQ.'NOEUD') GOTO 66 68 : IF (POINTS(1:5).NE.'GAUSS') GOTO 100 69 : * 70 : * COORDONNEES DES 7 POINTS DE GAUSS 71 : * 72 : NBPGAU=7 73 : NBNO=6 74 : QSIGAU(1)=O1/O3 75 : ETAGAU(1)=O1/O3 76 : QSIGAU(2)=(O9-O2*X)/O21 77 : ETAGAU(3)=(O9-O2*X)/O21 78 : ETAGAU(2)=(O6+X)/O21 79 : QSIGAU(3)=(O6+X)/O21 80 : QSIGAU(4)=(O6+X)/O21 81 : ETAGAU(4)=(O6+X)/O21 82 : QSIGAU(5)=(O9+O2*X)/O21 83 : ETAGAU(6)=(O9+O2*X)/O21 84 : ETAGAU(5)=(O6-X)/O21 85 : QSIGAU(6)=(O6-X)/O21 86 : QSIGAU(7)=(O6-X)/O21 87 : ETAGAU(7)=(O6-X)/O21 88 : POIGAU(1)=O9/O80 89 : POIGAU(2)=(O155+X)/O2400 90 : POIGAU(3)=(O155+X)/O2400 91 : POIGAU(4)=(O155+X)/O2400 92 : POIGAU(5)=(O155-X)/O2400 93 : POIGAU(6)=(O155-X)/O2400 94 : POIGAU(7)=(O155-X)/O2400 95 : GOTO 2 96 : * 97 : * COORDONNEES DES NOEUDS 98 : * 99 : 66 CONTINUE 100 : NBNO=6 101 : NBPGAU=NBNO 102 : QSIGAU(1)=O0 103 : ETAGAU(1)=O0 104 : QSIGAU(2)=O5 105 : ETAGAU(2)=O0 106 : QSIGAU(3)=O1 107 : ETAGAU(3)=O0 108 : QSIGAU(4)=O5 109 : ETAGAU(4)=O5 110 : QSIGAU(5)=O0 111 : ETAGAU(5)=O1 112 : QSIGAU(6)=O0 113 : ETAGAU(6)=O5 114 : * 115 : * FONCTIONS DE FORME ET LEURS DERIVEES 116 : * 117 : 2 DO 1 I=1,NBPGAU 118 : XI=QSIGAU(I) 119 : YI=ETAGAU(I) 120 : SHPTOT(1,1,I)=(O1-XI-YI)*(O1-O2*(XI+YI)) 121 : SHPTOT(1,2,I)=O4*XI*(O1-XI-YI) 122 : SHPTOT(1,3,I)=XI*(XI+XI-O1) 123 : SHPTOT(1,4,I)=O4*XI*YI 124 : SHPTOT(1,5,I)=YI*(YI+YI-O1) 125 : SHPTOT(1,6,I)=O4*YI*(O1-XI-YI) 126 : C 127 : SHPTOT(2,1,I)=O4*(XI+YI)-O3 128 : SHPTOT(2,2,I)=O4*(O1-XI-XI-YI) 129 : SHPTOT(2,3,I)=O4*XI-O1 130 : SHPTOT(2,4,I)=O4*YI 131 : SHPTOT(2,5,I)=O0 132 : SHPTOT(2,6,I)=-O4*YI 133 : C 134 : SHPTOT(3,1,I)=O4*(XI+YI)-O3 135 : SHPTOT(3,2,I)=-O4*XI 136 : SHPTOT(3,3,I)=O0 137 : SHPTOT(3,4,I)=O4*XI 138 : SHPTOT(3,5,I)=O4*YI-O1 139 : SHPTOT(3,6,I)=O4*(O1-XI-YI-YI) 140 : 1 CONTINUE 141 : RETURN 142 : 100 CONTINUE 142 : CALL ERREUR(19) 143 : * 144 : END 145 :
© Cast3M 2003 - All rights reserved.
Disclaimer