g2orq4
C G2ORQ4 SOURCE CHAT 06/03/29 21:22:09 5360 C C > COORD,IDIMC,N1,VK, > ITVL,NTIMAX, > IGR,NBCOL,NBLIG,NGRMAX,ICOIN,iarr ) C ********************************************************************** C OBJET G2ORQ4 : CREATION D'UNE GRILLE ORIENTE A PARTIR D'UN MAILLAGE C C EN ENTREE : C ITRNOE,NBNMAX,ITRTRI,NBCMAX,NBE : LE MAILLAGE C COORD,IDIMC : TABLEAU DES POINTS ET DIMENSION C C N1 : NUMERO DU NOEUD QUE L'ON SOUHAITE POUR L'ORIGINE DE LA GRILLE C SI N1=0 ON N'IMPOSE PAS L'ORIGINE C VK : ORIENTATION DE LA GRILLE, DIRECTION SOUHAITE EN N1 C SI IDIMC = 0, ON N'IMPOSE PAS D'ORIENTATION. C C ITVL(ITVMAX) : TABLEAU DE TRAVAIL (ENTIERS) C NTIMAX: TAILLE DU TABLEAU ITVL C ON A BESOIN DU TABLEAU DE TRAVAIL SEULEMENT SI ON CHANGE C SIMULTANEMENT L'ORIGINE ET L'ORIENTATION DU MAILLAGE. C LA PLACE NECESSAIRE EST ALORS DE : NBCOL*NBLIG = NBN C QUI EST TOUJOURS INFERIEUR A : 3 + 2*NBE C C IGR1 : TABLEAU DE LA GRILLE (A REMPLIR) C NGRMAX : TAILLE MAXIMUM DE IGR1 C C EN SORTIE : C IGR(NBCOL,NBLIG) : TABLEAU D'INDICES DES NOEUDS (LA GRILLE) C ICOIN() : TABLEAU DONNANT LES INDICES DES COINS. C C ********************************************************************** IMPLICIT INTEGER(I-N) INTEGER ITRNOE(*),NBNMAX,ITRTRI(*),NBCMAX,NBE INTEGER IGR(*),NBCOL,NBLIG,NGRMAX REAL*8 COORD(*),VK(*) INTEGER IDIMC,N1,ITVL(*),NTIMAX,ICOIN(*),iarr C INTEGER I C ---------------------- C --- CALCUL DE LA GRILLE --- C ---------------------- C > IGR,NBCOL,NBLIG,NGRMAX,iarr) IF(iarr.NE.0)THEN GOTO 9999 ENDIF C C CALL G2COIN(NBCOL,NBLIG,ICOIN) ICOIN(1) = 1 ICOIN(2) = NBCOL ICOIN(3) = NBCOL*NBLIG ICOIN(4) = NBCOL*NBLIG - NBCOL + 1 DO 10 I=1,4 ICOIN(I) = IGR(ICOIN(I)) 10 CONTINUE IF( iarr.NE. 0 )THEN GOTO 9999 ENDIF C C --- ORIENTATION --- C > ITVL,NTIMAX,iarr ) IF( iarr.NE. 0 )THEN GOTO 9999 ENDIF C 9999 END
© Cast3M 2003 - Tous droits réservés.
Mentions légales