C TTRI3A SOURCE CHAT 05/01/13 03:54:37 5004 SUBROUTINE TTRI3A(POINTS,QSIGAU,ETAGAU,POIGAU,SHPTOT) IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) ************************************************************************ * * T T R I 3 A * ----------- * * FONCTION: ON ACQUIERT: * --------- - LES COORDONNEES INTRINSEQUES * - LES FONCTIONS DE FORME ET LEURS DERIVEES * POUR L'ELEMENT DE THERMIQUE TRI3. * * MODULES UTILISES: * ----------------- * -INC CCOPTIO * * PARAMETRES: (E)=ENTREE (S)=SORTIE (+ = CONTENU DANS UN COMMUN) * ----------- * * POINTS (E) CHAINE DE CARACTERES: * 'NOEUDS' SI ON VEUT LES VALEURS AUX NOEUDS * 'GAUSS' POUR LES VALEURS AUX POINTS DE GAUSS. * QSIGAU (S) | * ETAGAU (S) | COORDONNEES INTRINSEQUES. * POIGAU (S) POIDS D'INTEGRATION,SI ON A 'GAUSS'. * SHPTOT (S) FONCTIONS DE FORME ET LEURS DERIVEES. * REAL*8 QSIGAU(3),ETAGAU(3),POIGAU(3) REAL*8 SHPTOT(6,3,3) CHARACTER*(*) POINTS * * CONSTANTES: * ----------- * * PARAMETER ( O0=0.D0 ) PARAMETER ( O1=1.D0 ) PARAMETER ( O5=0.5D0 ) PARAMETER ( O66=0.666666666666666666D0 ) PARAMETER ( O16=0.166666666666666666D0 ) * * * AUTEUR, DATE DE CREATION: * ------------------------- * * DENIS ROBERT,LE 03 FEVRIER 1988. * * LANGAGE: * -------- * * FORTRAN77 * ************************************************************************ * IF (POINTS(1:5).EQ.'NOEUD') GOTO 66 IF (POINTS(1:5).NE.'GAUSS') GOTO 100 * * COORDONNEES DES 3 POINTS DE GAUSS * NBPGAU=3 NBNO=3 QSIGAU(1)=O16 ETAGAU(1)=O16 QSIGAU(2)=O16 ETAGAU(2)=O66 QSIGAU(3)=O66 ETAGAU(3)=O16 POIGAU(1)=O16 POIGAU(2)=O16 POIGAU(3)=O16 GOTO 2 * * COORDONNEES DES NOEUDS * 66 CONTINUE NBNO=3 NBPGAU=NBNO QSIGAU(2)=O1 ETAGAU(3)=O1 POIGAU(1)=O16 POIGAU(2)=O16 POIGAU(3)=O16 * * FONCTIONS DE FORME ET LEURS DERIVEES * 2 DO 1 I=1,NBPGAU XI=QSIGAU(I) YI=ETAGAU(I) AUX=O1-XI-YI SHPTOT(1,1,I)=AUX SHPTOT(1,2,I)=XI SHPTOT(1,3,I)=YI SHPTOT(2,1,I)=-O1 SHPTOT(2,2,I)=O1 SHPTOT(2,3,I)=O0 SHPTOT(3,1,I)=-O1 SHPTOT(3,2,I)=O0 SHPTOT(3,3,I)=O1 * 1 CONTINUE RETURN 100 CONTINUE CALL ERREUR(19) * END