1 : C COBAR4 SOURCE CHAT 05/01/12 22:12:17 5004 2 : SUBROUTINE COBAR4(X,XELE,TLI) 3 : C 4 : C********************************************************************** 5 : C 6 : C OBJET : CE SOUS-PROGRAMME CALCULE LES FONCTIONS DE FORME DANS UN 7 : C ----- TETRAEDRE AU POINT DONT LES COORDONNEES SONT DANS X 8 : C 9 : C ARGUMENTS: 10 : C --------- 11 : C 12 : C ENTREE : 13 : C X = TABLEAU DES COORDONNEES DU POINT 14 : C XELE = TABLEAU DES COORDONNEES DU TETRAEDRE 15 : C 16 : C SORTIE : 17 : C TLI = TABLEAU DES COORDONNEES BARYCENTRIQUES 18 : C 19 : C*********************************************************************** 20 : C 21 : IMPLICIT INTEGER(I-N) 22 : IMPLICIT REAL*8 (A-H,O-Z) 23 : DIMENSION X(3),XELE(3,*),NUPLAN(4),NOEPLA(4,4), 24 : * AUX(3),TLI(4) 25 : C 26 : C 27 : C 28 : DATA NUPLAN/3,4,2,1/ 29 : DATA NOEPLA/1,3,2,1 ,1,2,4,1 ,2,3,4,2 ,1,4,3,1/ 30 : C 31 : C 32 : C 33 : C 34 : C 35 : C 36 : C 37 : C 38 : DO 20 I=1,4 39 : COEFX=0.0 40 : COEFY=0.0 41 : COEFZ=0.0 42 : CONS =0.0 43 : CONSNI=0.0 44 : IPLAN=NUPLAN(I) 45 : DO 10 J=1,3 46 : J1=J+1 47 : NOE1=NOEPLA(J,IPLAN) 48 : NOE2=NOEPLA(J1,IPLAN) 49 : AUX(J)=XELE(2,NOE1)*XELE(3,NOE2)-XELE(2,NOE2)*XELE(3,NOE1) 50 : AUY=-XELE(1,NOE1)*XELE(3,NOE2)+XELE(1,NOE2)*XELE(3,NOE1) 51 : COEFY=COEFY+AUY 52 : AUZ=XELE(1,NOE1)*XELE(2,NOE2)-XELE(1,NOE2)*XELE(2,NOE1) 53 : COEFZ=COEFZ+AUZ 54 : 10 CONTINUE 55 : COEFX=AUX(1)+AUX(2)+AUX(3) 56 : NOE1=NOEPLA(1,IPLAN) 57 : NOE2=NOEPLA(2,IPLAN) 58 : NOE3=NOEPLA(3,IPLAN) 59 : CONS=-XELE(1,NOE3)*AUX(1)-XELE(1,NOE1)*AUX(2)-XELE(1,NOE2)*AUX(3) 60 : CONSNI=XELE(1,I)*COEFX +XELE(2,I)*COEFY +XELE(3,I)*COEFZ+CONS 61 : PLAN=X(1)*COEFX+X(2)*COEFY+X(3)*COEFZ+CONS 62 : TLI(I)=PLAN/CONSNI 63 : 20 CONTINUE 64 : C 65 : C 66 : 999 RETURN 67 : END 68 :
© Cast3M 2003 - All rights reserved.
Disclaimer