eltrno
C ELTRNO SOURCE CHAT 06/03/29 21:20:24 5360 C C > ITRNOE,NBNMAX,ITRTRI,NBCMAX,NOETRI,NOEMAX, > ITVL,NITMAX, > ICODE2,IDE2,ITRNO2,NBNMX2,NBE2, > iarr) C ***************************************************************** C OBJET ELTRNO : TRANSFERT LES NOEUDS MILIEU D'UN MAILLAGE A UN C OBJET AUTRE C C EN ENTREE : C ---------- LE MAILLAGE AVEC NOEUDS A TRANSFERER -------- C ICODE1 : CODE DES ELEMENTS DE ITRNO1 C ITRNO1 : NOEUDS DES ELEMENTS (AVEC NOEUDS MILIEU) C IFARSN : FONCTION QUI RENVOI LES SOMMETS D'UNE ARETE (ELARSN) C ---------- LE MAILLAGE SANS NOEUDS --------------------- C ITRNOE : IDEM ITRNO2 (SANS NOEUDS MILIEU) C ITRTRI : TABLEAU DES ELEMENTS VOISINS C ITRNOE : ELEMENTS INCIDENT AU NOEUDS C NBNMAX : NOMBRE DE NOEUDS D'UN ELEMENT C NBE : NOMBRE D'ELEMENTS = NBE2 C ----------TABLEAU DE TRAVAIL --------------------------- C ITVL : TABLEAU D'ENTIERS C NITMAX : TAILLE DE ITVL C ---------- LE MAILLAGE AVEC NOEUDS QUI RECOIT ---------- C ICODE2 : CODE DES ELEMENTS DE ITRNO2 C IFSNAR : FONCTION QUI RENVOI LES NOEUDS ENTRE 2 SOMMETS (ELSNAR) C IDE2 : DIMENSION DES ELEMENTS C ITRNO2 : NOEUDS DES ELEMENTS (AVEC NOEUDS MILIEU A REMPLIR) C NBNMX2 : NOMBRE DE NOEUDS D'UN ELEMENT C NBE2 : NOMBRE D'ELEMENTS C C EN SORTIE : C ITRNO2 : NOEUDS DES ELEMENTS AVEC NOEUDS MILIEU DE ITRNO1 C iarr : CODE D'ERREUR C ***************************************************************** IMPLICIT INTEGER(I-N) INTEGER ICODE1,IDE1,ITRNO1(*),NBNMX1,NBE1 INTEGER ITRNOE(*),NBNMAX,ITRTRI(*),NBCMAX,NOETRI(*),NOEMAX INTEGER ITVL(*),NITMAX INTEGER ICODE2,IDE2,ITRNO2(*),NBNMX2,NBE2,iarr C INTEGER IEL1 INTEGER NBAR,INDAR,INDSO(2),INDNO(2),NBNO1,NUMSO(2),NUMNO(1),INO INTEGER IEL2,NBS,I,J INTEGER INTSO(24),INTNO(100) INTEGER NBNE1,NBCE1,ITYPE1,IORDR1 C C WRITE(6,*) 'ICODE = ',ICODE1 IF( iarr.NE.0 )THEN GOTO 9999 C ELSE C WRITE(6,*) 'NBNO1 = ',NBNO1 C WRITE(6,*) 'INTNO = ',INTNO C WRITE(6,*) 'NBNMX1 = ',NBNMX1 ENDIF C ---- IL FAUT TROUVER LE NOMBRE C D'ARETES DE L'ELEMENT LINEAIRE C WRITE(6,*) 'NBAR,NBE1 = ',NBAR,NBE1 C DO 200 IEL1=1,NBE1 DO 100 INDAR=1,NBAR C C ================================= C ---- EXTRACTION DES ARETES DE ITRNO1---- C ================================= C C ---- INDICES RELATIFS ---- C INDSO(1) = INTSO((INDAR-1)*2+1) INDSO(2) = INTSO((INDAR-1)*2+2) NBNO1 = INTNO(INDAR+1)-INTNO(INDAR) C WRITE(6,*) 'NBNO1 = ',NBNO1 DO 5 I=1,NBNO1 INDNO(I) = INTNO(INTNO(INDAR-1+I)) 5 CONTINUE C C WRITE(6,*) INDAR,' ARETE DE (S1,S2,N)', C > INDSO(1),INDSO(2),INDNO(1) C C ---- NUMERO ABSOLUS DANS ITRNO1 ------ C WRITE(6,*) 'NBNMX1 = ',NBNMX1 NUMSO(1) = ITRNO1((IEL1-1)*NBNMX1+INDSO(1)) NUMSO(2) = ITRNO1((IEL1-1)*NBNMX1+INDSO(2)) C WRITE(6,*) 'NUMSO = ',NUMSO DO 10 INO=1,NBNO1 NUMNO(INO) = ITRNO1((IEL1-1)*NBNMX1+INDNO(INO)) 10 CONTINUE C C ================================== C ---- AFFECTATION DES ARETES DANS ITRNOE ---- C ================================== IEL2 = NOETRI(NUMSO(1)) IF( IEL2.EQ. 0 )THEN C PRINT *,'ERREUR NOEUD ISOLE' iarr = -1 GOTO 9999 ENDIF NBS = 1 C WRITE(6,*) 'NBNMAX = ',NBNMAX DO 15 J=1,NBNMAX IF( ITRNOE((IEL2-1)*NBNMAX+J).EQ.NUMSO(2) ) > NBS = NBS+1 15 CONTINUE C C WRITE(6,*) 'RECHERCHE ARETE ',NUMSO(1),NUMSO(2) C WRITE(6,*) 'ON PART DE IEL2, NBS =',IEL2,NBS > ICODE2,IDE2,ITRNO2,NBNMX2,NBE2, > ITRNOE,NBNMAX,ITRTRI,NBCMAX, > ITVL,NITMAX,iarr) 100 CONTINUE 200 CONTINUE C 9999 END
© Cast3M 2003 - Tous droits réservés.
Mentions légales