trjpri
C TRJPRI SOURCE CHAT 05/01/13 03:50:42 5004 * ITRI ) C C********************************************************************** C C OBJET : CE SOUS-PROGRAMME CALCULE L'APPARTENANCE DE POINTS A UN C ----- ELEMENT PRISME D'UN MAILLAGE M1. C C ARGUMENTS: C --------- C C ENTREE : IZNOEU = POINTEUR DU SEGMENT CONTENANT LES COORDONNEES C ET LES NUMEROS DES NOEUDS DE L ELEMENT COURANT C IZTRAV = POINTEUR DU SEGMENT CONTENANT LES COORDONNEES C DES POINTS DONT ON CHERCHE L'APPARTENANCE C IZAPAR = POINTEUR DU SEGMENT QUI CONTIENDRA LES C APPARTENANCES C NPAPAR = NOMBRE DE POINTS APPARTENANT A UN ELEMENT C IEL = NUMERO GLOBAL DE L'ELEMENT DANS LE MAILLAGE C J = NUMERO DU POINT TRAITE C ITRI = NUMERO DU TETRAEDRE ELEMENTAIRE DANS LE PRISME C C*********************************************************************** C IMPLICIT INTEGER(I-N) IMPLICIT REAL*8 (A-H,O-Z) DIMENSION TLI(*) DIMENSION XELTET(3,4),IDEPRI(4,3), * NUFACE(4,3),NUARET(6,3),X(3),NFACAR(6,3),NOEARE(6) C C SEGMENT IZAPAR INTEGER IAPAR(4,NPT2) ENDSEGMENT C SEGMENT IZTRAV REAL*8 COOR(NDIM,NPART) ENDSEGMENT SEGMENT IZNOEU REAL*8 XELE(IDIM,NOEL) INTEGER NOEGLO(NOEL) ENDSEGMENT C C C DATA IDEPRI/4,6,5,1, 6,5,1,3, 2,3,1,5/ DATA NUFACE/5,2,0,3, 4,0,0,5, 4,1,0,3/ DATA NUARET/2,4,7,6,0,0, 6,0,9,0,1,0, 5,3,8,1,0,0/ DATA NFACAR/5,3,5,4,3,5, 2,5,4,3,1,4, 1,1,3,1,3,4/ DATA NOEARE/1,3,5,2,4,6/ C IDIM=XELE(/1) NOEL=XELE(/2) INOELO=0 C C*** DECOUPAGE DU PRISME EN 3 TETRAEDRES ET RECHERCHE DE L'APPARTENANCE C*** DES POINTS A CHACUN DES TETRAEDRES. C DO 40 I=1,3 ITRI=I C C DO 20 K=1,4 IN=IDEPRI(K,ITRI) DO 10 L=1,3 XELTET(L,K)=XELE(L,IN) 10 CONTINUE 20 CONTINUE C C C IF(IAPAR(1,J).NE.0) GO TO 9999 X(1)=COOR(1,J) X(2)=COOR(2,J) X(3)=COOR(3,J) IF(IELEM.EQ.0) GO TO 40 C C--- LE POINT APPARTIENT A L'ELEMENT C NPAPAR=NPAPAR+1 IAPAR(1,J)=IEL C C--- APPARTENANCE A UNE FACE DU PRISME C IF(IFATET.EQ.0) GO TO 9999 IAPAR(2,J)=NUFACE(IFATET,ITRI) C C--- APPARTENANCE A UNE ARETE DU PRISME C IF(IARTET.EQ.0) GO TO 9999 IARPRI=NUARET(IARTET,ITRI) IF(IAPAR(2,J).EQ.0.AND.IARTET.NE.0) * IAPAR(2,J)=NFACAR(IARTET,ITRI) IAPAR(3,J)=IARPRI C C--- APPARTENANCE A UN NOEUD DU PRISME C IF(INOTET.EQ.0) GO TO 9999 INOELO=IDEPRI(INOTET,ITRI) IF(IAPAR(3,J).EQ.0) IAPAR(3,J)=NOEARE(INOELO) IARPRI=IAPAR(3,J) IF(IAPAR(2,J).EQ.0) IAPAR(2,J)=NFACAR(IARTET,ITRI) IAPAR(4,J)=NOEGLO(INOELO) GO TO 9999 40 CONTINUE 9999 CONTINUE RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales