bmatst
C BMATST SOURCE PV 20/09/16 21:15:05 10713 C======================================================================= C= B M A T S T = C= ----------- = C= Fonction : = C= ---------- = C= Calcul de la matrice B reliant les deformations en un point d'un = C= element fini aux ddls de deplacement aux noeuds de cet element = C= Le jacobien est egalement evalue au point de Gauss pour verifier = C= ulterieurement si l'element fini n'est pas trop distordu. = C= = C= Parametres : (E)=Entree (S)=Sortie = C= ------------ = C= iGau (E) Numero du point de Gauss considere = C= NBPGAU (E) Nombre de points de Gauss de l'element fini = C= POIGAU,QSIGAU (E) | Poids et coordonnees de reference des = C= ETAGAU,DZEGAU (E) | differents points de Gauss de l'element = C= ITEL (E) Type de l'element fini (cf. NOMTP dans bdata.eso) = C= MFR (E) Formulation associee a l'element fini = C= NBNO (E) Nombre de noeuds de l'element fini = C= LRE (E) Nombre de DDL de l'element fini = C= IFOU (E) Mode de calcul utilise (cf. IFOUR dans CCOPTIO) = C= NST (E) Nombre de composantes de deformations = C= NN (E) Numero du mode de Fourier (si IFOU=1) = C= DIM3 (E) Epaisseur dans l'hypothese des contraintes planes = C= XEL (E) Coordonnees des noeuds de l'element fini etudie = C= SHPTOT (E) Fonctions de forme et leurs derivees = C= SHP (S) Fonctions de forme et leurs derivees actuelles = C= BGENE (S) Matrice de gradients (B) calcule au point de Gauss = C= DJac (S) Jacobien au point de Gauss etudie = C= XDPGE,YDPGE (E) Coordonnees du noeud support (mode PLAN GENE) = C= = C= Remarque : = C= ---------- = C= Lors de l'entree dans le sous-programme, SHPTOT(2 a 4,*) contient = C= les DERIVEES des fonctions de forme par rapport aux coordonnees = C= de REFERENCE Qsi,Eta,Dzeta. = C= En sortie du sous-programme, SHP(2 a 4,*) contient les DERIVEES = C= des fonctions de FORME par rapport aux coordonnees REELLES x,y,z. = C= Pour les elements finis massifs incompressibles, la matrice B est = C= modifiee ulterieurement par appel au sous-programme BBAR. = C======================================================================= & ITEL,MFR,NBNO,LRE,IFOU,NST,NN,DIM3,XEL, & SHPTOT,SHP,BGENE,DJAC,XDPGE,YDPGE) IMPLICIT INTEGER(I-N) IMPLICIT REAL*8 (A-H,O-Z) -INC CCREEL & POIGAU(*),QSIGAU(*),ETAGAU(*),DZEGAU(*) RR=XZero ** semble inutile ** CALL ZERO(BGENE,NST,LRE) IFOR=IFOU+4 GOTO ( 5,10,10,20,30,40,50,50,50,50,50,50,50,50,50, & 60,60,60,70),IFOR GOTO 100 C === C 1 - Elements MASSIFS 2D PLAN GENE C === 5 XXX=XZero YYY=XZero SHP(1,i)=SHPTOT(1,i,iGau) SHP(2,i)=SHPTOT(2,i,iGau) SHP(3,i)=SHPTOT(3,i,iGau) XXX=XXX+SHP(1,i)*XEL(1,i) YYY=YYY+SHP(1,i)*XEL(2,i) ENDDO K=1 BGENE(1,K)=SHP(2,i) BGENE(2,K+1)=SHP(3,i) BGENE(4,K)=SHP(3,i) BGENE(4,K+1)=SHP(2,i) K=K+2 ENDDO BGENE(3,K)=1.D0 BGENE(3,K+1)=XDPGE-XXX BGENE(3,K+2)=YYY-YDPGE GOTO 100 C === C 2 - Elements MASSIFS 2D PLAN DEFO ou PLAN CONT C === SHP(1,i)=SHPTOT(1,i,iGau) SHP(2,i)=SHPTOT(2,i,iGau) SHP(3,i)=SHPTOT(3,i,iGau) ENDDO K=1 BGENE(1,K)=SHP(2,i) BGENE(2,K+1)=SHP(3,i) BGENE(4,K)=SHP(3,i) BGENE(4,K+1)=SHP(2,i) K=K+2 ENDDO GOTO 100 C === C 3 - Elements MASSIFS 2D AXISymetrique C === SHP(1,i)=SHPTOT(1,i,iGau) SHP(2,i)=SHPTOT(2,i,iGau) SHP(3,i)=SHPTOT(3,i,iGau) ENDDO K=1 BGENE(1,K)=SHP(2,i) BGENE(2,K+1)=SHP(3,i) BGENE(3,K)=SHP(1,i)/RR BGENE(4,K)=SHP(3,i) BGENE(4,K+1)=SHP(2,i) K=K+2 ENDDO GOTO 100 C === C 4 - Elements MASSIFS 2D FOURIER C === SHP(1,i)=SHPTOT(1,i,iGau) SHP(2,i)=SHPTOT(2,i,iGau) SHP(3,i)=SHPTOT(3,i,iGau) ENDDO XNSUR=DBLE(NN)/RR K=1 BGENE(1,K)=SHP(2,i) BGENE(2,K+1)=SHP(3,i) BGENE(3,K)=SHP(1,i)/RR BGENE(3,K+2)=SHP(1,i)*XNSUR BGENE(4,K)=SHP(3,i) BGENE(4,K+1)=SHP(2,i) BGENE(5,K)=-SHP(1,i)*XNSUR BGENE(5,K+2)=SHP(2,i)-SHP(1,i)/RR BGENE(6,K+1)=-SHP(1,i)*XNSUR BGENE(6,K+2)=SHP(3,i) K=K+3 ENDDO GOTO 100 C === C 6 - Elements MASSIFS 3D C === SHP(1,i)=SHPTOT(1,i,iGau) SHP(2,i)=SHPTOT(2,i,iGau) SHP(3,i)=SHPTOT(3,i,iGau) SHP(4,i)=SHPTOT(4,i,iGau) ENDDO K=1 BGENE(1,K)=SHP(2,i) BGENE(2,K+1)=SHP(3,i) BGENE(3,K+2)=SHP(4,i) BGENE(4,K)=SHP(3,i) BGENE(4,K+1)=SHP(2,i) BGENE(5,K)=SHP(4,i) BGENE(5,K+2)=SHP(2,i) BGENE(6,K+1)=SHP(4,i) BGENE(6,K+2)=SHP(3,i) K=K+3 ENDDO GOTO 100 C === C 7 - Elements MASSIFS 1D C === C= 7.1 - Modes 1D PLAN SHP(1,i)=SHPTOT(1,i,iGau) SHP(2,i)=SHPTOT(2,i,iGau) ENDDO BGENE(1,i)=SHP(2,i) ENDDO IF (IFOU.EQ.7.OR.IFOU.EQ.8) THEN BGENE(2,i)=1. ELSE IF (IFOU.EQ.9.OR.IFOU.EQ.10) THEN BGENE(3,i)=1. ELSE IF (IFOU.EQ.11) THEN BGENE(2,i)=1. BGENE(3,i+1)=1. ENDIF GOTO 100 C= 7.2 - Modes 1D AXIS SHP(1,i)=SHPTOT(1,i,iGau) SHP(2,i)=SHPTOT(2,i,iGau) ENDDO BGENE(1,i)=SHP(2,i) BGENE(3,i)=SHP(1,i)/RR ENDDO IF (IFOU.EQ.14) BGENE(2,i)=1. GOTO 100 C= 7.3 - Mode 1D SPHE SHP(1,i)=SHPTOT(1,i,iGau) SHP(2,i)=SHPTOT(2,i,iGau) ENDDO BGENE(1,i)=SHP(2,i) ZZ=SHP(1,i)/RR BGENE(2,i)=ZZ BGENE(3,i)=ZZ ENDDO GOTO 100 100 CONTINUE RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales