1 : C TCUB8A SOURCE CHAT 05/01/13 03:35:30 5004 2 : SUBROUTINE TCUB8A(POINTS,QSIGAU,ETAGAU,DZEGAU,POIGAU,SHPTOT) 3 : IMPLICIT INTEGER(I-N) 4 : IMPLICIT REAL*8(A-H,O-Z) 5 : ************************************************************************ 6 : * 7 : * T C U B 8 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 CUB8. 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 : * DZEGAU (S) | 29 : * POIGAU (S) POIDS D'INTEGRATION,SI ON A 'GAUSS'. 30 : * SHPTOT (S) FONCTIONS DE FORME ET LEURS DERIVEES. 31 : * 32 : REAL*8 QSIGAU(8),ETAGAU(8),DZEGAU(8),POIGAU(8) 33 : REAL*8 SHPTOT(6,8,8) 34 : CHARACTER*(*) POINTS 35 : * 36 : * CONSTANTES: 37 : * ----------- 38 : * 39 : * 40 : PARAMETER ( X=0.577350269289626D0 ) 41 : PARAMETER ( O1=1.D0 ) 42 : PARAMETER ( O125=0.125D0 ) 43 : * 44 : * 45 : * AUTEUR, DATE DE CREATION: 46 : * ------------------------- 47 : * 48 : * J-P.SAUSSAIS OCT.77,REPRIS PAR DENIS ROBERT,LE 23 OCTOBRE 1987. 49 : * 50 : * LANGAGE: 51 : * -------- 52 : * 53 : * FORTRAN77 54 : * 55 : ************************************************************************ 56 : * 57 : IF (POINTS(1:5).EQ.'NOEUD') GOTO 66 58 : IF (POINTS(1:5).NE.'GAUSS') GOTO 200 59 : * 60 : * COORDONNEES DES 8 POINTS DE GAUSS 61 : * 62 : NBPGAU=8 63 : NBNO=8 64 : QSIGAU(1)=-X 65 : ETAGAU(1)=-X 66 : DZEGAU(1)=-X 67 : QSIGAU(2)=X 68 : ETAGAU(2)=-X 69 : DZEGAU(2)=-X 70 : QSIGAU(3)=X 71 : ETAGAU(3)=X 72 : DZEGAU(3)=-X 73 : QSIGAU(4)=-X 74 : ETAGAU(4)=X 75 : DZEGAU(4)=-X 76 : QSIGAU(5)=-X 77 : ETAGAU(5)=-X 78 : DZEGAU(5)=X 79 : QSIGAU(6)=X 80 : ETAGAU(6)=-X 81 : DZEGAU(6)=X 82 : QSIGAU(7)=X 83 : ETAGAU(7)=X 84 : DZEGAU(7)=X 85 : QSIGAU(8)=-X 86 : ETAGAU(8)=X 87 : DZEGAU(8)=X 88 : * 89 : * POIDS 90 : * 91 : DO 10 I=1,NBPGAU 92 : POIGAU(I)=O1 93 : 10 CONTINUE 94 : GOTO 2 95 : * 96 : * COORDONNEES INTRINSEQUES DES NOEUDS 97 : * 98 : 66 CONTINUE 99 : NBNO=8 100 : NBPGAU=NBNO 101 : QSIGAU(1)=-O1 102 : ETAGAU(1)=-O1 103 : DZEGAU(1)=-O1 104 : QSIGAU(2)=O1 105 : ETAGAU(2)=-O1 106 : DZEGAU(2)=-O1 107 : QSIGAU(3)=O1 108 : ETAGAU(3)=O1 109 : DZEGAU(3)=-O1 110 : QSIGAU(4)=-O1 111 : ETAGAU(4)=O1 112 : DZEGAU(4)=-O1 113 : QSIGAU(5)=-O1 114 : ETAGAU(5)=-O1 115 : DZEGAU(5)=O1 116 : QSIGAU(6)=O1 117 : ETAGAU(6)=-O1 118 : DZEGAU(6)=O1 119 : QSIGAU(7)=O1 120 : ETAGAU(7)=O1 121 : DZEGAU(7)=O1 122 : QSIGAU(8)=-O1 123 : ETAGAU(8)=O1 124 : DZEGAU(8)=O1 125 : * 126 : * FONCTIONS DE FORME ET LEURS DERIVEES 127 : * 128 : 2 DO 20 I=1,NBPGAU 129 : XI=QSIGAU(I) 130 : YI=ETAGAU(I) 131 : ZI=DZEGAU(I) 132 : SHPTOT(1,1,I)=O125*(O1-XI)*(O1-YI)*(O1-ZI) 133 : SHPTOT(1,2,I)=O125*(O1+XI)*(O1-YI)*(O1-ZI) 134 : SHPTOT(1,3,I)=O125*(O1+XI)*(O1+YI)*(O1-ZI) 135 : SHPTOT(1,4,I)=O125*(O1-XI)*(O1+YI)*(O1-ZI) 136 : SHPTOT(1,5,I)=O125*(O1-XI)*(O1-YI)*(O1+ZI) 137 : SHPTOT(1,6,I)=O125*(O1+XI)*(O1-YI)*(O1+ZI) 138 : SHPTOT(1,7,I)=O125*(O1+XI)*(O1+YI)*(O1+ZI) 139 : SHPTOT(1,8,I)=O125*(O1-XI)*(O1+YI)*(O1+ZI) 140 : C 141 : SHPTOT(2,1,I)=-O125*(O1-YI)*(O1-ZI) 142 : SHPTOT(2,2,I)=O125*(O1-YI)*(O1-ZI) 143 : SHPTOT(2,3,I)=O125*(O1+YI)*(O1-ZI) 144 : SHPTOT(2,4,I)=-O125*(O1+YI)*(O1-ZI) 145 : SHPTOT(2,5,I)=-O125*(O1-YI)*(O1+ZI) 146 : SHPTOT(2,6,I)=O125*(O1-YI)*(O1+ZI) 147 : SHPTOT(2,7,I)=O125*(O1+YI)*(O1+ZI) 148 : SHPTOT(2,8,I)=-O125*(O1+YI)*(O1+ZI) 149 : C 150 : SHPTOT(3,1,I)=-O125*(O1-XI)*(O1-ZI) 151 : SHPTOT(3,2,I)=-O125*(O1+XI)*(O1-ZI) 152 : SHPTOT(3,3,I)=O125*(O1+XI)*(O1-ZI) 153 : SHPTOT(3,4,I)=O125*(O1-XI)*(O1-ZI) 154 : SHPTOT(3,5,I)=-O125*(O1-XI)*(O1+ZI) 155 : SHPTOT(3,6,I)=-O125*(O1+XI)*(O1+ZI) 156 : SHPTOT(3,7,I)=O125*(O1+XI)*(O1+ZI) 157 : SHPTOT(3,8,I)=O125*(O1-XI)*(O1+ZI) 158 : C 159 : SHPTOT(4,1,I)=-O125*(O1-XI)*(O1-YI) 160 : SHPTOT(4,2,I)=-O125*(O1+XI)*(O1-YI) 161 : SHPTOT(4,3,I)=-O125*(O1+XI)*(O1+YI) 162 : SHPTOT(4,4,I)=-O125*(O1-XI)*(O1+YI) 163 : SHPTOT(4,5,I)=O125*(O1-XI)*(O1-YI) 164 : SHPTOT(4,6,I)=O125*(O1+XI)*(O1-YI) 165 : SHPTOT(4,7,I)=O125*(O1+XI)*(O1+YI) 166 : SHPTOT(4,8,I)=O125*(O1-XI)*(O1+YI) 167 : 20 CONTINUE 168 : RETURN 169 : 200 CONTINUE 169 : CALL ERREUR(19) 170 : * 171 : END 172 :
© Cast3M 2003 - All rights reserved.
Disclaimer