ccfl3d
C CCFL3D SOURCE PV090527 23/01/27 21:15:11 11574 subroutine ccfl3d(NBRINC,ninc,tauk,ttrf,eafl,kfl, # teta,srw,dt,epse03,epsf03,alpha3,beta3,epsime03,epsimf03, # alphaim3,betaim3,epsew) c changement de base d'un pseudo vecteur de deformation c contenant des gama si controle=vrai c les effets de W et T sont sortis du potentiel comme dans fluage3d c on traite aussi la consolidation normale aux interfaces implicit real*8 (a-h,o-z) implicit integer (i-n) integer NBRINC,ninc c saturation par phase real*8 srw(0:NBRINC) c temps caracteristique de fluage pour l inclusion real*8 tauk(0:NBRINC) c temperature de ref pour fluage inclusion real*8 ttrf(0:NBRINC) c energie activation pour fluage inclusion real*8 eafl(0:NBRINC) c potentiel de fluage de l inclusion real*8 kfl(0:NBRINC) c deformation elastique hydrique real*8 epsew(0:NBRINC) c coeff de fluage pour le pas de temps real*8 alpha3(0:NBRINC,3) real*8 beta3(0:NBRINC,3) c coeff de fluage pour l interface real*8 alphaim3(1:NBRINC,3) real*8 betaim3(1:NBRINC,3) c deformation actuelle de fluage real*8 epsf03(0:NBRINC,3) real*8 epsimf03(1:NBRINC,3) c deformation actiuelle elastique real*8 epse03(0:NBRINC,3) real*8 epsime03(1:NBRINC,3) c eps petit real*8 epsmin,tureK,ture,tureR,csteR,infini parameter (epsmin=1.0d-8,tureK=273.16d0,csteR=8.314d0,infini=1.d8) real*8 CT,CW,kf,epsk,ctps,rfe,tau integer inc,i,j c cc maxi rfemax=log(infini) c fluage lineaire CM=1.d0 c boucle sur les phases do inc=0,ninc c saturation CW=srw(inc) c le calcul des coeffs n est realise que sur le potentiel c de fluage est superieur à epsmin if ((kfl(inc).gt.epsmin).and.(tauk(inc).gt.0.d0)) then tureR=ttrf(inc)+tureK CT=exp(-(eafl(inc)/csteR)*((ture**(-1))-(tureR**(-1)))) c boucle sur les directions de chargement kf=kfl(inc) do i=1,3 if(abs(epse03(inc,i)).ge.epsmin) then c la deformation elastique initiale est non nulle c la consolidation est calculable epsk=kf*(epse03(inc,i)+epsew(inc)) c consolidation if((epsf03(inc,i)*epsk).gt.0.d0) then c la consolidation est calculable car les defs sont de même signe rfe=epsf03(inc,i)/epsk if(rfe.lt.rfemax) then cc=(kf**(-1))*exp(rfe) else cc=infini/kf end if else c la consolidation est minimale car les def sont de signe opposés c cc=(kf**(-1)) c la consolidation est calculee en valeur absolue rfe=abs(epsf03(inc,i)/epsk) if(rfe.lt.rfemax) then cc=(kf**(-1))*exp(rfe) else cc=infini/kf end if end if ctps=1.d0 else c la deformation elastique initiale est nulle, le potentiel de fluage c est par consequent nul, le fluage ne peut pas avoir lieu c sauf si le materiau n a jamais été chargé avant if(abs(epsf03(inc,i)).le.epsmin) then cc=(kf**(-1)) ctps=1.d0 else cc=1.d0 ctps=0.d0 end if end if c temps caracteristique pour la fonction de fluage tau=tauk(inc)*cc c fonctions de fluage yf=CT*CW*ctps*dt/tau bf=1.d0-exp(-yf) if(ctps.eq.1.) then if (yf.gt.epsmin) then c fluage normal beta3(inc,i)=bf alpha3(inc,i)=1.d0-bf/yf else c fluage negligeable alpha3(inc,i)=0.d0 beta3(inc,i)=0.d0 end if else c pas de fluage alpha3(inc,i)=0.d0 beta3(inc,i)=0.d0 end if end do else c pas de fluage do i=1,3 alpha3(inc,i)=0.d0 beta3(inc,i)=0.d0 end do end if end do c print*,'ds ccfl3d' c do inc=0,ninc c do i=1,3 c print*,'alpha(',inc,i,')=',alpha3(inc,i) c print*,'beta(',inc,i,')=',beta3(inc,i) c end do c end do c boucle sur les interfaces do inc=1,ninc c saturation de l interface = celle de la matrice CW=srw(0) c le calcul des coeffs n est realise que sur le potentiel c de fluage est superieur à epsmin c le fluage de l interface est gere par les caracteristiques de la matrice (0) if ((kfl(0).gt.epsmin).and.(tauk(0).gt.0.d0)) then tureR=ttrf(0)+tureK CT=exp(-(eafl(0)/csteR)*((ture**(-1))-(tureR**(-1)))) c boucle sur les directions de chargement kf=kfl(0) do i=1,3 if(abs(epsime03(inc,i)).ge.epsmin) then c la deformation elastique initiale est non nulle c la consolidation est calculable epsk=kf*(epsime03(inc,i)+epsew(inc)) c consolidation if((epsimf03(inc,i)*epsk).gt.0.d0) then cc la consolidation est calculable car les defs sont de même signe rfe=epsimf03(inc,i)/epsk if(rfe.lt.rfemax) then cc=(kf**(-1))*exp(rfe) else cc=infini/kf end if else c la consolidation est minimale car les def sont de signe opposés cc=(kf**(-1)) cc la consolidation est calculee en valeur absolue c rfe=abs(epsimf03(inc,i)/epsk) c if(rfe.lt.rfemax) then c cc=(kf**(-1))*exp(rfe) c else c cc=infini/kf c end if end if ctps=1.d0 else c la deformation elastique initiale est nulle, le potentiel de fluage c est par consequent nul, le fluage ne peut pas avoir lieu c sauf si le materiau n a jamais été chargé avant if(abs(epsimf03(inc,i)).le.epsmin) then cc=(kf**(-1)) ctps=1.d0 else cc=1.d0 ctps=0.d0 end if end if c temps caracteristique pour la fonction de fluage tau=tauk(0)*cc c fonctions de fluage yf=CT*CW*ctps*dt/tau bf=1.d0-exp(-yf) if(ctps.eq.1.) then if (yf.gt.epsmin) then c fluage normal betaim3(inc,i)=bf alphaim3(inc,i)=1.d0-bf/yf else c fluage negligeable alphaim3(inc,i)=0.d0 betaim3(inc,i)=0.d0 end if else c pas de fluage alphaim3(inc,i)=0.d0 betaim3(inc,i)=0.d0 end if end do else c pas de fluage do i=1,3 alphaim3(inc,i)=0.d0 betaim3(inc,i)=0.d0 end do end if end do return end
© Cast3M 2003 - Tous droits réservés.
Mentions légales