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