Numérotation des lignes :

dadp3d
C DADP3D    SOURCE    PV090527  23/01/27    21:15:20     11574                subroutine damdp3d(prec3d,ekdc,epeqpc,epspc6,dcc3,sigfc61,     # sigft61,dcdp,ortho)c     endo de compresionc     A.Sellier 2021/05/05      implicit real*8 (a-h,o-z)      implicit integer (i-n)        real*8 epspc6(6),dcc3(3),ekdc,epeqpc,sigfc61(6),sigft61(6),dcdp      real*8 dcpp       real*8 epspc33(3,3),epspc3(3),vepspc33(3,3),vepspc33t(3,3)      real*8 sigfc6p(6),sigfc6ct(6),dx      integer i,j,k,l      real*8 trepsdc       real*8 dmaxi      logical ortho      real*8 dcc,scom       dmaxi=1.d0-prec3d   C       print*,'Dans DamDP3D'C       print*,'ekdc',ekdcC       print*,'ortho',ortho c***********************************************************************c     variation de raideur due aux dilatations transversesc     induites par le cisaillement c     ******************************************************************      if(ortho) thenc***********************************************************************      c      cas ou l endo de DP est orthotrope      c      directions principale de epspc6       call x6x33(epspc6,epspc33)              call b3_v33(epspc33,epspc3,vepspc33)c      do i=1,3c         print*,'endo3d epspc3:',i,epspc3(i)c      end doc      construction matrice de passage inverse       call traps1(vepspc33t,vepspc33,3) c      calcul des endo orthotropes de compression (dcc)             do i=1,3          call indce1(i,k,l)          trepsdc=max(epspc3(k),0.d0)+max(epspc3(l),0.d0)          if(trepsdc.gt.epeqpc) then             trepsdc=trepsdc-epeqpc             dcc3(i)=min(dmaxi,(trepsdc/(trepsdc+ekdc)))          else             dcc3(i)=0.d0          endif c          print*,'Dans damDP3d endo DP ortho dcc(',i,')=',dcc3(i)             end do      c      *****************************************************************c      prise en compte endo ortho de DP sur contraintes de compressionc      *****************************************************************       if(max(dcc3(1),dcc3(2),dcc3(3)).gt.0.) thenc         passage  des contraintes effectives dans la base c         prin des endo dcc actuels          call chrep6(sigfc61,vepspc33,.false.,sigfc6p)  c         application du tenseur d endommagement aux contraintes c         de tractions          do i=1,6             if(i.le.3) then                 sigfc6ct(i)=sigfc6p(i)*(1.d0-dcc3(i))             else                 call indce0(i,k,l)                 dx=max(dcc3(k),dcc3(l))                 sigfc6ct(i)=sigfc6p(i)*(1.d0-dx)             end if                     end doc         retour des contraintes negatives en base fixe          call chrep6(sigfc6ct,vepspc33t,.false.,sigfc61)       end if      elsec***********************************************************************      c      cas ou l endo de compression est isotropec      calcul de la dilatance post pic       trepsdc=0.d0       do i=1,3          trepsdc=trepsdc+epspc6(i)       end doc      *****************************************************************       c      calcul de l endommagement isotrope actuelc      *****************************************************************              if(trepsdc.gt.epeqpc) then          trepsdc=trepsdc-epeqpc          dcc=min(dmaxi,(trepsdc/(trepsdc+ekdc)))       else          dcc=0.d0       endifc      condition de croissance de l endommagement de cisaillement       dcdp=max(dcdp,dcc)c       print*,'Dans dadp3d endo DP iso dcdp=',dcdp       c      *****************************************************************c      prise en compte endo iso de DP sur contraintes c      *****************************************************************       scom=1.d0-dcdp       do i=1,6          sigfc61(i)=scom*sigfc61(i)          sigft61(i)=scom*sigft61(i)                 end do             end if c***********************************************************************            return      end          

© Cast3M 2003 - Tous droits réservés.
Mentions légales