elcree
C ELCREE SOURCE CHAT 06/03/29 21:20:05 5360 C C ***************************************************************** C MODULE : EL (INTERFACE CODE DE CALCUL) C FICHIER : NOMILIEU.F C OBJET : CALCUL ET TRANSFERT DES NOEUDS MILIEU C FONCT. : C C ------ INDICES RELATIFS DES SOMMETS ET NOEUDS DES ELEMENTS ---- C OBJET ELNOSO : NOEUD ET SOMMET D UN ELEMENT C OBJET ELARSO : LES 2 SOMMETS D'UNE ARETE C OBJET ELARNO : LE (LES) NOEUDS MILIEU SUR UNE ARETE C OBJET ELSOAR : L'ARETE ENTRE 2 SOMMETS C C ------ TRANSFERT DES NOEUDS MILIEU ---- C OBJET ELTRNO : TRANSFERT LES NOEUDS MILIEU D'UN MAILLAGE A UN C OBJET AUTRE C C AUTEUR : O. STAB C DATE : 05.11.96 C TESTS : A FAIRE C C MODIFICATIONS : C AUTEUR, DATE, OBJET : C C C ***************************************************************** > ICODE2,ITSOVO,ISENS,IDE2,ITRNO2,NBNMX2,NBE2, > iarr) C ***************************************************************** C OBJET ELTRNO : CREE UN MAILLAGE AVEC DES NOEUDS SUPPLEMENTAIRES C C EN ENTREE : C ---------- LE MAILLAGE INITIAL ------------------------- C IDE1 : DIMENSION DES ELEMENTS C ITRNO1 : NOEUDS DES ELEMENTS C NBNMX1 : NOMBRE DE NOEUDS D'UN ELEMENT C NBE1 : NOMBRE D'ELEMENTS C ---------- LE MAILLAGE AVEC NOEUDS SUPPLEMENTAIRES ----- C ICODE2 : CODE DES ELEMENTS DE ITRNO2 C ITSOVO : POSITIONS DES SOMMETS POUR LE TRANSFERT C ITRNO1 --> ITRNO2 C ISENS : = 1 ITRNO2 A PLUS DE NOEUDS QUE ITRNO1 C ITRNO1(I) --> ITRNO2(ITSOVO(I)) C = -1 ITRNO2 A MOINS DE NOEUDS QUE ITRNO1 C ITRNO1(ITSOVO(I)) --> ITRNO2(I) C 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 (TRANSFERES DE ITRNO1) C iarr : CODE D'ERREUR C ***************************************************************** IMPLICIT INTEGER(I-N) INTEGER IDE1,ITRNO1(*),NBNMX1,NBE1 INTEGER ITSOVO(*) INTEGER ICODE2,ISENS,IDE2,ITRNO2(*),NBNMX2,NBE2,iarr C INTEGER I,J,K C IF(NBNMX2.LE.0)THEN iarr = -2 NBE2 = 0 IDE2 = 0 GOTO 9999 ENDIF C NBE2 = NBE1 IDE2 = IDE1 C C ---- ON AJOUTE DES TROUS (0) DANS ITRNO2 ---- C IF( ISENS .GE. 0 )THEN DO 10 I=1,NBE2*NBNMX2 ITRNO2(I) = 0 10 CONTINUE DO 200 I=1,NBE1 DO 100 J=1,NBNMX1 K = ITSOVO(J) IF( K.NE.0 ) > ITRNO2((I-1)*NBNMX2+K)=ITRNO1((I-1)*NBNMX1+J) 100 CONTINUE 200 CONTINUE C C ---- ON SUPPRIME DES NOEUDS DANS ITRNO2 ---- C ELSE DO 400 I=1,NBE2 DO 300 J=1,NBNMX2 K = ITSOVO(J) IF( K.NE.0 ) > ITRNO2((I-1)*NBNMX2+J)=ITRNO1((I-1)*NBNMX1+K) 300 CONTINUE 400 CONTINUE ENDIF C 9999 END
© Cast3M 2003 - Tous droits réservés.
Mentions légales