bnpore
C BNPORE SOURCE CHAT 05/01/12 21:41:47 5004 . DIM3,XEL,SHPTOT,SHP,BGENE,XGENE,DJAC,ICLE) C----------------------------------------------------------------------- C C CALCULE LES MATRICES B ET N DU MILIEU POREUX C C LE RESULTAT EST DANS BGENE ET / OU XGENE C C BGENE(NSTB,LRE) XGENE(NSTN,LRN) C C----------------------------------------------------------------------- C ENTREE : C IGAU=NUMERO DU POINT DE GAUSS C NBNO=NOMBRE DE FONCTIONS DE FORME C NBBB=NOMBRE DE NOEUDS C LRE =NOMBRE DE COLONNES DE LA MATRICE B C IFOU=IFOUR DE CCOPTIO C NSTB=NOMBRE DE LIGNES DE LA MATRICE B C NSTN=NOMBRE DE LIGNES DE LA MATRICE N C DIM3=EPAISSEUR DE L'ELEMENT (CONTRAINTES PLANES) C NN =NUMERO DU MODE DE FOURIER C XEL =COORDONNEES DE L ELEMENT C SHPTOT(6,NBNO,NBGAU)=FONCTIONS DE FORMES ET DERIVEES C ICLE INDICATEUR DE CALCUL C = 1 ON CALCULE B ET NP C = 2 ON CALCULE BP C = 3 ON CALCULE B C = 4 ON CALCULE N C = 5 ON CALCULE N ET NP C ON MET ALORS N DANS BGENE ET NP DANS XGENE C AUTRES VALEURS : COMBINAISONS DES CAS PRECEDENTS C SHP(6,NBNO)=TABLEAU DE TRAVAIL C SORTIE : C DJAC=JACOBIEN C BGENE(6,LRE)=MATRICE B C XGENE(6,LRE)=MATRICE N C----------------------------------------------------------------------- IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) DIMENSION XGENE(NSTN,*) DIMENSION BB(3,9),GEOM(20),XX(3),YY(3) DATA XX/.5D0,.0D0,.5D0/ DATA YY/.0D0,.5D0,.5D0/ C JCLE1=0 JCLE2=0 JCLE3=0 JCLE4=0 LRN =NBNO-NBBB NB1=NBBB+1 IF(ICLE.EQ.1) THEN JCLE1=1 JCLE4=1 ENDIF IF(ICLE.EQ.2) THEN JCLE3=1 ENDIF IF(ICLE.EQ.3) THEN JCLE1=1 ENDIF IF(ICLE.EQ.4) THEN JCLE2=1 ENDIF IF(ICLE.EQ.5) THEN JCLE2=1 JCLE4=1 ENDIF C C IFR=IFOU+4 GOTO (666,10,10,20,30,40) ,IFR GOTO 666 C C ELEMENTS MASSIFS BIDIM CONT OU DEF PLANES C 10 CONTINUE SHP(1,NP)=SHPTOT(1,NP,IGAU) SHP(2,NP)=SHPTOT(2,NP,IGAU) SHP(3,NP)=SHPTOT(3,NP,IGAU) 101 CONTINUE C IF(JCLE1.NE.0) THEN K=1 DO 102 NP=1,NBBB BGENE(1,K )=SHP(2,NP) BGENE(2,K+1)=SHP(3,NP) BGENE(4,K+1)=SHP(2,NP) BGENE(4,K )=SHP(3,NP) 102 K=K+2 ENDIF C IF(JCLE2.NE.0) THEN K=0 DO 1102 NP=1,NBBB DO 1103 INST=1,NSTB BGENE(INST,K+INST)=SHP(1,NP) 1103 CONTINUE 1102 K=K+NSTB ENDIF C IF(JCLE3.NE.0) THEN K=1 BGENE(1,K)=SHP(2,NP) BGENE(2,K)=SHP(3,NP) 3102 K=K+1 ENDIF C IF(JCLE4.NE.0) THEN K=1 XGENE(1,K)=SHP(1,NP) 4102 K=K+1 ENDIF GOTO 666 C C ELEMENTS MASSIFS BIDIM AXISYMETRIQUE C 20 CONTINUE SHP(1,NP)=SHPTOT(1,NP,IGAU) SHP(2,NP)=SHPTOT(2,NP,IGAU) SHP(3,NP)=SHPTOT(3,NP,IGAU) 201 CONTINUE C IF(JCLE1.NE.0) THEN K=1 DO 202 NP=1,NBBB BGENE(1,K )=SHP(2,NP) BGENE(2,K+1)=SHP(3,NP) BGENE(3,K )=SHP(1,NP)/RR BGENE(4,K+1)=SHP(2,NP) BGENE(4,K )=SHP(3,NP) 202 K=K+2 ENDIF C IF(JCLE2.NE.0) THEN K=0 DO 1202 NP=1,NBBB DO 1203 INST=1,NSTB BGENE(INST,K+INST)=SHP(1,NP) 1203 CONTINUE 1202 K=K+NSTB ENDIF C IF(JCLE3.NE.0) THEN K=1 BGENE(1,K)=SHP(2,NP) BGENE(2,K)=SHP(3,NP) 3202 K=K+1 ENDIF C IF(JCLE4.NE.0) THEN K=1 XGENE(1,K)=SHP(1,NP) 4202 K=K+1 ENDIF GOTO 666 C C ELEMENTS MASSIFS BIDIM FOURIER C 30 CONTINUE SHP(1,NP)=SHPTOT(1,NP,IGAU) SHP(2,NP)=SHPTOT(2,NP,IGAU) SHP(3,NP)=SHPTOT(3,NP,IGAU) 301 CONTINUE C IF(JCLE1.NE.0) THEN XNSUR=DBLE(NN)/RR K=1 DO 302 NP=1,NBBB BGENE(1,K )= SHP(2,NP) BGENE(2,K+1)= SHP(3,NP) BGENE(3,K )= SHP(1,NP)/RR BGENE(3,K+2)=-SHP(1,NP)*XNSUR BGENE(4,K )= SHP(3,NP) BGENE(4,K+1)= SHP(2,NP) BGENE(5,K )= SHP(1,NP)*XNSUR BGENE(5,K+2)= SHP(2,NP)-SHP(1,NP)/RR BGENE(6,K+1)= SHP(1,NP)*XNSUR BGENE(6,K+2)= SHP(3,NP) 302 K=K+3 ENDIF C IF(JCLE2.NE.0) THEN K=0 DO 1302 NP=1,NBBB DO 1303 INST=1,NSTB BGENE(INST,K+INST)=SHP(1,NP) 1303 CONTINUE 1302 K=K+NSTB ENDIF C IF(JCLE3.NE.0) THEN XNSUR=DBLE(NN)/RR K=1 BGENE(1,K)= SHP(2,NP) BGENE(2,K)= SHP(3,NP) BGENE(3,K)=-SHP(1,NP)*XNSUR 3302 K=K+1 ENDIF C IF(JCLE4.NE.0) THEN K=1 XGENE(1,K)=SHP(1,NP) 4302 K=K+1 ENDIF GOTO 666 C C ELEMENTS MASSIFS TRIDIM C 40 CONTINUE SHP(1,NP)=SHPTOT(1,NP,IGAU) SHP(2,NP)=SHPTOT(2,NP,IGAU) SHP(3,NP)=SHPTOT(3,NP,IGAU) SHP(4,NP)=SHPTOT(4,NP,IGAU) 401 CONTINUE C IF(JCLE1.NE.0) THEN K=1 DO 402 NP=1,NBBB BGENE(1,K )=SHP(2,NP) BGENE(2,K+1)=SHP(3,NP) BGENE(3,K+2)=SHP(4,NP) BGENE(4,K )=SHP(3,NP) BGENE(4,K+1)=SHP(2,NP) BGENE(5,K )=SHP(4,NP) BGENE(5,K+2)=SHP(2,NP) BGENE(6,K+1)=SHP(4,NP) BGENE(6,K+2)=SHP(3,NP) 402 K=K+3 ENDIF C IF(JCLE2.NE.0) THEN K=0 DO 1402 NP=1,NBBB DO 1403 INST=1,NSTB BGENE(INST,K+INST)=SHP(1,NP) 1403 CONTINUE 1402 K=K+NSTB ENDIF C IF(JCLE3.NE.0) THEN K=1 BGENE(1,K)=SHP(2,NP) BGENE(2,K)=SHP(3,NP) BGENE(3,K)=SHP(4,NP) 3402 K=K+1 ENDIF C IF(JCLE4.NE.0) THEN K=1 XGENE(1,K)=SHP(1,NP) 4402 K=K+1 ENDIF GO TO 666 C 666 RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales