epsi4
C EPSI4 SOURCE OF166741 24/10/21 21:15:11 12042 & IPMINT,MELE,LHOOK,IREPS2,NBPTEL,NSTRS,MFR, & NBPGAU,LRE,LW,IVAEPS,UZDPG,RYDPG,RXDPG,ISOUS,IIPDPG,CMATE) C---------------------------------------------------------------------* C * C CALCUL DES DEFORMATIONS * C * C linespring,tuyau fissure,barre,cerce,tuyo,poi1 * C * C---------------------------------------------------------------------* C * C ENTREES : * C ________ * C * C IPMAIL Pointeur sur un segment MELEME * C IVADEP Pointeur sur le chamelem de deplacements * C NDEP Nombre de composantes de deplacements * C IVACAR Pointeur sur les chamelems de caracteristiques * C NCARR Nombre de caracteristiques geometriques * C MELE Numero de l'element fini * C LHOOK Dimension de la matrice de Hooke * C IRESP2 Flag pour indiquer si on veut les contraintes * C de Piola-Kirchhoff * C NBPTEL Nombre de points par element * C NSTRS Nombre de composante de contraintes/deformations * C MFR Numero de formulation de l'element fini * C pour une matrice de hooke * C NBPGAU Nombre de point d'integration pour la rigidite * C LRE Nombre de ddl dans la matrice de rigidite * C LW Dimension du tableau de travail de l'element * C * C SORTIES : * C ________ * C * C IVAEPS pointeur sur un segment MPTVAL contenant les * C les melvals de deformations * C * C---------------------------------------------------------------------* IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) -INC PPARAM -INC CCOPTIO -INC CCHAMP -INC SMCOORD -INC SMCHAML -INC SMCHPOI -INC SMELEME -INC SMMODEL -INC SMINTE -INC SMLREEL SEGMENT MWRK1 REAL*8 DDHOOK(NSTR,NSTR),XDDL(LRE),XSTRS(NSTR) REAL*8 XE(3,NBBB),DDHOMU(NSTRS,NSTR) ENDSEGMENT SEGMENT MWRK2 ENDSEGMENT SEGMENT MWRK4 REAL*8 BPSS(3,3), XEL(3,NBBB), XFOLO(LRE) ENDSEGMENT SEGMENT MWRK5 REAL*8 XGENE(NSTN,LRN) ENDSEGMENT SEGMENT MWRK3 ENDSEGMENT SEGMENT MWRK6 REAL*8 YDDL(NYD2) ENDSEGMENT SEGMENT MPTVAL INTEGER IPOS(NS),NSOF(NS) INTEGER IVAL(NCOSOU) CHARACTER*16 TYVAL(NCOSOU) ENDSEGMENT POINTEUR MPTVA1.MPTVAL CHARACTER*8 CMATE logical dcmat2 MWRK1 = 0 MWRK2 = 0 MWRK3 = 0 MWRK4 = 0 MWRK5 = 0 MWRK6 = 0 KERRE = 0 C INITIALISATION DU POINT AUTOUR DUQUEL SE FAIT LE MOUVEMENT C DE LA SECTION EN DEFO PLANE GENERALISEE C C <- Ici test equivalent a IF (IIPDPG.GT.0) THEN IF (IFOUR.EQ.-3)THEN IREF=(IIPDPG-1)*(IDIM+1) XDPGE=XCOOR(IREF+1) YDPGE=XCOOR(IREF+2) ELSE XDPGE=0.D0 YDPGE=0.D0 ENDIF C MELEME=IPMAIL NBNN=NUM(/1) NBELEM=NUM(/2) C C NHRM=NIFOUR MINTE=IPMINT NBBB=NBNN dcmat2 = .false. C Sauf cas particulier(s), pour dimensionner MWRK1, on a : NSTR = NSTRS C Petite verification prealable (normalement inutile) mptval = IVAEPS if (NSTRS.ne.ival(/1)) then write(ioimp,*) 'EPSI3 : incoherence NSTRS & IVAEPS' return endif do icomp = 1, NSTRS melval = IVAL(ICOMP) if (melval.le.0) then write(ioimp,*) 'EPSI3 : incoherence IVAEPS ival(',icomp,')=0' return endif if (NBPTEL.NE.melval.velche(/1)) then write(ioimp,*) 'EPSI3 : incoherence NSTRS & IVAEPS' return endif if (NBELEM .NE. melval.velche(/2)) then write(ioimp,*) 'EPSI3 : incoherence NSTRS & IVAEPS' return endif enddo C_______________________________________________________________________ C C NUMERO DES ETIQUETTES : C ETIQUETTES DE 1 A 98 POUR TRAITEMENT SPECIFIQUE A L ELEMENT C DANS LA ZONE SPECIFIQUE A CHAQUE ELEMENT COMMENCANT PAR : C 5 CONTINUE C ELEMENT 5 ETIQUETTES 1005 2005 3005 4005 ... C 44 CONTINUE C ELEMENT 44 ETIQUETTES 1044 2044 3044 4044 ... C_______________________________________________________________________ C IF (MELE.LE.100) &GOTO (99,2,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99, 1 99,99,99,99,99,99,99,99,2,30,99,99,99,99,99,99,99,99,99,99, 2 99,99,43,99,45,46,99,99,99,30,99,99,99,99,99,99,99,99,99,99, 3 99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99, 4 99,99,99,99,99,99,99,99,99,99,99,99,99,99,46,96,99,99,99,99 5 ),MELE IF (MELE.LE.200) &GOTO (99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99, 1 99,99,46,124,125,34,34,34,34,34,34,34,34,34,34,34,34,34,34, 2 34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34, 3 34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34, 4 34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34, 5 34),MELE-100 IF (MELE.LE.300) &GOTO (34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34, 1 34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34, 2 34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34, 3 34,34,34,34,265,266,266,266,99,99,271,272),MELE-200 34 CONTINUE 99 CONTINUE MOTERR(1:4)=NOMTP(MELE) MOTERR(9:12)='EPSI' GOTO 510 C____________________________________________________________________ C C ELEMENT SEG2 (pour IMPEDANCE) C____________________________________________________________________ C 2 CONTINUE C detecte une impedance hybridant des ddl MPTVAL=IVADEP if (ival(/1).eq.ndep*2) dcmat2 = .true. NYD2 = NBNN*NDEP SEGINI,MWRK6 C BOUCLE DE CALCUL POUR LES DIFFERENTS ELEMENTS DO 310 IB=1,NBELEM C C ON CHERCHE LES DEPLACEMENTS C IE=1 DO IGAU=1,NBNN ico1 = 1 ico2 = ndep if (dcmat2) then if (igau.eq.2) then ico1 = ndep + 1 ico2 = ndep*2 endif endif DO ICOMP=ico1,ico2 MELVAL=IVAL(ICOMP) IGMN=MIN(IGAU,VELCHE(/1)) IBMN=MIN(IB ,VELCHE(/2)) YDDL(IE)=VELCHE(IGMN,IBMN) IE=IE+1 enddo enddo C REMPLISSAGE DU SEGMENT CONTENANT LES DEFORMATIONS C MPTVAL=IVAEPS IE=1 DO IGAU=1,NBPTEL DO ICOMP=1,NSTRS MELVAL=IVAL(ICOMP) if (igau.lt.2) then VELCHE(IGAU,IB)= YDDL(IE) - YDDL(IE+NDEP) else VELCHE(IGAU,IB)= YDDL(IE) - YDDL(IE-NDEP) endif IE=IE+1 enddo enddo 310 CONTINUE GOTO 510 C____________________________________________________________________ C C ELEMENT LINESPRING LISP ET LISM C____________________________________________________________________ C 30 CONTINUE C On ne considere que les 2 premiers composantes pour ces elements NSTR = 2 SEGINI,MWRK1,MWRK3 C C BOUCLE DE CALCUL POUR LES DIFFERENTS ELEMENTS C DO 3030 IB=1,NBELEM C C ON CHERCHE LES DEPLACEMENTS C IE=1 DO IGAU=1,NBNN MPTVAL=IVADEP DO ICOMP=1,NDEP MELVAL=IVAL(ICOMP) IGMN=MIN(IGAU,VELCHE(/1)) IBMN=MIN(IB ,VELCHE(/2)) XDDL(IE)=VELCHE(IGMN,IBMN) IE=IE+1 enddo enddo C C ON CHERCHE LES COORDONNEES DES NOEUDS ET ON REACTUALISE C C C ON CHERCHE LES CARACTERISTIQUES ON OUBLIE LE 2 IEME PT DE GAUSS C MPTVAL=IVACAR IE=1 DO IC=1,3,2 DO ICOMP=1,NCARR MELVAL=IVAL(ICOMP) IF (MELVAL.NE.0) THEN IGMN=MIN(IC,VELCHE(/1)) IBMN=MIN(IB,VELCHE(/2)) ELSE ENDIF IE=IE+1 enddo enddo C C CALCUL DES DEFORMATIONS C C MPTVAL=IVAEPS IE=1 DO IGAU=1,NBPTEL DO ICOMP=1,NSTRS MELVAL=IVAL(ICOMP) IE=IE+1 enddo enddo 3030 CONTINUE GOTO 510 C_______________________________________________________________________ C C TUYAU FISSURE C_______________________________________________________________________ C 43 CONTINUE SEGINI,MWRK1,MWRK3 C C BOUCLE DE CALCUL POUR LES DIFFERENTS ELEMENTS C DO 3043 IB=1,NBELEM C C ON CHERCHE LES DEPLACEMENTS C MPTVAL=IVADEP IE=1 DO IGAU=1,NBNN DO ICOMP=1,NDEP MELVAL=IVAL(ICOMP) IGMN=MIN(IGAU,VELCHE(/1)) IBMN=MIN(IB ,VELCHE(/2)) XDDL(IE)=VELCHE(IGMN,IBMN) IE=IE+1 enddo enddo C C ON CHERCHE LES CARACTERISTIQUES C MPTVAL=IVACAR DO 7043 IC=1,9 MELVAL=IVAL(IC) IF (MELVAL.NE.0) THEN IBMN=MIN(IB,VELCHE(/2)) ELSE ENDIF 7043 CONTINUE C C ON CALCULE LES DEFORMATIONS C IF(KERRE.NE.0) THEN INTERR(1)=IB GOTO 5043 ENDIF C C ON REMPLIT LES DEFORMATIONS C MPTVAL=IVAEPS DO 6043 ICOMP=1,NSTRS MELVAL=IVAL(ICOMP) 6043 CONTINUE C 3043 CONTINUE 5043 CONTINUE GOTO 510 C_______________________________________________________________________ C C ELEMENT POI1 / materiau IMPEDANCE C_______________________________________________________________________ C 45 CONTINUE IF ((CMATE.EQ.'IMPELAST').OR.(CMATE.EQ.'IMPVOIGT').OR. & (CMATE.eq.'IMPREUSS').OR.(CMATE.eq.'IMPCOMPL').OR. & (MFR.EQ.26.OR.MFR.EQ.28)) THEN mptva1 = ivadep mptval = ivaeps numstr = ival(/1) do iv = 1,ival(/1) melva1 = mptva1.ival(iv) melval = ival(iv) Ctc les lignes ci dessous sont pour le compilateur if( .not. dcmat2 ) then melva2=melva1 inmbid=0 ICC2=1 else inmbid=numstr icc2=2 endif C C ON CHERCHE LES DEPLACEMENTS C DO IB=1,NBELEM IGAU = 1 IGMN= 1 IBMN=MIN(IB ,MELVA1.VELCHE(/2)) valalf = MELVA1.VELCHE(IGMN,IBMN) VELCHE(IGMN,IBMN) = valalf ENDDO enddo GOTO 510 ENDIF IF(MELE.EQ.45.AND.IFOUR.NE.-3) THEN GO TO 99 ENDIF C SEGINI,MWRK1,MWRK3 C C BOUCLE DE CALCUL POUR LES DIFFERENTS ELEMENTS C DO 3045 IB=1,NBELEM C C ON CHERCHE LES COORDONNEES DES NOEUDS DE L ELEMENT IB C C C ON CALCULE LES DEFORMATIONS C C C REMPLISSAGE DU SEGMENT CONTENANT LES DEFORMATIONS C MPTVAL=IVAEPS IE=1 DO IGAU=1,NBPTEL DO ICOMP=1,NSTRS MELVAL=IVAL(ICOMP) IE=IE+1 enddo enddo 3045 CONTINUE GOTO 510 C_______________________________________________________________________ C C BARRE ET CERCE C_______________________________________________________________________ C 46 CONTINUE C IF(MELE.EQ.95.AND.IFOUR.NE.0.AND.IFOUR.NE.1) THEN GO TO 99 ENDIF C SEGINI,MWRK1,MWRK3 C C BOUCLE DE CALCUL POUR LES DIFFERENTS ELEMENTS C DO 3046 IB=1,NBELEM C C ON CHERCHE LES COORDONNEES DES NOEUDS DE L ELEMENT IB C C C ON CHERCHE LES DEPLACEMENTS C MPTVAL=IVADEP NDDD=NDEP IF (IFOUR.EQ.-3.AND.MELE.EQ.46) NDDD=NDEP-3 IE=1 DO IGAU=1,NBNN DO ICOMP=1,NDDD MELVAL=IVAL(ICOMP) IGMN=MIN(IGAU,VELCHE(/1)) IBMN=MIN(IB ,VELCHE(/2)) XDDL(IE)=VELCHE(IGMN,IBMN) IE=IE+1 enddo enddo C C ON CALCULE LES DEFORMATIONS C & NBPGAU,IB) IF(KERRE.EQ.1) THEN GO TO 3046 ENDIF C C REMPLISSAGE DU SEGMENT CONTENANT LES DEFORMATIONS C MPTVAL=IVAEPS IE=1 DO IGAU=1,NBPTEL DO ICOMP=1,NSTRS MELVAL=IVAL(ICOMP) IE=IE+1 enddo enddo C 3046 CONTINUE GOTO 510 C_______________________________________________________________________ C C element coaxial COS2 (3D pour liaison acier-beton) C C_______________________________________________________________________ 271 continue lW=20 SEGINI,MWRK1,MWRK3,MWRK4 DO 2711 IB=1,NBELEM C C ON CHERCHE LES COORDONNEES DES NOEUDS DE L ELEMENT IB C C C ON CHERCHE LES DEPLACEMENTS C MPTVAL=IVADEP NDDD=NDEP IE=1 DO IGAU=1,NBNN DO ICOMP=1,NDDD MELVAL=IVAL(ICOMP) IGMN=MIN(IGAU,VELCHE(/1)) IBMN=MIN(IB ,VELCHE(/2)) XDDL(IE)=VELCHE(IGMN,IBMN) IE=IE+1 enddo enddo ii = 0 do ia=1,4 xa=0.d0 xb=0.d0 xc=0.d0 do iu=1,idim ii = ii + 1 xa =xa+ xddl(ia*idim - idim +iu)* bpss( 1,iu) xb= xb+ xddl(ia*idim - idim +iu)* bpss( 2,iu) if(idim.eq.3) xc=xc+xddl(ia*idim - idim +iu)* bpss( 3,iu) enddo xddl(ia*idim - idim +1)=xa xddl(ia*idim - idim +2)=xb if(idim.eq.3) xddl(ia*idim - idim +3)=xc enddo g11 = xddl(1) - xddl(3*idim +1) g21 = xddl(idim+1 ) - xddl( 2*idim + 1 ) ag = (1.d0-0.5773502691896257645d0) * 0.5d0 g1 = g11 + (g21 - g11)*ag g2 = g21 + (g11 - g21)*ag g12 = xddl(3*idim + 2) - xddl(2) g22 = xddl(2*idim + 2) - xddl(idim+2 ) g3 =g12 + (g22 - g12)*ag g4 =g22 + (g12 - g22)*ag if (idim.eq.3) then g13 =xddl(3) - xddl(3*idim +3) g23 =xddl(idim+3 ) - xddl( 2*idim + 3 ) g5 = g13 + (g23 - g13)*ag g6 = g23 + (g13 - g23)*ag endif mptval= ivaeps melval=ival(1) VELCHE(1,IB)= g1 VELCHE(2,IB)= g2 C melval=ival(2) VELCHE(1,IB)= g3 VELCHE(2,IB)= g4 C if (idim.eq.3) then melval=ival(3) VELCHE(1,IB) = g5 velche(2,IB) = g6 endif C 2711 continue GOTO 510 C_______________________________________________________________________ C C ELEMENT COAXIAL (COA2) C_______________________________________________________________________ C 272 continue NBNO=NBNN SEGINI,MWRK1,MWRK2,MWRK4 C DO 2721 IB=1,NBELEM C C ON CHERCHE LES COORDONNEES DES NOEUDS DE L ELEMENT IB C C C C ON CHERCHE LES DEPLACEMENTS C MPTVAL=IVADEP IE=1 DO IGAU=1,NBNN DO ICOMP=1,NDEP MELVAL=IVAL(ICOMP) IGMN=MIN(IGAU,VELCHE(/1)) IBMN=MIN(IB ,VELCHE(/2)) XDDL(IE)=VELCHE(IGMN,IBMN) IE=IE+1 enddo enddo C C BOUCLE SUR LES POINTS DE GAUSS C DO 2723 IGAU=1,NBPGAU C C CALCUL DE LA MATRICE B ET DU JACOBIEN EN IGAU C . BGENE,DJAC,IRRT,IDIM,NBNN,NSTRS,LRE) IF(IRRT.NE.0) THEN INTERR(1)=IB GOTO 9985 ENDIF DO i=1,NSTRS cc=0.D0 DO j=1,LRE cc= cc + (XDDL(j) * BGENE(i,j)) C write(6,*) 'xddl b',ib,igau,i,j,xddl(j),bgene(i,j) ENDDO XSTRS(i) = cc C write(6,*) 'gliss',ib,igau,i,xstrs(i) ENDDO C C REMPLISSAGE DU SEGMENT CONTENANT LES DEFORMATIONS C MPTVAL=IVAEPS DO 2724 ICOMP=1,NSTRS MELVAL=IVAL(ICOMP) VELCHE(IG,IB)=XSTRS(ICOMP) 2724 CONTINUE 2723 CONTINUE 2721 CONTINUE C 9985 CONTINUE GOTO 510 C____________________________________________________________________ C C ELEMENT BARRE 3D EXCENTRE (BAEX) C____________________________________________________________________ C 124 CONTINUE NBBB=NBNN NSTN=NBNN LRN =LRE NYD2=2 SEGINI,MWRK1,MWRK3,MWRK5,MWRK6 C C BOUCLE DE CALCUL POUR LES DIFFERENTS ELEMENTS C DO 3108 IB=1,NBELEM C C ON RECUPERE LA SECTION DE L'ELEMENT, SES EXCENTREMENTS ET SON C ORIENTATION. LES CARACTERISTIQUES SONT RANGEES DANS WORK C SELON L'ORDRE SUIVANT: SECT EXCZ EXCY VX VY VZ C MPTVAL=IVACAR DO IC=1,NCARR MELVAL=IVAL(IC) IF(MELVAL.NE.0) THEN IBMN=MIN(IB,VELCHE(/2)) ELSE ENDIF END DO C SECT=WORK(1) C XGENE STOCKE LA MATRICE DE PASSAGE DE L'ELEMENT EXCENTRE C IF (KERRE.NE.0) THEN INTERR(1)=ISOUS INTERR(2)=IB GOTO 510 ENDIF C C ON CHERCHE LES DEPLACEMENTS C IE=1 MPTVAL=IVADEP DO IGAU=1,NBNN DO ICOMP=1,NDEP MELVAL=IVAL(ICOMP) IGMN=MIN(IGAU,VELCHE(/1)) IBMN=MIN(IB ,VELCHE(/2)) XDDL(IE)=VELCHE(IGMN,IBMN) IE=IE+1 enddo enddo C C ON CALCULE LES DEFORMATIONS C C C REMPLISSAGE DU SEGMENT CONTENANT LES DEFORMATION C MPTVAL=IVAEPS IE=1 DO IGAU=1,NBPTEL DO ICOMP=1,NSTRS MELVAL=IVAL(ICOMP) VELCHE(IGAU,IB)=YDDL(IE) IE=IE+1 enddo enddo C 3108 CONTINUE GOTO 510 C_______________________________________________________________________ C C LIA2 : element de liaison a 2 noeuds (6 ddl par C noeuds) C_______________________________________________________________________ C 125 CONTINUE NBBB=NBNN NSTN=3 LRN =3 SEGINI,MWRK1,MWRK3,MWRK5 C C BOUCLE DE CALCUL POUR LES DIFFERENTS ELEMENTS C DO 3109 IB=1,NBELEM C C RANGEMENT DES CARACTERISTIQUES DANS WORK C MPTVAL=IVACAR DO IC=1,NCARR MELVAL=IVAL(IC) IF(MELVAL.NE.0) THEN IBMN=MIN(IB,VELCHE(/2)) ELSE ENDIF END DO C IF (KERRE.NE.0) THEN INTERR(1)=ISOUS INTERR(2)=IB GOTO 510 ENDIF C C ON CHERCHE LES DEPLACEMENTS C MPTVAL=IVADEP IE=1 DO IGAU=1,NBNN DO ICOMP=1,NDEP MELVAL=IVAL(ICOMP) IGMN=MIN(IGAU,VELCHE(/1)) IBMN=MIN(IB ,VELCHE(/2)) XDDL(IE)=VELCHE(IGMN,IBMN) IE=IE+1 enddo enddo C C C ON CALCULE LES DEFORMATIONS !!! a completer C pour le moment on ne met rien dans les deformations C CCC CALL DEFLIA(XGENE,XDDL,WORK,LRE,NBNN,XSTRS) C C REMPLISSAGE DU SEGMENT CONTENANT LES DEFORMATIONS C MPTVAL=IVAEPS IE=1 DO IGAU=1,NBPTEL DO ICOMP=1,NSTRS MELVAL=IVAL(ICOMP) VELCHE(IGAU,IB)=XSTRS(IE) IE=IE+1 enddo enddo C 3109 CONTINUE GOTO 510 C_______________________________________________________________________ C C JOI1 : element de liaison a 2 noeuds (6 ddl par noeuds) C_______________________________________________________________________ C 265 CONTINUE NBBB=NBNN NSTN=3 LRN =3 SEGINI,MWRK1,MWRK3,MWRK4 C C BOUCLE DE CALCUL POUR LES DIFFERENTS ELEMENTS C DO 3110 IB=1,NBELEM C C RANGEMENT DES CARACTERISTIQUES DANS WORK C MPTVAL=IVAMAT DO IC=1,NMATT MELVAL=IVAL(IC) IF(MELVAL.NE.0) THEN IBMN=MIN(IB,VELCHE(/2)) ELSE ENDIF END DO C C C ON CHERCHE LES DEPLACEMENTS C MPTVAL=IVADEP IE=1 DO IGAU=1,NBNN DO ICOMP=1,NDEP MELVAL=IVAL(ICOMP) IGMN=MIN(IGAU,VELCHE(/1)) IBMN=MIN(IB ,VELCHE(/2)) XDDL(IE)=VELCHE(IGMN,IBMN) IE=IE+1 enddo enddo C C CALCUL DES DEPLACEMENTS LOCAUX C IAW1 = 101 IAW2 = IAW1 + LRE C C C ON CALCULE LES DEFORMATIONS C C C REMPLISSAGE DU SEGMENT CONTENANT LES DEFORMATIONS C MPTVAL=IVAEPS IE=1 DO IGAU=1,NBPTEL DO ICOMP=1,NSTRS MELVAL=IVAL(ICOMP) VELCHE(IGAU,IB)=XSTRS(IE) IE=IE+1 enddo enddo C 3110 CONTINUE GOTO 510 C_______________________________________________________________________ C C ELEMENT TUYO C_______________________________________________________________________ C 96 CONTINUE SEGINI,MWRK1,MWRK3 C C BOUCLE DE CALCUL POUR LES DIFFERENTS ELEMENTS C DO 3096 IB=1,NBELEM C C ON CHERCHE LES COORDONNEES DES NOEUDS DE L ELEMENT IB C C C ON CHERCHE LES DEPLACEMENTS C MPTVAL=IVADEP IE=1 DO IGAU=1,NBNN DO ICOMP=1,NDEP MELVAL=IVAL(ICOMP) IGMN=MIN(IGAU,VELCHE(/1)) IBMN=MIN(IB ,VELCHE(/2)) XDDL(IE)=VELCHE(IGMN,IBMN) IE=IE+1 enddo enddo C C ON CHERCHE LES CARACTERISTIQUES DE L ELEMENT IB C MPTVAL=IVACAR DO 6096 IC=1,NCARR MELVAL=IVAL(IC) IF(MELVAL.NE.0) THEN IBMN=MIN(IB,VELCHE(/2)) ELSE ENDIF 6096 CONTINUE C C CAS DES TUYAUX - ON CALCULE LES CARACTERISTIQUES DE LA POUTRE C EQUIVALENTE IF(MELE.EQ.42) THEN ENDIF C C ON CALCULE LES DEFORMATIONS C youbid=0.d0 xnubid=1. $ xnubid) C C REMPLISSAGE DU SEGMENT CONTENANT LES DEFORMATIONS C IE=12 MPTVAL=IVAEPS DO IGAU=1,NBPTEL DO ICOMP=1,NSTRS MELVAL=IVAL(ICOMP) IE=IE+1 enddo enddo C 3096 CONTINUE GOTO 510 C_______________________________________________________________________ C C ELEMENTS ZONE_COHESIVE ZOC2,ZOC3,ZOC4 C_______________________________________________________________________ C 266 CONTINUE NBNO=NBNN SEGINI,MWRK1,MWRK2,MWRK4 C DO 3266 IB=1,NBELEM C C ON CHERCHE LES COORDONNEES DES NOEUDS DE L'ELEMENT IB C C C C ON CHERCHE LES DEPLACEMENTS C MPTVAL=IVADEP IE=1 DO IGAU=1,NBNN DO ICOMP=1,NDEP MELVAL=IVAL(ICOMP) IGMN=MIN(IGAU,VELCHE(/1)) IBMN=MIN(IB ,VELCHE(/2)) XDDL(IE)=VELCHE(IGMN,IBMN) IE=IE+1 enddo enddo C C BOUCLE SUR LES POINTS DE GAUSS C DO 4266 IGAU=1,NBPGAU C C C IRRT.NE.0 JACOBIEN <= 0 IF(IRRT.NE.0) THEN INTERR(1)=IB GOTO 510 ENDIF C C C REMPLISSAGE DU SEGMENT CONTENANT LES DEFORMATIONS C MPTVAL=IVAEPS DO ICOMP=1,NSTRS MELVAL=IVAL(ICOMP) VELCHE(IGAU,IB)=XSTRS(ICOMP) ENDDO 4266 CONTINUE 3266 CONTINUE C GOTO 510 C____________________________________________________________________ C 510 CONTINUE SEGSUP,MWRK1 IF (MWRK2.NE.0) SEGSUP,MWRK2 IF (MWRK3.NE.0) SEGSUP,MWRK3 IF (MWRK4.NE.0) SEGSUP,MWRK4 IF (MWRK5.NE.0) SEGSUP,MWRK5 IF (MWRK6.NE.0) SEGSUP,MWRK6 C RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales