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