1 : C COQLOC SOURCE CHAT 05/01/12 22:22:17 5004 2 : SUBROUTINE COQLOC(NBNN,XE,COSD1,COSD2,XEL) 3 : IMPLICIT INTEGER(I-N) 4 : IMPLICIT REAL*8(A-H,O-Z) 5 : ************************************************************************ 6 : * 7 : * C O Q L O C 8 : * ----------- 9 : * 10 : * FONCTION: 11 : * --------- 12 : * TRANFORMATION DES COORDONNEES GLOBALES (3D) EN 13 : * COORDONNEES LOCALES (2D) POUR L'ELEMENT COQ3 14 : * 15 : * 16 : * PARAMETRES: (E)=ENTREE (S)=SORTIE (+ = CONTENU DANS UN COMMUN) 17 : * ----------- 18 : * 19 : * NBNN (E) NOMBRE DE NOEUDS DANS L'ELEMENT (ICI 3) 20 : * XE (E) COORDONNEES GLOBALES (3D) DES NOEUDS 21 : * COSD1 (S) PREMIER VECTEUR DU REPERE LOCAL 2D 22 : * COSD2 (S) DEUXIEME VECTEUR DU REPERE LOCAL 2D 23 : * XEL (S) COORDONNEES LOCALES (2D) DES NOEUDS 24 : * 25 : REAL*8 XE(3,NBNN),XEL(3,NBNN) 26 : REAL*8 COSD1(3),COSD2(3),COSD3(3) 27 : * 28 : * AUTEUR, DATE DE CREATION: 29 : * ------------------------- 30 : * 31 : * YANN STEPHAN , FEVRIER 1997 32 : * 33 : * LANGAGE: 34 : * -------- 35 : * 36 : * FORTRAN77 37 : * 38 : ************************************************************************ 39 : * 40 : * INITIALISATION 40 : CALL ZERO(XEL,3,NBNN) 41 : * 42 : * CALCUL DES COORDONNEES DES NOEUDS DANS LE REPERE LOCAL DE L' 43 : * ELEMENT COQUE 44 : * 45 : DO 60 I=1,3 46 : COSD1(I)=XE(I,2)-XE(I,1) 47 : COSD2(I)=XE(I,3)-XE(I,1) 48 : 60 CONTINUE 49 : * 50 : COSD3(1)=COSD1(2)*COSD2(3)-COSD1(3)*COSD2(2) 51 : COSD3(2)=COSD1(3)*COSD2(1)-COSD1(1)*COSD2(3) 52 : COSD3(3)=COSD1(1)*COSD2(2)-COSD1(2)*COSD2(1) 53 : * 54 : COSD1L=SQRT(COSD1(1)*COSD1(1)+COSD1(2)*COSD1(2)+ 55 : . COSD1(3)*COSD1(3)) 56 : COSD3L=SQRT(COSD3(1)*COSD3(1)+COSD3(2)*COSD3(2)+ 57 : . COSD3(3)*COSD3(3)) 58 : * 59 : DO 70 I=1,3 60 : COSD1(I)=COSD1(I)/COSD1L 61 : COSD3(I)=COSD3(I)/COSD3L 62 : 70 CONTINUE 63 : * 64 : COSD2(1)=COSD3(2)*COSD1(3)-COSD3(3)*COSD1(2) 65 : COSD2(2)=COSD3(3)*COSD1(1)-COSD3(1)*COSD1(3) 66 : COSD2(3)=COSD3(1)*COSD1(2)-COSD3(2)*COSD1(1) 67 : * 68 : DO 80 NOE=1,NBNN 69 : DO 80 I=1,3 70 : XEL(1,NOE)=XEL(1,NOE)+XE(I,NOE)*COSD1(I) 71 : XEL(2,NOE)=XEL(2,NOE)+XE(I,NOE)*COSD2(I) 72 : 80 CONTINUE 73 : RETURN 74 : END 75 : 76 :
© Cast3M 2003 - All rights reserved.
Disclaimer