bnqore
C BNQORE SOURCE AM 15/08/21 21:15:02 8599 . DIM3,XEL,SHPTOT,SHP,BGENE,XGENE,DJAC,IDECAP,LHOOK,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(LHOOK,LRE)=MATRICE B C XGENE(NSTN,LRN)=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 LPP = NBNO-NBBB LRN=IDECAP*LPP 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 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 DO 3122 IPR=1,IDECAP K=(IPR-1)*NBBB +1 IPR2=2*IPR BGENE(IPR2-1,K)=SHP(2,NP) BGENE(IPR2 ,K)=SHP(3,NP) 3102 K=K+1 3122 CONTINUE ENDIF C IF(JCLE4.NE.0) THEN K=1 DO 4122 IPR=1,IDECAP XGENE(IPR,K)=SHP(1,NP) 4102 K=K+1 4122 CONTINUE 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 DO 3222 IPR=1,IDECAP K=(IPR-1)*NBBB +1 IPR2=2*IPR BGENE(IPR2-1,K)=SHP(2,NP) BGENE(IPR2 ,K)=SHP(3,NP) 3202 K=K+1 3222 CONTINUE ENDIF C IF(JCLE4.NE.0) THEN K=1 DO 4222 IPR=1,IDECAP XGENE(IPR,K)=SHP(1,NP) 4202 K=K+1 4222 CONTINUE 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 DO 3322 IPR=1,IDECAP K=(IPR-1)*NBBB +1 IPR3=3*IPR BGENE(IPR3-2,K)= SHP(2,NP) BGENE(IPR3-1,K)= SHP(3,NP) BGENE(IPR3 ,K)=-SHP(1,NP)*XNSUR 3302 K=K+1 3322 CONTINUE ENDIF C IF(JCLE4.NE.0) THEN K=1 DO 4322 IPR=1,IDECAP XGENE(IPR,K)=SHP(1,NP) 4302 K=K+1 4322 CONTINUE 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 DO 3422 IPR=1,IDECAP K=(IPR-1)*NBBB +1 IPR3=3*IPR BGENE(IPR3-2,K)=SHP(2,NP) BGENE(IPR3-1,K)=SHP(3,NP) BGENE(IPR3 ,K)=SHP(4,NP) 3402 K=K+1 3422 CONTINUE ENDIF C IF(JCLE4.NE.0) THEN K=1 DO 4422 IPR=1,IDECAP XGENE(IPR,K)=SHP(1,NP) 4402 K=K+1 4422 CONTINUE ENDIF GO TO 666 C 666 RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales