s0ajno
C S0AJNO SOURCE PV 22/04/25 21:15:11 11344 C ***************************************************************** C MODULE : ST (STRUCTURE DES DONNEES) C FICHIER : ST_0DSTRUCT.F C OBJET : AJOUT DE POINTS DANS UN MAILLAGE C FONCT. : C S0AJNO : AJOUTE UN POINT ISOLE OU LIBRE C S0DTNO : SUPPRIME LE POINT ISOLE OU LIBRE C C AUTEUR : O. STAB C DATE : 03.95 C TESTS : A FAIRE C MODIFICATIONS : C AUTEUR, DATE, OBJET : C C C ***************************************************************** C C > NOETRI,NOEMAX,NNEW,iarr) C ***************************************************************** C OBJET : AJOUTE UN POINT ISOLE OU LIBRE C EN ENTREE : C XYZ : TABLEAU DES COORDONNEES DU POINT C COORD : TABLEAU DES COORDONNEES DE TOUS LES POINTS C IDIMC : DIMENSION DE L'ESPACE C NBN : NOMBRE DE NOEUDS DEJA EXISTANT C NBNMAX: NOMBRE MAXIMUM DE NOEUD DANS COORD C NOEMAX : SI = 0 NOETRI N'EST PAS MIS A JOUR C SINON NOEMAX = TAILLE DE NOETRI C EN SORTIE : C COORD, NOETRI ET NBN MODIFIES C NNEW : NUMERO DU NOEUD AJOUTE C iarr : CODE D'ERREUR 0 SI OK, -2 SI COORD EST TROP PETIT C ***************************************************************** IMPLICIT INTEGER(I-N) REAL*8 XYZ(*),COORD(*) INTEGER IDIMC,NBN,NBNMAX,iarr INTEGER NOETRI(*),NOEMAX,NNEW C INTEGER J C IF( NBN.GE.NBNMAX )THEN iarr = -2 GOTO 999 ENDIF NBN = NBN + 1 DO 10 J=1,IDIMC COORD((NBN-1)*IDIMC+J) = XYZ(J) 10 CONTINUE NNEW = NBN IF( NOEMAX.GT. 0 )THEN IF( NOEMAX.LT.NNEW )THEN iarr =-2 GOTO 999 ENDIF NOETRI(NNEW) = 0 ENDIF iarr = 0 999 END
© Cast3M 2003 - Tous droits réservés.
Mentions légales