bnporj
C BNPORJ SOURCE CHAT 05/01/12 21:41:52 5004 . SHPTOT,SHP,BPSS,BGENE,XGENE,DJAC,ICLE) C----------------------------------------------------------------------- C C CALCULE LES MATRICES N, NP ET dNP DU JOINT 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 N C IFOU =IFOUR DE CCOPTIO C NSTB =NOMBRE DE LIGNES DE LA MATRICE N C NSTN =NOMBRE DE LIGNES DE LA MATRICE NP C XE =COORDONNEES GLOBALES DE L ELEMENT C XEL =COORDONNEES LOCALES DE L ELEMENT C SHPTOT(6,NBNO,NBGAU)=FONCTIONS DE FORMES ET DERIVEES C SHP(6,NBNO) =TABLEAU DE TRAVAIL C BPSS=MATRICE DE PASSAGE REPERE GLOBAL/REPERE LOCAL C ICLE INDICATEUR DE CALCUL C = 1 ON CALCULE N (bgene) ET NP (xgene) C = 2 ON CALCULE N (bgene) C = 3 ON CALCULE NP (xgene) ET dNP (bgene) C SORTIE : C BGENE(NSTB,LRE)=MATRICE N OU dNP C XGENE(NSTN,LRN)=MATRICE NP C DJAC=JACOBIEN C----------------------------------------------------------------------- IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) DIMENSION XGENE(NSTN,*),BPSS(3,3),XE(3,*) C JCLE1=0 JCLE2=0 JCLE3=0 LRN=(NBNO-NBBB)*3/2 NFAC=NBNB/2 NB1=NBNB+1 IF(ICLE.EQ.1) THEN JCLE1=1 JCLE2=1 ENDIF IF(ICLE.EQ.2) THEN JCLE1=1 ENDIF IF(ICLE.EQ.3) THEN JCLE2=1 JCLE3=1 ENDIF C C IFR=IFOU+4 GOTO (666,10,10,10,666,40) ,IFR GOTO 666 C C CONT PLANES, DEF PLANES OU AXISYMETRIQUE C 10 CONTINUE C SHP(1,NP)=SHPTOT(1,NP,IGAU) SHP(2,NP)=SHPTOT(2,NP,IGAU) 101 CONTINUE C C IF(JCLE1.NE.0) THEN DO 110 I=1,NSTB DO 111 J=1,NFAC DO 112 K=1,NSTB L=NSTB*(J-1)+K M=L+NSTB*(2*(NFAC-J)+1) BGENE(I,L)=BPSS(I,K)*SHP(1,J) BGENE(I,M)=-BGENE(I,L) 112 CONTINUE 111 CONTINUE 110 CONTINUE ENDIF C IF(JCLE2.NE.0) THEN K=1 XGENE(1,K)=SHP(1,NP) K=K+1 113 CONTINUE ENDIF C IF(JCLE3.NE.0) THEN K=1 BGENE(1,K)=SHP(2,NP) K=K+1 114 CONTINUE ENDIF GOTO 666 C C TRIDIMMENSIONNEL C 40 CONTINUE C SHP(1,NP)=SHPTOT(1,NP,IGAU) SHP(2,NP)=SHPTOT(2,NP,IGAU) SHP(3,NP)=SHPTOT(3,NP,IGAU) 201 CONTINUE C C IF(JCLE1.NE.0) THEN DO 210 I=1,NSTB DO 211 J=1,NFAC DO 212 K=1,NSTB L=NSTB*(J-1)+K M=L+NFAC*NSTB BGENE(I,L)=BPSS(I,K)*SHP(1,J) BGENE(I,M)=-BGENE(I,L) 212 CONTINUE 211 CONTINUE 210 CONTINUE ENDIF C IF(JCLE2.NE.0) THEN K=1 XGENE(1,K)=SHP(1,NP) K=K+1 213 CONTINUE ENDIF C IF(JCLE3.NE.0) THEN K=1 BGENE(1,K)=SHP(2,NP) BGENE(2,K)=SHP(3,NP) K=K+1 214 CONTINUE ENDIF GOTO 666 C 666 CONTINUE RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales