1 : C H8CRSP SOURCE CHAT 06/03/29 21:22:55 5360 2 : C 3 : SUBROUTINE H8CRSP( NB1,NB2,NB3, ITRNOE, 4 : > NBNMAX,NBE,NBN,iarr) 5 : C ********************************************************************** 6 : C OBJET H8CRSP : CREATION DE LA TOPOLOGIE D'UNE GRILLE 3D (CAS SIMPLE) 7 : C 8 : C EN ENTREE : 9 : C NB1,NB2,NB3 : NOMBRE D'ELEMENTS DE LA GRILLE SUR LA LIGNE, 10 : C LA COLONNE, LA HAUTEUR 11 : C ITRNOE : TABLEAU DES ELEMENTS (A REMPLIR) 12 : C SA TAILLE DOIT ETRE DE (NB1*NB2*NB3*NBNMAX) 13 : C NBNMAX : NOMBRE MAXIMUM DE NOEUDS PAR ELEMENTS (8 OU +) 14 : C 15 : C EN SORTIE : 16 : C ITRNOE : DEFINITION DES ELEMENTS (HEXA) 17 : C NBE, NBN : NOMBRE D'ELEMENTS ET DE NOEUDS 18 : C iarr : CODE D'ERREUR 19 : C ********************************************************************** 20 : IMPLICIT INTEGER(I-N) 21 : INTEGER NB1,NB2,NB3 22 : INTEGER ITRNOE(*),NBNMAX,NBE,NBN,iarr 23 : C 24 : INTEGER I,J,K,IP,IE 25 : C 26 : iarr = -1 27 : NBE = 0 28 : NBN = 0 29 : IF( NBNMAX.LT.4 )GOTO 999 30 : IF((NB1.LE.0).OR.(NB2.LE.0))GOTO 999 31 : iarr = 0 32 : NBE = NB1*NB2*NB3 33 : NBN = (NB1+1)*(NB2+1)*(NB3+1) 34 : DO 20 K=1,NB3 35 : DO 10 J=1,NB2 36 : DO 5 I=1,NB1 37 : IE = I + (J-1)*NB1+(K-1)*NB1*NB2 38 : IP = I + (J-1)*(NB1+1)+(K-1)*(NB1+1)*(NB2+1) 39 : C 40 : ITRNOE((IE-1)*NBNMAX+1)= IP 41 : ITRNOE((IE-1)*NBNMAX+2)= IP+1 42 : ITRNOE((IE-1)*NBNMAX+3)= IP+(NB1+1)+1 43 : ITRNOE((IE-1)*NBNMAX+4)= IP+(NB1+1) 44 : ITRNOE((IE-1)*NBNMAX+5)= IP+(NB1+1)*(NB2+1) 45 : ITRNOE((IE-1)*NBNMAX+6)= IP+(NB1+1)*(NB2+1)+ 1 46 : ITRNOE((IE-1)*NBNMAX+7)= IP+(NB1+1)*(NB2+1)+(NB1+1)+1 47 : ITRNOE((IE-1)*NBNMAX+8)= IP+(NB1+1)*(NB2+1)+(NB1+1) 48 : 5 CONTINUE 49 : 10 CONTINUE 50 : 20 CONTINUE 51 : 999 END 52 : 53 : 54 :
© Cast3M 2003 - All rights reserved.
Disclaimer