The following example curve-fitting analyses are available:
The following example analyses are available for hyperelasticity curve-fitting:
Example: Parameter-Fitting of a Three-Network Model (TNM)
This example shows the entire curve-fitting process using a TNM. For more information about the material model, see Three-Network Model (TB,TNM) in the Material Reference.
/prep7 *create,tnm-unia.exp /ninp,2 /nout,1 /1,time /2,epto /3,s /engr,0 0.10000E+01 0.19980E-02 0.19581E+01 0.30000E+01 0.59821E-02 0.58641E+01 0.50000E+01 0.99503E-02 0.88782E+01 0.70000E+01 0.13903E-01 0.10434E+02 0.90000E+01 0.17840E-01 0.11819E+02 0.11000E+02 0.21761E-01 0.13122E+02 0.13000E+02 0.25668E-01 0.14350E+02 0.15000E+02 0.29559E-01 0.15508E+02 0.17000E+02 0.33435E-01 0.16597E+02 0.19000E+02 0.37296E-01 0.17617E+02 0.21000E+02 0.41142E-01 0.18562E+02 0.23000E+02 0.44973E-01 0.19421E+02 0.25000E+02 0.48790E-01 0.20183E+02 0.27000E+02 0.52592E-01 0.20837E+02 0.29000E+02 0.56380E-01 0.21380E+02 0.31000E+02 0.60154E-01 0.21818E+02 0.33000E+02 0.63913E-01 0.22165E+02 0.35000E+02 0.67659E-01 0.22440E+02 0.37000E+02 0.71390E-01 0.22662E+02 0.39000E+02 0.75107E-01 0.22845E+02 0.41000E+02 0.78811E-01 0.23001E+02 0.43000E+02 0.82501E-01 0.23141E+02 0.45000E+02 0.86178E-01 0.23268E+02 0.47000E+02 0.89841E-01 0.23388E+02 0.49000E+02 0.93490E-01 0.23503E+02 0.51000E+02 0.97127E-01 0.23615E+02 0.53000E+02 0.10075E+00 0.23725E+02 0.55000E+02 0.10436E+00 0.23834E+02 0.57000E+02 0.10796E+00 0.23942E+02 0.59000E+02 0.11154E+00 0.24050E+02 0.61000E+02 0.11511E+00 0.24158E+02 0.63000E+02 0.11867E+00 0.24266E+02 0.65000E+02 0.12222E+00 0.24374E+02 0.67000E+02 0.12575E+00 0.24482E+02 0.69000E+02 0.12927E+00 0.24590E+02 0.71000E+02 0.13278E+00 0.24699E+02 0.73000E+02 0.13628E+00 0.24807E+02 0.75000E+02 0.13976E+00 0.24916E+02 0.77000E+02 0.14323E+00 0.25025E+02 0.79000E+02 0.14669E+00 0.25133E+02 0.81000E+02 0.15014E+00 0.25243E+02 0.83000E+02 0.15358E+00 0.25351E+02 0.85000E+02 0.15700E+00 0.25460E+02 0.87000E+02 0.16042E+00 0.25569E+02 0.89000E+02 0.16382E+00 0.25677E+02 0.91000E+02 0.16721E+00 0.25786E+02 0.93000E+02 0.17059E+00 0.25894E+02 0.95000E+02 0.17395E+00 0.26003E+02 0.97000E+02 0.17731E+00 0.26111E+02 0.99000E+02 0.18065E+00 0.26219E+02 0.10000E+03 0.18232E+00 0.26273E+02 *end alpha = 0 theta0 = 293 ! Repeat muA = 200 tauHatA = 5 mA = 5 ! B muC = 100 q = 5 ! C muBi = 30 muBf = 30 beta = 5 tauHatB = 10 mB = 5 !Flow a = 0.0 n = 1 ! Tdep thetaHat = 0 ! Lock lambdaL = 5.11 ! Bulk kappa = 3000 alpha = 0 theta0 = 293 TB,TNM,1, , ,netA TBDATA,1,muA ! TBDATA, 1 TBDATA,2,tauHatA ! TBDATA, 5 TBDATA,3,mA ! TBDATA, 7 TB,TNM,1, , ,netB TBDATA,1,muBi ! TBDATA, 9 TBDATA,2,muBf ! TBDATA, 10 TBDATA,3,beta ! TBDATA, 11 TBDATA,4,tauHatB ! TBDATA, 12 TBDATA,5,mB ! TBDATA, 13 TB,TNM,1, , ,netC TBDATA,1,muC ! TBDATA, 14 TBDATA,2,q ! TBDATA, 15 TB,TNM,1, , ,flow TBDATA,1,a ! TBDATA, 6 TBDATA,2,n ! TBDATA, 8 TB,TNM,1, , ,TDEP TBDATA,1,thetaHat,0 ! TBDATA, 2 TB,TNM,1, , ,LOCK TBDATA,1,lambdaL ! TBDATA, 3 TB,TNM,1, , ,BULK TBDATA,1,kappa ! TBDATA, 4 ! Define Material tbft,fadd,1,aml,genr,tnmexample ! Define Uniaxial Data tbft,eadd,1,unia,tnm-unia.exp ! Use TBFPLOT to examine the initial fit or change ! the coefficients to get a better fit using the TBFT,SET ! command or modifying the parameters above and running ! the TBFPLOT command again !TBFPLOT,1,'amgenrtnmexample',1,2,3,4 ! Solve tbft,solv,1,aml,genr,tnmexample,1,20 ! Plot TBFPLOT,1,'amgenrtnmexample',1,2,3,4 ! Save to Material database tbft,fset,1,aml,genr,tnmexample
Example: Parameter-Fitting of Prony-Series and Hyperelastic Parameters
This example shows the curve-fitting process involving Prony-series shear parameters with hyperelasticity. The same can be done with volumetric test data if Prony-series bulk parameters need to be estimated.
*create,unia.exp /1,time /2,epe /3,s /ninp,2 /nout,1 0.10000 0.200000 614620. 0.20000 0.400000 0.103454E+007 0.30000 0.600000 0.134486E+007 0.40000 0.800000 0.158910E+007 0.50000 1.00000 0.179204E+007 0.60000 1.20000 0.196906E+007 0.70000 1.40000 0.213047E+007 0.80000 1.60000 0.228372E+007 0.90000 1.80000 0.243458E+007 1.0000 2.00000 0.258772E+007 11.000 2.00000 0.201025E+007 21.000 2.00000 0.163321E+007 31.000 2.00000 0.138533E+007 41.000 2.00000 0.122123E+007 51.000 2.00000 0.111185E+007 61.000 2.00000 0.103844E+007 71.000 2.00000 988858.0 81.000 2.00000 955160.0 91.000 2.00000 932123.0 101.00 2.00000 916290.0 *end /prep7 tb,hyper,1, ,3,ogden, tbdata,1,1e6,1,1e6,2,1e6,-1 tbdata,7,0,0,0 tb,prony,1, ,2,shear tbdata,,1,10,1,100 tbft,fadd,1,aml,genr,hyprony tbft,eadd,1,unia,unia.exp ! Fix volumetric terms here. *DO,iX,7,9,1 tbft,fix,1,aml,genr,hyprony,iX,1 *ENDDO tbft,solve,1,aml,genr,hyprony,1,200 finish /exit
Example: Parameter-Fitting for TB,USER with the MXUP Option
This example shows the curve-fitting process involving biaxial data with an implementation of the Mooney-Rivlin material model.
! Save this to usermat.F subroutine usermat (matId, & elemId, kmatIntPt, kLayer, kSectPt, & ldstep,isubst, keycut, & nDirect, nShear, ncomp, nustatev, nusrprop, & time, dtime, temp, dtemp, & stress,ustatev,cJacobi, sedEl,sedPl,epseq, & Strain, dStrain, epsPl, usrprop, coords, & var0, defGrad_t, defGrad, & tsstif, epsZZ, cutFactor, & pVolDer, var2, var3, var4, & var5, var6, var7) c c************************************************************************* c************************************************************************* c *** primary function *** c hyperelastic user subroutine interface c this is a Mooney-Rivlin material implementation c Attention: c User must define material constitutive law properly c according to the stress state such as 3D, plane strain c and axisymmetry, plane stress and 3D/1D beam. c c A 3D material constitutive model can be used for c plane strain and axisymmetry cases. c c When using shell elements, a plane stress algorithm c must be used. c c************************************************************************* c Copyright ANSYS. All Rights Reserved. c c input arguments c =============== c matId (int,sc,i) material # c elemId (int,sc,i) element # c kDomIntPt (int,sc,i) "k"th domain integration point c kLayer (int,sc,i) "k"th layer c kSectPt (int,sc,i) "k"th Section point c ldstep (int,sc,i) load step number c isubst (int,sc,i) substep number c nDirect (int,sc,in) # of direct components c nShear (int,sc,in) # of shear components c ncomp (int,sc,in) nDirect + nShear c nstatev (int,sc,i) Number of state variables c nProp (int,sc,i) Number of material constants c c Temp (dp,sc,in) temperature at beginning of c time increment c dTemp (dp,sc,in) temperature increment c Time (dp,sc,in) time at beginning of increment (t) c dTime (dp,sc,in) current time increment (dt) c c Strain (dp,ar(ncomp),i) Strain at beginning of time increment c dStrain (dp,ar(ncomp),i) Strain increment c usrprop (dp,ar(nprop),i) Material constants defined by TB,USER c coords (dp,ar(3),i) current coordinates c defGrad_t(dp,ar(3,3),i) Deformation gradient at time t c defGrad (dp,ar(3,3),i) Deformation gradient at time t+dt c c input output arguments c ====================== c stress (dp,ar(ncomp),io) stress c ustatev (dp,ar(nstatev),io) user-defined state variables c sedEl (dp,sc,io) elastic work c sedPl (dp,sc,io) plastic work c epseq (dp,sc,io) equivalent plastic strain c epsPl (dp,ar(ncomp),io) plastic strain c var? (dp,sc,io) not used, they are reserved arguments c for further development c c output arguments c ================ c keycut (int,sc,o) loading bisect/cut control c 0 - no bisect/cut c 1 - bisect/cut c (factor will be determined by solution control) c cJacobi (dp,ar(ncomp,ncomp),o) material jacobian matrix c pVolDer (dp,ar(3),o) derivatives of volumetric potential wrt to J c pVolDer(1) = dU/dJ c pVolDer(2) = d^2U/dJ^2 c pVolDer(3) = d^3U/dJ^3 c tsstif (dp,ar(2),o) transverse shear stiffness c tsstif(1) - Gxz c tsstif(2) - Gyz c tsstif(1) is also used to calculate hourglass c stiffness, this value must be defined when low c order element, such as 181, 182, 185 with uniform c integration is used. c epsZZ (dp,sc,o) strain epsZZ for plane stress, c define it when accounting for thickness change c in shell and plane stress states c cutFactor(dp,sc,o) time step size cut-back factor c define it if a smaller step size is wished c recommended value is 0~1 c************************************************************************* c c --- parameters c #include "impcom.inc" #include "ansysdef.inc" c *** debug BLOCK c#include "locknm.inc" c integer wrinqr, iott c external pplock, ppunlock, wrinqr c c --- argument list c integer debugflag, keycut, upkey, & ldstep, isubst, ieqitr, & elemId, kmatIntPt, matId, & kLayer, kSectPt, & nDirect, ncomp, nShear, & nustatev, nusrprop double precision defGrad_t(3,3), defGrad(3,3), & coords(3), & usrprop(nusrprop), & ustatev(nustatev), & stress(ncomp), & pVolDer(3), & Strain(ncomp), & epsPl (ncomp), & dStrain(ncomp), & cJacobi(ncomp,ncomp) double precision sedEl, sedPl, & epseq, epsZZ,tsstif,cutFactor, & temp, dtemp, & time, dtime, & toffst double precision & var1, var2, var3, var4, & var5, var6, var7, var0 double precision Invar(10) , potential, jetc c integer mTens, mTens2 parameter (mTens = 6, mTens2 = mTens*mTens) cc integer kerr double precision dperr(3) external erhandler c************************************************************************ integer i,j,k,l c deformation gradient double precision F(3,3), detF, jac c cauchy-green tensor double precision Bbarm(3,3), BBbarm(3,3) !matrix form c local arguments double precision Bulk,mu1,mu2,C10,C01,d ! bulk, shear1, shear2. input coefficient double precision eye(3,3), sigma(3,3), Norm double precision cJacobiDev(3,3,3,3) c parameters double precision zero,one,two,three,four,third,twothird,fourthird double precision fivethird,half,threehalf,onefourth,threefourth parameter(zero=0.d0,one=1.d0,two=2.d0,three=3.d0,four=4.d0, & third=1.d0/3.d0,twothird=2.d0/3.d0,fourthird=4.d0/3.d0, & fivethird=5.d0/3.d0,half=1.d0/2.d0,threehalf=3.d0/2.d0, & onefourth=1.d0/4.d0,threefourth=3.d0/4.d0) c c=========================================================================== c************** material property ******************** C10 = usrprop(1) !shear1 coefficient C01 = usrprop(2) !shear2 coefficient d = usrprop(3) !bulk coefficient c mu1 = two*C10 !shear1 mu2 = two*C01 !shear2 c****************************************************** c *** copy a local deformation gradient F = defGrad detF = F(1,1) * (F(2,2)*F(3,3) - F(2,3)*F(3,2)) !determinant of deformation gradient & + F(1,2) * (F(2,3)*F(3,1) - F(2,1)*F(3,3)) & + F(1,3) * (F(2,1)*F(3,2) - F(2,2)*F(3,1)) c *** check for negative detF if (detF .lt. zero) then keycut = 1 cutFactor = 0.5d0 dperr(1) = 0.0d0 call erhandler ('usermat',5001,1, 'Negative determinant & of deformation gradient in usermat.', dperr(1),' ') goto 900 end if Norm = detF**(-twothird) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Bbarm = matmul(F,transpose(F))*Norm BBbarm = matmul(Bbarm,Bbarm) Invar(1) = Bbarm(1,1) + Bbarm(2,2) + Bbarm(3,3) Invar(2) = BBbarm(1,1) + BBbarm(2,2) + BBbarm(3,3) Invar(2) = half*(Invar(1)**two - Invar(2)) Invar(3) = detF !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! eye = zero eye(1,1) = one eye(2,2) = eye(1,1) eye(3,3) = eye(1,1) c c===== calculate cauchy stress ===== sigma = mu1/detF*(Bbarm - third*Invar(1)*eye) & + mu2/detF*(-twothird*Invar(2)*eye + Invar(1)*Bbarm-BBbarm) stress = zero stress(1) = sigma(1,1) stress(2) = sigma(2,2) stress(3) = sigma(3,3) stress(4) = sigma(1,2) if (ncomp .gt. 4) then stress(5) = sigma(2,3) stress(6) = sigma(1,3) end if c======= material Jacobian (deviatoric part), spatial frame ===== cJacobiDev = zero cJacobi = zero Do i = 1,3 Do j = 1,3 Do k = 1,3 Do l = 1,3 cJacobiDev(i,j,k,l) = twothird*mu1/detF*(-eye(i,j)*Bbarm(k,l) & + third*Invar(1)*eye(i,j)*eye(k,l) - Bbarm(i,j)*eye(k,l) & + half*Invar(1)*(eye(i,k)*eye(j,l) + eye(i,l)*eye(j,k))) & + fourthird*mu2/detF*(twothird*Invar(2)*eye(i,j)*eye(k,l) & - Invar(1)*Bbarm(i,j)*eye(k,l) + BBbarm(i,j)*eye(k,l) & + half*Invar(2)*(eye(i,k)*eye(j,l) + eye(i,l)*eye(j,k)) & - Invar(1)*eye(i,j)*Bbarm(k,l) & + threehalf*Bbarm(i,j)*Bbarm(k,l) & + eye(i,j)*BBbarm(k,l) - threefourth*(Bbarm(i,k)*Bbarm(j,l) & + Bbarm(i,l)*Bbarm(j,k))) end do end do end do end do c convert 4th order stiffness tensor to matrix do i=1,3 do j=i,3 cJacobi(i,j)=cJacobiDev(i,i,j,j) end do end do cJacobi(1,4)=cJacobiDev(1,1,1,2) cJacobi(2,4)=cJacobiDev(2,2,1,2) cJacobi(3,4)=cJacobiDev(3,3,1,2) cJacobi(4,4)=cJacobiDev(1,2,1,2) if (ncomp .gt. 4) then cJacobi(5,5)=cJacobiDev(2,3,2,3) cJacobi(6,6)=cJacobiDev(1,3,1,3) cJacobi(1,5)=cJacobiDev(1,1,2,3) cJacobi(1,6)=cJacobiDev(1,1,1,3) cJacobi(2,5)=cJacobiDev(2,2,2,3) cJacobi(2,6)=cJacobiDev(2,2,1,3) cJacobi(3,5)=cJacobiDev(3,3,2,3) cJacobi(3,6)=cJacobiDev(3,3,1,3) cJacobi(4,5)=cJacobiDev(1,2,2,3) cJacobi(4,6)=cJacobiDev(1,2,1,3) cJacobi(5,6)=cJacobiDev(2,3,1,3) end if do i=1,ncomp do j=i,ncomp cJacobi(j,i)=cJacobi(i,j) end do end do c==================================================== potential = half*mu1*(Invar(1)-three) + half*mu2*(Invar(2)-three) if(d .gt. 0.0d0) then Bulk = two/d jac = stress(ncomp+1) potential = potential + 0.5d0*Bulk*(jac-1.0d0)*(jac-1.0d0) ! volumetric part pVolDer(1) = Bulk*(jac-1.0d0) pVolDer(2) = Bulk pVolDer(3) = 0.0d0 else c *** incompressible behavior pVolDer(1) = 0.0d0 pVolDer(2) = 0.0d0 pVolDer(3) = 0.0d0 end if sedEl = potential 900 continue return end c ================================================================ c Start of Mechanical APDL command script c ================================================================ /upf,usermat.F *create,samplebiax.exp /ninp,2 /nout,1 /1,time /2,epto /3,s 0.50000E-01 0.487902E-001 32.1549 0.10000 0.953102E-001 62.8876 0.15000 0.139762 92.5075 0.20000 0.182322 121.263 0.25000 0.223144 149.355 0.30000 0.262364 176.949 0.35000 0.300105 204.180 0.40000 0.336472 231.819 0.45000 0.371564 258.552 0.50000 0.405465 285.230 0.55000 0.438255 311.909 0.60000 0.470004 338.648 0.65000 0.500775 365.494 0.70000 0.530628 392.488 0.75000 0.559616 419.666 0.80000 0.587787 447.058 0.85000 0.615186 474.693 0.90000 0.641854 502.593 0.95000 0.667829 530.787 1.0000 0.693147 559.349 *end /prep7 ! coefficients need to be initialized to good ! starting point. tb,user,1,1,3,MXUP tbdata,1,1.1,1.1,0.0 tblis,all,all, ! Define Material tbft,fadd,1,aml,genr,umatexample ! Define Biaxial Data tbft,eadd,1,biax,samplebiax.exp tbft,list,1 tbft,solve,1,aml,genr,umatexample,1,10 tbft,fset,1,aml,genr,umatexample tblis,all,all fini /exit,nosave
Example: Parameter-Fitting for Anisotropic Hyperelastic Material Models
This example shows the curve-fitting process involving uniaxial data provided in loading in three directions and fit with the anisotropic hyperelasticity model.
/batch,list /title, Test Case for hyper anisotropic hyper parameter fitting *create,unia-0.exp /ninp,1 /nout,1 /1,epto /2,s 2.E-02 0.372911626 3.E-02 0.561464662 4.E-02 0.751869561 5.E-02 0.944493564 6.E-02 1.13972783 7.E-02 1.33798999 8.E-02 1.53972694 9.E-02 1.74541767 0.1 1.95557687 0.11 2.17075877 0.12 2.39156083 0.13 2.61862899 0.14 2.85266247 0.15 3.09441971 0.16 3.3447247 0.17 3.60447474 0.18 3.87464766 0.19 4.15631205 0.2 4.4506358 0.21 4.75889915 0.22 5.08250685 0.23 5.42300216 0.24 5.78208387 0.25 6.16162383 0.26 6.56368948 0.27 6.99056442 0.28 7.44477862 0.29 7.92913479 0.3 8.44674479 0.31 9.00106954 0.32 9.59595998 0.33 10.2357127 0.34 10.9251215 0.35 11.6695496 0.36 12.4750004 0.37 13.3482085 0.38 14.2967338 0.39 15.3290857 0.4 16.4548412 0.41 17.6848138 0.42 19.0312142 0.43 20.5078657 0.44 22.1304339 0.45 23.9167057 0.46 25.8869031 0.47 28.0640583 0.48 30.4744497 0.49 33.1481028 0.5 36.1193919 *end *create,unia-60.exp /ninp,1 /nout,1 /1,epto /2,s /xcsys,euler,60,0,0 2.E-02 0.455060799 3.E-02 0.686417207 4.E-02 0.920708869 5.E-02 1.15824279 6.E-02 1.39934226 7.E-02 1.6443478 8.E-02 1.89361905 9.E-02 2.14753559 0.1 2.406499 0.11 2.67093476 0.12 2.9412938 0.13 3.21805489 0.14 3.50172707 0.15 3.7928519 0.16 4.09200615 0.17 4.39980503 0.18 4.71690569 0.19 5.04400959 0.2 5.38186789 0.21 5.73128448 0.22 6.09312092 0.23 6.46830202 0.24 6.85782055 0.25 7.262743 0.26 7.68421756 0.27 8.1234797 0.28 8.58186107 0.29 9.06079877 0.3 9.56184178 0.31 10.0866667 0.32 10.637084 0.33 11.215054 0.34 11.8227015 0.35 12.4623275 0.36 13.1364302 0.37 13.847723 0.38 14.5991541 0.39 15.3939313 0.4 16.2355486 0.41 17.12781 0.42 18.0748704 0.43 19.0812605 0.44 20.1519336 0.45 21.2923088 0.46 22.5083156 0.47 23.8064515 0.48 25.1938449 0.49 26.6783191 0.5 28.2684707 *end *create,unia-90.exp /ninp,1 /nout,1 /1,epto /2,s /xcsys,euler,90,0,0 2.E-02 0.272091551 3.E-02 0.408001008 4.E-02 0.544051933 5.E-02 0.680414049 6.E-02 0.817253696 7.E-02 0.954734401 8.E-02 1.09301687 9.E-02 1.2322596 0.1 1.37261915 0.11 1.51425073 0.12 1.65730807 0.13 1.80194439 0.14 1.9483124 0.15 2.09656568 0.16 2.2468581 0.17 2.39934476 0.18 2.5541831 0.19 2.71153308 0.2 2.87155782 0.21 3.03442451 0.22 3.20030524 0.23 3.36937759 0.24 3.54182563 0.25 3.71784023 0.26 3.8976215 0.27 4.08137772 0.28 4.26932806 0.29 4.46170182 0.3 4.65874213 0.31 4.86070404 0.32 5.06785845 0.33 5.28049157 0.34 5.49890727 0.35 5.72342721 0.36 5.95439406 0.37 6.19217227 0.38 6.43715003 0.39 6.68973861 0.4 6.95037999 0.41 7.21954261 0.42 7.49772779 0.43 7.78547011 0.44 8.08334156 0.45 8.39195306 0.46 8.71195709 0.47 9.04405291 0.48 9.38898836 0.49 9.74756341 0.5 10.1206368 *end /prep7 TB,AHYPER,1,,10,EXP !expo TBDATA,1, 10, 0, 0, 0, 0, 0 TBDATA,7, 1, 0.1, 1.1, 0.3 ! AVEC and BVEC are known TB,AHYPER,1,,,AVEC ! = 0 degree TBDATA,1, 1, 0, 0 TB,AHYPER,1,,,BVEC ! =60 degree TBDATA,1, 0.5, 0.8660254, 0 !TBDATA,1, 0, 1, 0 TB,AHYPER,1,,,PVOL TBDATA,1, 0 tblis,all,all ! Define Material tbft,fadd,1,aml,genr,example ! Define Uniaxial Data tbft,eadd,1,unia,unia-0.exp tbft,eadd,1,unia,unia-60.exp tbft,eadd,1,unia,unia-90.exp *do,iX,2,6,1 tbft,fix,1,aml,genr,example,iX,1 *enddo *do,iX,11,17,1 tbft,fix,1,aml,genr,example,iX,1 *enddo tbft,solv,1,aml,genr,example,1,20 tbft,list,1 tbft,fset,1,aml,genr,example /out /gopr tblis,all,all /exit
The following example analyses are available for viscoelasticity curve-fitting:
Example: Prony-Fitting in Time Domain
/com, curve-fitting prony series shear modulus with npts = 3 *create,sdec-1.exp 0.00001 2993.40 0.01 2993.38 1 2991.94 2 2990.49 4 2987.63 6 2984.82 8 2982.06 10 2979.34 20 2966.38 40 2943.40 60 2923.80 80 2907.02 100 2892.62 200 2844.66 400 2801.44 600 2776.87 800 2756.33 1000 2737.32 2000 2656.10 4000 2542.39 6000 2467.97 8000 2414.97 10000 2373.92 20000 2234.36 40000 2056.05 60000 1946.64 80000 1879.31 100000 1837.87 200000 1777.41 400000 1771.61 600000 1771.56 800000 1771.56 1000000 1771.56 *end /prep7 tb,elas,1 tbdat,,8971.51500,0.499000000 tb,prony, 1, 1, 3,shea tbdata,1,8.031872e-02,5.116459e+01,6.070276e-01 tbdata,4,7.126442e+02,8.509530e-01,9.119234e+03 tblis,all,all /prep7 ! define relaxation modulus vs time data tbft,eadd,1,sdec,sdec-1.exp ! define material tbft,fadd,1,aml,genr,prexample tbft,list,1 tbft,set,1,aml,genr,prexample,1, 2e-1 tbft,set,1,aml,genr,prexample,2, 1e1 tbft,set,1,aml,genr,prexample,3, 2e-1 tbft,set,1,aml,genr,prexample,4, 1e2 tbft,set,1,aml,genr,prexample,5, 2e-1 tbft,set,1,aml,genr,prexample,6, 1e3 tbft,set,1,aml,genr,prexample,7,8971.51500 tbft,set,1,aml,genr,prexample,8,0.499000000 tbft,fix,1,aml,genr,prexample, 7, 1 tbft,fix,1,aml,genr,prexample, 8, 1 tbft,solve,1,aml,genr,prexample,1,100 tbft,fset,1,aml,genr,prexample /out /gopr tblis,all,all fini /exit
Example: Prony-Fitting in Frequency Domain
/com, test case for Prony series with exp data in freq domain (shear 5 terms) *create,mod.exp /ninp,1 /nout,2 /1,freq /2,srmd /3,simd 0.1 2991.312875 14.89594278 0.5 2992.452151 2.999592077 1 2992.488035 1.500117359 2 2992.497009 0.750098857 5 2992.499521 0.300044043 10 2992.49988 0.150022343 15 2992.499947 0.100014935 20 2992.49997 0.075011212 25 2992.499981 0.060008973 30 2992.499987 0.050007479 35 2992.49999 0.042863555 40 2992.499993 0.037505611 45 2992.499994 0.033338321 50 2992.499995 0.030004489 55 2992.499996 0.027276808 60 2992.499997 0.025003741 65 2992.499997 0.023080377 70 2992.499998 0.021431778 75 2992.499998 0.020002993 80 2992.499998 0.018752806 85 2992.499998 0.0176497 90 2992.499999 0.016669161 95 2992.499999 0.015791837 100 2992.499999 0.015002245 *end /prep7 tb,elas,1 tbdat,,7782.834,0.3 tb,prony,1,,5,shear tbdata,1,5.03E-02,1.12E+02 tbdata,1,1.07E-01,3.13E+03 tbdata,1,2.51e-01,4.12E+04 tbdata,1,6.01e-1,9.5401E+04 tbdata,1,9.03e-1,1.6E+05 tbft,eadd,1,sdec,mod.exp ! Define constitutive function tbft,fadd,1,aml,genr,myprony tbft,set,1,aml,genr,myprony,1,0.01 tbft,set,1,aml,genr,myprony,2,100 tbft,set,1,aml,genr,myprony,3,0.01 tbft,set,1,aml,genr,myprony,4,1000 tbft,set,1,aml,genr,myprony,5,0.01 tbft,set,1,aml,genr,myprony,6,10000 tbft,set,1,aml,genr,myprony,7,0.01 tbft,set,1,aml,genr,myprony,8,100000 tbft,set,1,aml,genr,myprony,9,0.01 tbft,set,1,aml,genr,myprony,10,200000 tbft,fix,1,aml,genr,myprony,11,1 tbft,fix,1,aml,genr,myprony,12,1 tbft,solve,1,aml,genr,myprony,1,200 cfit,,dflag,fitteddatlist cfit,,cfname,amgenrmyprony cfit,debug tbft,fset,1,aml,genr,myprony, /out tblis,all,all /dele,mod.exp /exit
The following example analyses are available for plasticity curve-fitting:
Example: Parameter-Fitting of Temperature-Dependent Chaboche with Isotropic Elastic Material
/prep7 *create,a0.exp /1,epto /2,s /temp,0 0.0 0.0 0.280000E-004 4.20000 0.560000E-004 8.40000 0.980000E-004 14.7000 0.144667E-003 21.7000 0.191333E-003 28.7000 0.238000E-003 35.7000 0.284667E-003 42.7000 0.331333E-003 49.7000 0.378000E-003 56.7000 0.424667E-003 63.7000 0.471333E-003 70.7000 0.518000E-003 77.7000 0.564667E-003 84.7000 0.611333E-003 91.7000 0.658000E-003 98.7000 0.704667E-003 105.700 0.751333E-003 112.700 0.798000E-003 119.700 0.844667E-003 126.700 0.891333E-003 133.700 0.938000E-003 140.700 0.984667E-003 147.700 0.133563E-002 154.700 0.212038E-002 161.700 0.450136E-002 168.700 0.123396E-001 175.700 0.213894E-001 182.700 0.312338E-001 189.700 0.420265E-001 196.700 0.539708E-001 203.700 0.659320E-001 210.000 0.659040E-001 205.800 0.658760E-001 201.600 0.658340E-001 195.300 0.657873E-001 188.300 0.657407E-001 181.300 0.656940E-001 174.300 0.656473E-001 167.300 0.656007E-001 160.300 0.655540E-001 153.300 0.655073E-001 146.300 0.654607E-001 139.300 0.654140E-001 132.300 0.653673E-001 125.300 0.653207E-001 118.300 0.652740E-001 111.300 0.652273E-001 104.300 0.651807E-001 97.3000 0.651340E-001 90.3000 0.650873E-001 83.3000 0.650407E-001 76.3000 0.649940E-001 69.3000 0.649473E-001 62.3000 0.649007E-001 55.3000 0.648540E-001 48.3000 0.648073E-001 41.3000 0.647607E-001 34.3000 0.647140E-001 27.3000 0.646673E-001 20.3000 0.646207E-001 13.3000 0.645740E-001 6.29999 0.645320E-001 0.0 *end *create,a100.exp /1,epto /2,s /temp,100 0.0 0.0 0.323077E-004 4.20000 0.646154E-004 8.40000 0.113077E-003 14.7000 0.166923E-003 21.7000 0.220769E-003 28.7000 0.274615E-003 35.7000 0.328462E-003 42.7000 0.382308E-003 49.7000 0.436154E-003 56.7000 0.490000E-003 63.7000 0.543846E-003 70.7000 0.597692E-003 77.7000 0.651538E-003 84.7000 0.705385E-003 91.7000 0.759231E-003 98.7000 0.813077E-003 105.700 0.866923E-003 112.700 0.920769E-003 119.700 0.974615E-003 126.700 0.129273E-002 133.700 0.214756E-002 140.700 0.490863E-002 147.700 0.136491E-001 154.700 0.235799E-001 161.700 0.344051E-001 168.700 0.463026E-001 175.700 0.595099E-001 182.700 0.743532E-001 189.700 0.912979E-001 196.700 0.111042 203.700 0.121114 206.850 0.132113 210.000 0.132080 205.800 0.132048 201.600 0.131999 195.300 0.131946 188.300 0.131892 181.300 0.131838 174.300 0.131784 167.300 0.131730 160.300 0.131676 153.300 0.131623 146.300 0.131569 139.300 0.131515 132.300 0.131461 125.300 0.131407 118.300 0.131353 111.300 0.131299 104.300 0.131246 97.3000 0.131192 90.3000 0.131138 83.3000 0.131084 76.3000 0.131030 69.3000 0.130976 62.3000 0.130923 55.3000 0.130869 48.3000 0.130815 41.3000 0.130761 34.3000 0.130707 27.3000 0.130653 20.3000 0.130599 13.3000 0.130546 6.30001 0.130497 0.0 *end *create,a200.exp /1,epto /2,s /temp,200 0.0 0.0 0.350000E-004 4.20000 0.700000E-004 8.40000 0.122500E-003 14.7000 0.180833E-003 21.7000 0.239167E-003 28.7000 0.297500E-003 35.7000 0.355833E-003 42.7000 0.414167E-003 49.7000 0.472500E-003 56.7000 0.530833E-003 63.7000 0.589167E-003 70.7000 0.647500E-003 77.7000 0.705833E-003 84.7000 0.764167E-003 91.7000 0.822500E-003 98.7000 0.880833E-003 105.700 0.939167E-003 112.700 0.997500E-003 119.700 0.167134E-002 126.700 0.326455E-002 133.700 0.107655E-001 140.700 0.213294E-001 147.700 0.328598E-001 154.700 0.455505E-001 161.700 0.596628E-001 168.700 0.755578E-001 175.700 0.937543E-001 182.700 0.115037 189.700 0.133758 194.950 0.149894 198.887 0.163523 201.841 0.174814 204.055 0.184003 205.717 0.191367 206.962 0.197188 207.897 0.201738 208.598 0.206459 209.298 0.211372 210.000 0.211337 205.800 0.211302 201.600 0.211249 195.300 0.211191 188.300 0.211133 181.300 0.211074 174.300 0.211016 167.300 0.210958 160.300 0.210899 153.300 0.210841 146.300 0.210783 139.300 0.210724 132.300 0.210666 125.300 0.210608 118.300 0.210549 111.300 0.210491 104.300 0.210433 97.3000 0.210374 90.3000 0.210316 83.3000 0.210258 76.3000 0.210199 69.3000 0.210141 62.3000 0.210083 55.3000 0.210024 48.3000 0.209966 41.3000 0.209908 34.3000 0.209849 27.3000 0.209791 20.3000 0.209733 13.3000 0.209674 6.30000 0.209622 0.0 *end ! Enter the elastic properties. If you have data for 3 temperatures, enter Young's modulus and ! mu for each temperature tb,elas,1 tbtemp,0 tbdat,,1.5e5,0.3 tbtemp,100 tbdat,,1.3e5,0.3 tbtemp,200 tbdat,,1.2e5,0.3 ! Define the Chaboche material property order 3 tb,chab,1,2,2 tbtemp,0 tbdata,1,150,1,1,1,1 tbtemp,100 tbdata,1,130,1,1,1,1 tbtemp,200 tbdata,1,120,1,1,1,1 ! Import material parameters tbft,fadd,1,aml,genr,myfit ! Add experimental data tbft,eadd,1,unia,a0.exp tbft,eadd,1,unia,a100.exp tbft,eadd,1,unia,a200.exp ! Automatically initialize the parameters tbft,aini,1,aml,genr,myfit ! List the properties and experimental data tbft,list,1 ! Solve for Parameters tbft,solve,1,aml,genr,myfit,1,100 ! Plot ! TPLT,materialid,'amgenrmyfit',EXPINDEX,COLX,COLY1,COLY2 ! COLY1 is stress here ! COLY2 = NCOL+1 has the calculated stress value TBFPLOT,1,'amgenrmyfit',3,1,2,3 ! Export to TB table database tbft,fset,1,aml,genr,myfit tblis,all,all fini /exit
Example: Parameter-Fitting of Three-Term Kinematic Static Recovery Parameters with Known Chaboche Parameters
/prep7 /out,scratch *create,c1.exp /ninp,2 /1,time /2,epto /3,s 0.20000E-01 0.133333E-004 0.400000 0.40000E-01 0.266667E-004 0.800000 0.70000E-01 0.466667E-004 1.40000 0.11500 0.766667E-004 2.30000 0.16500 0.110000E-003 3.30000 0.21500 0.143333E-003 4.30000 0.26500 0.176667E-003 5.30000 0.31500 0.210000E-003 6.30000 0.36500 0.243333E-003 7.30000 0.41500 0.276667E-003 8.30000 0.46500 0.310000E-003 9.30000 0.51500 0.343333E-003 10.3000 0.56500 0.376667E-003 11.3000 0.61500 0.410000E-003 12.3000 0.66500 0.443333E-003 13.3000 0.71500 0.476667E-003 14.3000 0.76500 0.510000E-003 15.3000 0.81500 0.543333E-003 16.3000 0.86500 0.576667E-003 17.3000 0.91500 0.610000E-003 18.3000 0.96500 0.643484E-003 19.3000 1.0000 0.671643E-003 19.9999 1.0200 0.658311E-003 19.6000 1.0400 0.644978E-003 19.2000 1.0700 0.624978E-003 18.6000 1.1150 0.594978E-003 17.7000 1.1650 0.561645E-003 16.7000 1.2150 0.528311E-003 15.7000 1.2650 0.494978E-003 14.7000 1.3150 0.461645E-003 13.7000 1.3650 0.428312E-003 12.7000 1.4150 0.394978E-003 11.7000 1.4650 0.361645E-003 10.7000 1.5150 0.328312E-003 9.70000 1.5650 0.294978E-003 8.70000 1.6150 0.261645E-003 7.70000 1.6650 0.228312E-003 6.70000 1.7150 0.194978E-003 5.70000 1.7650 0.161645E-003 4.70000 1.8150 0.128312E-003 3.70000 1.8650 0.949782E-004 2.70000 1.9150 0.616448E-004 1.70000 1.9650 0.283115E-004 0.700000 2.0000 0.497818E-005 0.0 2.0200 0.216448E-004 0.500000 2.0400 0.383115E-004 1.00000 2.0700 0.633115E-004 1.75000 2.1150 0.100812E-003 2.87500 2.1650 0.142478E-003 4.12500 2.2150 0.184145E-003 5.37500 2.2650 0.225812E-003 6.62500 2.3150 0.267478E-003 7.87500 2.3650 0.309145E-003 9.12500 2.4150 0.350812E-003 10.3750 2.4650 0.392478E-003 11.6250 2.5150 0.434145E-003 12.8750 2.5650 0.475812E-003 14.1250 2.6150 0.517478E-003 15.3750 2.6650 0.559145E-003 16.6250 2.7150 0.600812E-003 17.8750 2.7650 0.642534E-003 19.1250 2.8150 0.704785E-003 20.3750 2.8650 0.819971E-003 21.6250 2.9150 0.941276E-003 22.8749 2.9650 0.106968E-002 24.1250 3.0000 0.116447E-002 24.9999 3.0200 0.114780E-002 24.5000 3.0400 0.113114E-002 24.0000 3.0700 0.110614E-002 23.2500 3.1150 0.106864E-002 22.1250 3.1650 0.102697E-002 20.8750 3.2150 0.985304E-003 19.6250 3.2650 0.943637E-003 18.3750 3.3150 0.901971E-003 17.1250 3.3650 0.860304E-003 15.8750 3.4150 0.818637E-003 14.6250 3.4650 0.776971E-003 13.3750 3.5150 0.735304E-003 12.1250 3.5650 0.693637E-003 10.8750 3.6150 0.651971E-003 9.62500 3.6650 0.610304E-003 8.37500 3.7150 0.568637E-003 7.12500 3.7650 0.526971E-003 5.87500 3.8150 0.485304E-003 4.62500 3.8650 0.443637E-003 3.37500 3.9150 0.401971E-003 2.12500 3.9650 0.360304E-003 0.875000 4.0000 0.331137E-003 0.0 4.0200 0.347804E-003 0.500000 4.0400 0.364471E-003 1.00000 4.0700 0.389471E-003 1.75000 4.1150 0.426971E-003 2.87500 4.1650 0.468637E-003 4.12500 4.2150 0.510304E-003 5.37500 4.2650 0.551971E-003 6.62500 4.3150 0.593637E-003 7.87500 4.3650 0.635304E-003 9.12500 4.4150 0.676971E-003 10.3750 4.4650 0.718637E-003 11.6250 4.5150 0.760304E-003 12.8750 4.5650 0.801971E-003 14.1250 4.6150 0.843637E-003 15.3750 4.6650 0.885304E-003 16.6250 4.7150 0.926971E-003 17.8750 4.7650 0.968637E-003 19.1250 4.8150 0.101030E-002 20.3750 4.8650 0.105197E-002 21.6250 4.9150 0.109364E-002 22.8750 4.9650 0.113566E-002 24.1250 5.0000 0.120757E-002 25.0000 5.9000 0.123388E-002 24.9984 6.8000 0.125713E-002 25.0001 8.1500 0.129081E-002 25.0002 10.175 0.134091E-002 25.0001 12.425 0.139638E-002 25.0000 14.675 0.145174E-002 25.0000 16.925 0.150703E-002 25.0000 19.175 0.156229E-002 25.0000 21.425 0.161752E-002 25.0000 23.675 0.167273E-002 25.0000 25.925 0.172794E-002 25.0000 28.175 0.178314E-002 25.0000 30.425 0.183834E-002 25.0000 32.675 0.189353E-002 25.0000 34.925 0.194872E-002 25.0000 37.175 0.200392E-002 25.0000 39.425 0.205911E-002 25.0000 41.675 0.211430E-002 25.0000 43.925 0.216949E-002 25.0000 46.175 0.222468E-002 25.0000 48.425 0.227987E-002 25.0000 50.000 0.231850E-002 25.0000 *end ! Add the material properties. Elastic, Chaboche and initial values for kinematic static recovery ! For kinematic static recovery, recommended values are C = Large, and Gamma is small value s ! slightly more than 1 young = 30e3 poiss = 0.3 sigy = 18 tb,elas,1 tbdat,,young,poiss tb,chab,1,,3,TRATE tbdata,1,18.8,4.3367e6, 3.77e6, 8.981e3,9.47778e2 tbdata,6, 9.8895e2,9.9446 tb,plastic,1,,3,KSR2 tbdata,1,10000,1.5,10000,1.5 tbdata,5, 10000,1.5 tblis,all,all ! Import the material parameter to the tbft command object tbft,fadd,1,aml,genr,ratetest ! List the parameters to see the imported data and examine where ! the parameters are stored (index of the parameters) tbft,list,1 ! Add experimental data tbft,eadd,1,unia,c1.exp ! Parameter 1 to 7 are Chaboche parameters. They can be fixed because ! they were previously calculated tbft,fix,1,aml,genr,ratetest,1,1 tbft,fix,1,aml,genr,ratetest,2,1 tbft,fix,1,aml,genr,ratetest,3,1 tbft,fix,1,aml,genr,ratetest,4,1 tbft,fix,1,aml,genr,ratetest,5,1 tbft,fix,1,aml,genr,ratetest,6,1 tbft,fix,1,aml,genr,ratetest,7,1 ! Young's Modulus and Poisson's Ratio are fixed automatically ! Solve for parameters tbft,solve,1,aml,genr,ratetest,1,100 ! Plot ! TBFPLOT,materialid,'amgenrratetest',EXPINDEX,COLX,COLY1,COLY2,COLYY3 ! COLX is time here ! COLY1 is set to 3 and has the experimental stress value ! COLY2 = COLYY1+1 has the calculated stress value TBFPLOT,1,'amgenrratetest',3,1,3,4 ! Save to TB database and list tbft,fset,1,aml,genr,ratetest tblis,all,all /out fini /exit
Example: Parameter-Fitting of Three-Term Kinematic Static Recovery Parameters with Rate-Dependence Using the Multistep-Solve Option
/prep7 *create,PERZYNA-u-rate250.exp /ninp,2 /nout,1 /1,TIME /2,EPTO /3,S /khar,1 /rate,1 0.20000E-05 0.100000E-002 26.2999 0.40000E-05 0.200000E-002 46.7484 0.60000E-05 0.300000E-002 55.4562 0.80000E-05 0.400000E-002 58.8877 0.10000E-04 0.500000E-002 60.5450 0.12000E-04 0.600000E-002 61.6600 0.14000E-04 0.700000E-002 62.5379 0.16000E-04 0.800000E-002 63.2573 0.18000E-04 0.900000E-002 63.8510 0.20000E-04 0.100000E-001 64.3409 0.24000E-04 0.800000E-002 11.7409 0.28000E-04 0.600000E-002 -33.4499 0.32000E-04 0.400000E-002 -51.6628 0.36000E-04 0.200000E-002 -57.2154 0.40000E-04 0.00000 -60.2273 0.44000E-04 -0.200000E-002 -62.2638 0.48000E-04 -0.400000E-002 -63.6620 0.52000E-04 -0.600000E-002 -64.6161 0.56000E-04 -0.800000E-002 -65.2636 0.60000E-04 -0.100000E-001 -65.7014 0.64000E-04 -0.800000E-002 -13.1014 0.68000E-04 -0.600000E-002 32.1335 0.72000E-04 -0.400000E-002 50.6189 0.76000E-04 -0.200000E-002 56.4732 0.80000E-04 0.00000 59.7074 0.84000E-04 0.200000E-002 61.9040 0.88000E-04 0.400000E-002 63.4153 0.92000E-04 0.600000E-002 64.4482 0.96000E-04 0.800000E-002 65.1499 0.10000E-03 0.100000E-001 65.6246 *end *create,PERZYNA-u-rate2500.exp /ninp,2 /nout,1 /1,TIME /2,EPTO /3,S /khar,1 /rate,1 0.20000E-06 0.100000E-002 26.3000 0.40000E-06 0.200000E-002 49.4592 0.60000E-06 0.300000E-002 60.6917 0.80000E-06 0.400000E-002 65.2738 0.10000E-05 0.500000E-002 67.3054 0.12000E-05 0.600000E-002 68.5463 0.14000E-05 0.700000E-002 69.4871 0.16000E-05 0.800000E-002 70.2511 0.18000E-05 0.900000E-002 70.8805 0.20000E-05 0.100000E-001 71.3999 0.24000E-05 0.800000E-002 18.7999 0.28000E-05 0.600000E-002 -31.1323 0.32000E-05 0.400000E-002 -55.7260 0.36000E-05 0.200000E-002 -63.2645 0.40000E-05 0.00000 -66.7236 0.44000E-05 -0.200000E-002 -68.9835 0.48000E-05 -0.400000E-002 -70.5324 0.52000E-05 -0.600000E-002 -71.5911 0.56000E-05 -0.800000E-002 -72.3106 0.60000E-05 -0.100000E-001 -72.7974 0.64000E-05 -0.800000E-002 -20.1974 0.68000E-05 -0.600000E-002 29.7540 0.72000E-05 -0.400000E-002 54.5620 0.76000E-05 -0.200000E-002 62.4264 0.80000E-05 0.00000 66.1342 0.84000E-05 0.200000E-002 68.5742 0.88000E-05 0.400000E-002 70.2511 0.92000E-05 0.600000E-002 71.3993 0.96000E-05 0.800000E-002 72.1805 0.10000E-04 0.100000E-001 72.7096 *end *create,PERZYNA-u-rate25.exp /ninp,2 /nout,1 /1,TIME /2,EPTO /3,S /khar,1 /rate,1 0.20000E-04 0.100000E-002 26.2995 0.40000E-04 0.200000E-002 43.9886 0.60000E-04 0.300000E-002 50.9383 0.80000E-04 0.400000E-002 53.6832 0.10000E-03 0.500000E-002 55.1331 0.12000E-03 0.600000E-002 56.1725 0.14000E-03 0.700000E-002 57.0069 0.16000E-03 0.800000E-002 57.6935 0.18000E-03 0.900000E-002 58.2603 0.20000E-03 0.100000E-001 58.7280 0.24000E-03 0.800000E-002 6.12797 0.28000E-03 0.600000E-002 -33.9514 0.32000E-03 0.400000E-002 -47.7176 0.36000E-03 0.200000E-002 -52.2745 0.40000E-03 0.00000 -55.0163 0.44000E-03 -0.200000E-002 -56.8940 0.48000E-03 -0.400000E-002 -58.1823 0.52000E-03 -0.600000E-002 -59.0602 0.56000E-03 -0.800000E-002 -59.6555 0.60000E-03 -0.100000E-001 -60.0575 0.64000E-03 -0.800000E-002 -7.45753 0.68000E-03 -0.600000E-002 32.6973 0.72000E-03 -0.400000E-002 46.7671 0.76000E-03 -0.200000E-002 51.6024 0.80000E-03 0.00000 54.5468 0.84000E-03 0.200000E-002 56.5699 0.88000E-03 0.400000E-002 57.9605 0.92000E-03 0.600000E-002 58.9095 0.96000E-03 0.800000E-002 59.5534 0.10000E-02 0.100000E-001 59.9887 *end *create,PERZYNA-u-rate2p5.exp /ninp,2 /nout,1 /1,TIME /2,EPTO /3,S /khar,1 /rate,1 0.20000E-03 0.100000E-002 26.2947 0.40000E-03 0.200000E-002 41.4355 0.60000E-03 0.300000E-002 47.1644 0.80000E-03 0.400000E-002 49.4885 0.10000E-02 0.500000E-002 50.8147 0.12000E-02 0.600000E-002 51.8045 0.14000E-02 0.700000E-002 52.6073 0.16000E-02 0.800000E-002 53.2690 0.18000E-02 0.900000E-002 53.8154 0.20000E-02 0.100000E-001 54.2660 0.24000E-02 0.800000E-002 1.66602 0.28000E-02 0.600000E-002 -33.4810 0.32000E-02 0.400000E-002 -44.2798 0.36000E-02 0.200000E-002 -48.2898 0.40000E-02 0.00000 -50.8491 0.44000E-02 -0.200000E-002 -52.6098 0.48000E-02 -0.400000E-002 -53.8165 0.52000E-02 -0.600000E-002 -54.6380 0.56000E-02 -0.800000E-002 -55.1946 0.60000E-02 -0.100000E-001 -55.5703 0.64000E-02 -0.800000E-002 -2.97029 0.68000E-02 -0.600000E-002 32.2861 0.72000E-02 -0.400000E-002 43.4001 0.76000E-02 -0.200000E-002 47.6694 0.80000E-02 0.00000 50.4167 0.84000E-02 0.200000E-002 52.3119 0.88000E-02 0.400000E-002 53.6130 0.92000E-02 0.600000E-002 54.4998 0.96000E-02 0.800000E-002 55.1011 0.10000E-01 0.100000E-001 55.5072 *end *create,PERZYNA-u-rate0p25.exp /ninp,2 /nout,1 /1,TIME /2,EPTO /3,S /khar,1 /rate,1 0.20000E-02 0.100000E-002 26.2522 0.40000E-02 0.200000E-002 39.1857 0.60000E-02 0.300000E-002 44.0695 0.80000E-02 0.400000E-002 46.1271 0.10000E-01 0.500000E-002 47.3748 0.12000E-01 0.600000E-002 48.3297 0.14000E-01 0.700000E-002 49.1087 0.16000E-01 0.800000E-002 49.7514 0.18000E-01 0.900000E-002 50.2821 0.20000E-01 0.100000E-001 50.7197 0.24000E-01 0.800000E-002 -1.88033 0.28000E-01 0.600000E-002 -32.5495 0.32000E-01 0.400000E-002 -41.4127 0.36000E-01 0.200000E-002 -45.0945 0.40000E-01 0.00000 -47.5227 0.44000E-01 -0.200000E-002 -49.1955 0.48000E-01 -0.400000E-002 -50.3409 0.52000E-01 -0.600000E-002 -51.1200 0.56000E-01 -0.800000E-002 -51.6475 0.60000E-01 -0.100000E-001 -52.0035 0.64000E-01 -0.800000E-002 0.596548 0.68000E-01 -0.600000E-002 31.4078 0.72000E-01 -0.400000E-002 40.5865 0.76000E-01 -0.200000E-002 44.5129 0.80000E-01 0.00000 47.1181 0.84000E-01 0.200000E-002 48.9171 0.88000E-01 0.400000E-002 50.1508 0.92000E-01 0.600000E-002 50.9910 0.96000E-01 0.800000E-002 51.5603 0.10000 0.100000E-001 51.9447 *end *create,PERZYNA-u-rate0p025.exp /ninp,2 /nout,1 /1,TIME /2,EPTO /3,S /khar,1 /rate,1 0.20000E-01 0.100000E-002 26.0289 0.40000E-01 0.200000E-002 37.2562 0.60000E-01 0.300000E-002 41.5592 0.80000E-01 0.400000E-002 43.4422 0.10000 0.500000E-002 44.6371 0.12000 0.600000E-002 45.5666 0.14000 0.700000E-002 46.3275 0.16000 0.800000E-002 46.9555 0.18000 0.900000E-002 47.4739 0.20000 0.100000E-001 47.9014 0.24000 0.800000E-002 -4.69684 0.28000 0.600000E-002 -31.4696 0.32000 0.400000E-002 -39.0704 0.36000 0.200000E-002 -42.5401 0.40000 0.00000 -44.8707 0.44000 -0.200000E-002 -46.4767 0.48000 -0.400000E-002 -47.5754 0.52000 -0.600000E-002 -48.3222 0.56000 -0.800000E-002 -48.8277 0.60000 -0.100000E-001 -49.1687 0.64000 -0.800000E-002 3.42958 0.68000 -0.600000E-002 30.3732 0.72000 -0.400000E-002 38.2849 0.76000 -0.200000E-002 41.9878 0.80000 0.00000 44.4871 0.84000 0.200000E-002 46.2130 0.88000 0.400000E-002 47.3955 0.92000 0.600000E-002 48.2002 0.96000 0.800000E-002 48.7453 1.0000 0.100000E-001 49.1132 *end *create,PERZYNA-u-slow.exp /1,EPTO /2,S /khar,1 0.100000E-002 26.0289 0.200000E-002 37.2562 0.300000E-002 41.5592 0.400000E-002 43.4422 0.500000E-002 44.6371 0.600000E-002 45.5666 0.700000E-002 46.3275 0.800000E-002 46.9555 0.900000E-002 47.4739 0.100000E-001 47.9014 0.800000E-002 -4.69684 0.600000E-002 -31.4696 0.400000E-002 -39.0704 0.200000E-002 -42.5401 0.00000 -44.8707 -0.200000E-002 -46.4767 -0.400000E-002 -47.5754 -0.600000E-002 -48.3222 -0.800000E-002 -48.8277 -0.100000E-001 -49.1687 -0.800000E-002 3.42958 -0.600000E-002 30.3732 -0.400000E-002 38.2849 -0.200000E-002 41.9878 0.00000 44.4871 0.200000E-002 46.2130 0.400000E-002 47.3955 0.600000E-002 48.2002 0.800000E-002 48.7453 0.100000E-001 49.1132 *end /prep7 Ce1=26300 ! Elastic Modulus Ce2=0.3 ! Poisson's Ratio TB,ELAS,1 TBDATA,1,Ce1,Ce2 C1 = 1.8800000e+01 C2 = 3.1506514e+03 C3 = 2.5739148e+02 C4 = 3.6519392e+06 C5 = 1.9894826e+05 tb,chab,1,, tbdata,1,C1,1,1,2,2, !******************* fit all the input data !!!!!!******************** Cp1=1 Cp2=100 TB,RATE,1,,,PERZYNA ! PERZYNA for rate hardening TBDATA,1,Cp1,Cp2 ! tblis,all,all ! Add Experimental Data to be used only for kinematic hardening tbft,eadd,1,unia,PERZYNA-u-slow.exp ! Adding the Perzyna curve-fitting data, 6 different rates, activated only when rate is !enabled in the multistep solve tbft,eadd,1,unia,PERZYNA-u-rate0p025.exp tbft,eadd,1,unia,PERZYNA-u-rate0p25.exp tbft,eadd,1,unia,PERZYNA-u-rate2p5.exp tbft,eadd,1,unia,PERZYNA-u-rate25.exp tbft,eadd,1,unia,PERZYNA-u-rate250.exp tbft,eadd,1,unia,PERZYNA-u-rate2500.exp ! Constructing the fitting function tbft,fadd,1,aml,genr,ratefit ! Start multistep plasticity-specific solve which will fit the chaboche parameters first and then ! the rate-dependent plasticity parameters. (Issues two tbft,solve commands internally.) tbft,psolve,1, aml,genr,ratefit,1,50 tbft,list,1 tbft,fset,1, aml,genr,ratefit !Save parameters to the database tbft,fset,1, aml,genr,ratefit tblis,all,all
Example: Parameter-Fitting of Anand Rate-Dependent Plasticity Model
! Example Problem for Anand Viscoplasticity Fitting at Different Rates *create,unia-2.exp /ninp,2 /nout,1 /1,time /2,epto /3,s /temp,273 0.20000E-01 0.100000E-001 0.813999E+008 0.40000E-01 0.200000E-001 0.102931E+009 0.60000E-01 0.300000E-001 0.124107E+009 0.80000E-01 0.400000E-001 0.145065E+009 0.10000 0.500000E-001 0.165807E+009 0.12000 0.600000E-001 0.186337E+009 0.14000 0.700000E-001 0.206656E+009 0.16000 0.800000E-001 0.226768E+009 0.18000 0.900000E-001 0.246674E+009 0.20000 0.100000 0.266378E+009 0.22000 0.110000 0.285881E+009 0.24000 0.120000 0.305187E+009 0.26000 0.130000 0.324297E+009 0.28000 0.140000 0.343213E+009 0.30000 0.150000 0.361939E+009 0.32000 0.160000 0.380476E+009 0.34000 0.170000 0.398826E+009 0.36000 0.180000 0.416992E+009 0.38000 0.190000 0.434976E+009 0.40000 0.200000 0.452780E+009 0.42000 0.210000 0.470406E+009 0.44000 0.220000 0.487857E+009 0.46000 0.230000 0.505134E+009 0.48000 0.240000 0.522239E+009 0.50000 0.250000 0.539175E+009 0.52000 0.260000 0.555943E+009 0.54000 0.270000 0.572545E+009 0.56000 0.280000 0.588984E+009 0.58000 0.290000 0.605260E+009 0.60000 0.300000 0.621377E+009 0.62000 0.310000 0.637336E+009 0.64000 0.320000 0.653138E+009 0.66000 0.330000 0.668786E+009 0.68000 0.340000 0.684282E+009 0.70000 0.350000 0.699626E+009 0.72000 0.360000 0.714821E+009 0.74000 0.370000 0.729869E+009 0.76000 0.380000 0.744771E+009 0.78000 0.390000 0.759529E+009 0.80000 0.400000 0.774145E+009 0.82000 0.410000 0.788620E+009 0.84000 0.420000 0.802955E+009 0.86000 0.430000 0.817153E+009 0.88000 0.440000 0.831215E+009 0.90000 0.450000 0.845143E+009 0.92000 0.460000 0.858938E+009 0.94000 0.470000 0.872601E+009 0.96000 0.480000 0.886134E+009 0.98000 0.490000 0.899539E+009 1.0000 0.500000 0.912817E+009 1.0200 0.490000 0.306817E+009 1.0400 0.480000 -0.299183E+009 1.0600 0.470000 -0.871656E+009 1.0800 0.460000 -0.924658E+009 1.1000 0.450000 -0.938667E+009 1.1200 0.440000 -0.951600E+009 1.1400 0.430000 -0.964387E+009 1.1600 0.420000 -0.977054E+009 1.1800 0.410000 -0.989602E+009 1.2000 0.400000 -0.100203E+010 1.2200 0.390000 -0.101435E+010 1.2400 0.380000 -0.102655E+010 1.2600 0.370000 -0.103863E+010 1.2800 0.360000 -0.105061E+010 1.3000 0.350000 -0.106247E+010 1.3200 0.340000 -0.107422E+010 1.3400 0.330000 -0.108587E+010 1.3600 0.320000 -0.109740E+010 1.3800 0.310000 -0.110883E+010 1.4000 0.300000 -0.112016E+010 1.4200 0.290000 -0.113138E+010 1.4400 0.280000 -0.114250E+010 1.4600 0.270000 -0.115352E+010 1.4800 0.260000 -0.116444E+010 1.5000 0.250000 -0.117525E+010 1.5200 0.240000 -0.118597E+010 1.5400 0.230000 -0.119660E+010 1.5600 0.220000 -0.120712E+010 1.5800 0.210000 -0.121755E+010 1.6000 0.200000 -0.122789E+010 1.6200 0.190000 -0.123813E+010 1.6400 0.180000 -0.124828E+010 1.6600 0.170000 -0.125834E+010 1.6800 0.160000 -0.126831E+010 1.7000 0.150000 -0.127820E+010 1.7200 0.140000 -0.128799E+010 1.7400 0.130000 -0.129769E+010 1.7600 0.120000 -0.130731E+010 1.7800 0.110000 -0.131685E+010 1.8000 0.100000 -0.132630E+010 1.8200 0.900000E-001 -0.133566E+010 1.8400 0.800000E-001 -0.134495E+010 1.8600 0.700000E-001 -0.135415E+010 1.8800 0.600000E-001 -0.136327E+010 1.9000 0.500000E-001 -0.137231E+010 1.9200 0.400000E-001 -0.138127E+010 1.9400 0.300000E-001 -0.139015E+010 1.9600 0.200000E-001 -0.139896E+010 1.9800 0.100000E-001 -0.140769E+010 2.0000 0.00000 -0.141634E+010 *end *create,unia-20.exp /ninp,2 /nout,1 /1,time /2,epto /3,s /temp,273 0.20000 0.100000E-001 0.783858E+008 0.40000 0.200000E-001 0.989733E+008 0.60000 0.300000E-001 0.119184E+009 0.80000 0.400000E-001 0.139150E+009 1.0000 0.500000E-001 0.158874E+009 1.2000 0.600000E-001 0.178361E+009 1.4000 0.700000E-001 0.197614E+009 1.6000 0.800000E-001 0.216637E+009 1.8000 0.900000E-001 0.235431E+009 2.0000 0.100000 0.254001E+009 2.2000 0.110000 0.272350E+009 2.4000 0.120000 0.290481E+009 2.6000 0.130000 0.308397E+009 2.8000 0.140000 0.326100E+009 3.0000 0.150000 0.343594E+009 3.2000 0.160000 0.360882E+009 3.4000 0.170000 0.377967E+009 3.6000 0.180000 0.394851E+009 3.8000 0.190000 0.411538E+009 4.0000 0.200000 0.428029E+009 4.2000 0.210000 0.444328E+009 4.4000 0.220000 0.460437E+009 4.6000 0.230000 0.476359E+009 4.8000 0.240000 0.492097E+009 5.0000 0.250000 0.507653E+009 5.2000 0.260000 0.523029E+009 5.4000 0.270000 0.538228E+009 5.6000 0.280000 0.553252E+009 5.8000 0.290000 0.568105E+009 6.0000 0.300000 0.582787E+009 6.2000 0.310000 0.597302E+009 6.4000 0.320000 0.611651E+009 6.6000 0.330000 0.625837E+009 6.8000 0.340000 0.639862E+009 7.0000 0.350000 0.653729E+009 7.2000 0.360000 0.667439E+009 7.4000 0.370000 0.680994E+009 7.6000 0.380000 0.694397E+009 7.8000 0.390000 0.707650E+009 8.0000 0.400000 0.720754E+009 8.2000 0.410000 0.733712E+009 8.4000 0.420000 0.746525E+009 8.6000 0.430000 0.759196E+009 8.8000 0.440000 0.771726E+009 9.0000 0.450000 0.784117E+009 9.2000 0.460000 0.796372E+009 9.4000 0.470000 0.808491E+009 9.6000 0.480000 0.820477E+009 9.8000 0.490000 0.832331E+009 10.000 0.500000 0.844055E+009 10.200 0.490000 0.238055E+009 10.400 0.480000 -0.367945E+009 10.600 0.470000 -0.827145E+009 10.800 0.460000 -0.857433E+009 11.000 0.450000 -0.869313E+009 11.200 0.440000 -0.880644E+009 11.400 0.430000 -0.891843E+009 11.600 0.420000 -0.902919E+009 11.800 0.410000 -0.913876E+009 12.000 0.400000 -0.924714E+009 12.200 0.390000 -0.935436E+009 12.400 0.380000 -0.946043E+009 12.600 0.370000 -0.956536E+009 12.800 0.360000 -0.966916E+009 13.000 0.350000 -0.977186E+009 13.200 0.340000 -0.987347E+009 13.400 0.330000 -0.997399E+009 13.600 0.320000 -0.100734E+010 13.800 0.310000 -0.101719E+010 14.000 0.300000 -0.102692E+010 14.200 0.290000 -0.103656E+010 14.400 0.280000 -0.104609E+010 14.600 0.270000 -0.105552E+010 14.800 0.260000 -0.106486E+010 15.000 0.250000 -0.107409E+010 15.200 0.240000 -0.108323E+010 15.400 0.230000 -0.109228E+010 15.600 0.220000 -0.110123E+010 15.800 0.210000 -0.111009E+010 16.000 0.200000 -0.111885E+010 16.200 0.190000 -0.112753E+010 16.400 0.180000 -0.113612E+010 16.600 0.170000 -0.114461E+010 16.800 0.160000 -0.115303E+010 17.000 0.150000 -0.116135E+010 17.200 0.140000 -0.116959E+010 17.400 0.130000 -0.117775E+010 17.600 0.120000 -0.118582E+010 17.800 0.110000 -0.119381E+010 18.000 0.100000 -0.120173E+010 18.200 0.900000E-001 -0.120956E+010 18.400 0.800000E-001 -0.121731E+010 18.600 0.700000E-001 -0.122498E+010 18.800 0.600000E-001 -0.123258E+010 19.000 0.500000E-001 -0.124010E+010 19.200 0.400000E-001 -0.124755E+010 19.400 0.300000E-001 -0.125492E+010 19.600 0.200000E-001 -0.126222E+010 19.800 0.100000E-001 -0.126944E+010 20.000 0.00000 -0.127660E+010 *end *create,unia-200.exp /ninp,2 /nout,1 /1,time /2,epto /3,s /temp,273 2.0000 0.100000E-001 0.753507E+008 4.0000 0.200000E-001 0.949764E+008 6.0000 0.300000E-001 0.114201E+009 8.0000 0.400000E-001 0.133151E+009 10.000 0.500000E-001 0.151834E+009 12.000 0.600000E-001 0.170253E+009 14.000 0.700000E-001 0.188412E+009 16.000 0.800000E-001 0.206316E+009 18.000 0.900000E-001 0.223969E+009 20.000 0.100000 0.241375E+009 22.000 0.110000 0.258539E+009 24.000 0.120000 0.275464E+009 26.000 0.130000 0.292153E+009 28.000 0.140000 0.308612E+009 30.000 0.150000 0.324844E+009 32.000 0.160000 0.340852E+009 34.000 0.170000 0.356640E+009 36.000 0.180000 0.372212E+009 38.000 0.190000 0.387571E+009 40.000 0.200000 0.402721E+009 42.000 0.210000 0.417665E+009 44.000 0.220000 0.432406E+009 46.000 0.230000 0.446948E+009 48.000 0.240000 0.461293E+009 50.000 0.250000 0.475445E+009 52.000 0.260000 0.489408E+009 54.000 0.270000 0.503183E+009 56.000 0.280000 0.516774E+009 58.000 0.290000 0.530185E+009 60.000 0.300000 0.543417E+009 62.000 0.310000 0.556473E+009 64.000 0.320000 0.569358E+009 66.000 0.330000 0.582072E+009 68.000 0.340000 0.594619E+009 70.000 0.350000 0.607001E+009 72.000 0.360000 0.619221E+009 74.000 0.370000 0.631282E+009 76.000 0.380000 0.643186E+009 78.000 0.390000 0.654935E+009 80.000 0.400000 0.666531E+009 82.000 0.410000 0.677979E+009 84.000 0.420000 0.689278E+009 86.000 0.430000 0.700432E+009 88.000 0.440000 0.711443E+009 90.000 0.450000 0.722314E+009 92.000 0.460000 0.733046E+009 94.000 0.470000 0.743641E+009 96.000 0.480000 0.754101E+009 98.000 0.490000 0.764429E+009 100.00 0.500000 0.774627E+009 102.00 0.490000 0.168627E+009 104.00 0.480000 -0.437373E+009 106.00 0.470000 -0.768667E+009 108.00 0.460000 -0.788650E+009 110.00 0.450000 -0.798760E+009 112.00 0.440000 -0.808532E+009 114.00 0.430000 -0.818176E+009 116.00 0.420000 -0.827701E+009 118.00 0.410000 -0.837107E+009 120.00 0.400000 -0.846396E+009 122.00 0.390000 -0.855571E+009 124.00 0.380000 -0.864632E+009 126.00 0.370000 -0.873582E+009 128.00 0.360000 -0.882423E+009 130.00 0.350000 -0.891155E+009 132.00 0.340000 -0.899780E+009 134.00 0.330000 -0.908300E+009 136.00 0.320000 -0.916717E+009 138.00 0.310000 -0.925032E+009 140.00 0.300000 -0.933246E+009 142.00 0.290000 -0.941361E+009 144.00 0.280000 -0.949379E+009 146.00 0.270000 -0.957301E+009 148.00 0.260000 -0.965127E+009 150.00 0.250000 -0.972860E+009 152.00 0.240000 -0.980502E+009 154.00 0.230000 -0.988052E+009 156.00 0.220000 -0.995513E+009 158.00 0.210000 -0.100289E+010 160.00 0.200000 -0.101017E+010 162.00 0.190000 -0.101737E+010 164.00 0.180000 -0.102449E+010 166.00 0.170000 -0.103152E+010 168.00 0.160000 -0.103847E+010 170.00 0.150000 -0.104534E+010 172.00 0.140000 -0.105213E+010 174.00 0.130000 -0.105884E+010 176.00 0.120000 -0.106547E+010 178.00 0.110000 -0.107203E+010 180.00 0.100000 -0.107851E+010 182.00 0.900000E-001 -0.108492E+010 184.00 0.800000E-001 -0.109125E+010 186.00 0.700000E-001 -0.109751E+010 188.00 0.600000E-001 -0.110370E+010 190.00 0.500000E-001 -0.110982E+010 192.00 0.400000E-001 -0.111587E+010 194.00 0.300000E-001 -0.112185E+010 196.00 0.200000E-001 -0.112776E+010 198.00 0.100000E-001 -0.113361E+010 200.00 0.00000 -0.113939E+010 *end *create,unia-2000.exp /ninp,2 /nout,1 /1,time /2,epto /3,s /temp,273 20.000 0.100000E-001 0.722935E+008 40.000 0.200000E-001 0.909380E+008 60.000 0.300000E-001 0.109155E+009 80.000 0.400000E-001 0.127067E+009 100.00 0.500000E-001 0.144683E+009 120.00 0.600000E-001 0.162006E+009 140.00 0.700000E-001 0.179045E+009 160.00 0.800000E-001 0.195802E+009 180.00 0.900000E-001 0.212285E+009 200.00 0.100000 0.228499E+009 220.00 0.110000 0.244448E+009 240.00 0.120000 0.260138E+009 260.00 0.130000 0.275574E+009 280.00 0.140000 0.290760E+009 300.00 0.150000 0.305702E+009 320.00 0.160000 0.320404E+009 340.00 0.170000 0.334871E+009 360.00 0.180000 0.349106E+009 380.00 0.190000 0.363115E+009 400.00 0.200000 0.376902E+009 420.00 0.210000 0.390471E+009 440.00 0.220000 0.403825E+009 460.00 0.230000 0.416970E+009 480.00 0.240000 0.429909E+009 500.00 0.250000 0.442645E+009 520.00 0.260000 0.455183E+009 540.00 0.270000 0.467527E+009 560.00 0.280000 0.479679E+009 580.00 0.290000 0.491643E+009 600.00 0.300000 0.503423E+009 620.00 0.310000 0.515023E+009 640.00 0.320000 0.526445E+009 660.00 0.330000 0.537693E+009 680.00 0.340000 0.548769E+009 700.00 0.350000 0.559678E+009 720.00 0.360000 0.570422E+009 740.00 0.370000 0.581004E+009 760.00 0.380000 0.591426E+009 780.00 0.390000 0.601693E+009 800.00 0.400000 0.611806E+009 820.00 0.410000 0.621769E+009 840.00 0.420000 0.631584E+009 860.00 0.430000 0.641253E+009 880.00 0.440000 0.650780E+009 900.00 0.450000 0.660166E+009 920.00 0.460000 0.669415E+009 940.00 0.470000 0.678528E+009 960.00 0.480000 0.687509E+009 980.00 0.490000 0.696359E+009 1000.0 0.500000 0.705081E+009 1020.0 0.490000 0.990806E+008 1040.0 0.480000 -0.506919E+009 1060.0 0.470000 -0.705886E+009 1080.0 0.460000 -0.719109E+009 1100.0 0.450000 -0.727599E+009 1120.0 0.440000 -0.735873E+009 1140.0 0.430000 -0.744027E+009 1160.0 0.420000 -0.752064E+009 1180.0 0.410000 -0.759987E+009 1200.0 0.400000 -0.767797E+009 1220.0 0.390000 -0.775498E+009 1240.0 0.380000 -0.783089E+009 1260.0 0.370000 -0.790574E+009 1280.0 0.360000 -0.797954E+009 1300.0 0.350000 -0.805231E+009 1320.0 0.340000 -0.812407E+009 1340.0 0.330000 -0.819483E+009 1360.0 0.320000 -0.826461E+009 1380.0 0.310000 -0.833343E+009 1400.0 0.300000 -0.840130E+009 1420.0 0.290000 -0.846824E+009 1440.0 0.280000 -0.853426E+009 1460.0 0.270000 -0.859938E+009 1480.0 0.260000 -0.866361E+009 1500.0 0.250000 -0.872697E+009 1520.0 0.240000 -0.878948E+009 1540.0 0.230000 -0.885114E+009 1560.0 0.220000 -0.891197E+009 1580.0 0.210000 -0.897199E+009 1600.0 0.200000 -0.903120E+009 1620.0 0.190000 -0.908962E+009 1640.0 0.180000 -0.914727E+009 1660.0 0.170000 -0.920415E+009 1680.0 0.160000 -0.926027E+009 1700.0 0.150000 -0.931566E+009 1720.0 0.140000 -0.937032E+009 1740.0 0.130000 -0.942426E+009 1760.0 0.120000 -0.947750E+009 1780.0 0.110000 -0.953004E+009 1800.0 0.100000 -0.958190E+009 1820.0 0.900000E-001 -0.963309E+009 1840.0 0.800000E-001 -0.968361E+009 1860.0 0.700000E-001 -0.973348E+009 1880.0 0.600000E-001 -0.978271E+009 1900.0 0.500000E-001 -0.983131E+009 1920.0 0.400000E-001 -0.987929E+009 1940.0 0.300000E-001 -0.992666E+009 1960.0 0.200000E-001 -0.997342E+009 1980.0 0.100000E-001 -0.100196E+010 2000.0 0.00000 -0.100652E+010 *end /prep7 tb,elas,1 tbdat,,60.6e9,0.3 tb,rate,1,,,anand tbdat,1,1e9 tbdat,2,1 tbdat,3,1 tbdat,4,1 tbdat,5,1 tbdat,6,1e9 tbdat,7,1e9 tbdat,8,1 tbdat,9,1.1 tbft,fadd,1,aml,genr,anandex tbft,eadd,1,unia,unia-2.exp tbft,eadd,1,unia,unia-20.exp tbft,eadd,1,unia,unia-200.exp tbft,eadd,1,unia,unia-2000.exp tbft,set,1,aml,genr,anandex,tref,273 tbft,solve,1,aml,genr,anandex,1,50 tbft,fset,1,aml,genr,anandex /com, /com, Material Parameters /com, tblis,all,all fini /exit
Example: Parameter-Fitting of a Plasticity Model Implemented via UserMat
subroutine usermat( & matId, elemId,kDomIntPt, kLayer, kSectPt, & ldstep,isubst,keycut, & nDirect,nShear,ncomp,nStatev,nProp, & Time,dTime,Temp,dTemp, & stress,ustatev,dsdePl,sedEl,sedPl,epseq, & Strain,dStrain, epsPl, prop, coords, & var0, defGrad_t, defGrad, & tsstif, epsZZ, cutFactor, & var1, var2, var3, var4, var5, & var6, var7) c************************************************************************* c *** primary function *** c c user defined material constitutive model c c Attention: c User must define material constitutive law properly c according to the stress state such as 3D, plane strain c and axisymmetry, plane stress and beam. c c a 3D material constitutive model can use for c plane strain and axisymmetry cases. c c When using shell elements, a plane stress algorithm c must be use. c c gal July, 1999 c c The following demonstrates a USERMAT subroutine for c a plasticity model of 3D solid elements or plane elements c in plane strain or axisymmetric stress state. The plasticity c model is the same as TB, BISO. c See "ANSYS user material subroutine USERMAT" for detailed c description of how to write a USERMAT routine. c c************************************************************************* c c input arguments c =============== c matId (int,sc,i) material # c elemId (int,sc,i) element # c kDomIntPt (int,sc,i) "k"th domain integration point c kLayer (int,sc,i) "k"th layer c kSectPt (int,sc,i) "k"th Section point c ldstep (int,sc,i) load step number c isubst (int,sc,i) substep number c nDirect (int,sc,in) # of direct components c nShear (int,sc,in) # of shear components c ncomp (int,sc,in) nDirect + nShear c nstatev (int,sc,l) Number of state variables c nProp (int,sc,l) Number of material ocnstants c c Temp (dp,sc,in) temperature at beginning of c time increment c dTemp (dp,sc,in) temperature increment c Time (dp,sc,in) time at beginning of increment (t) c dTime (dp,sc,in) current time increment (dt) c c Strain (dp,ar(ncomp),i) Strain at beginning of time increment c dStrain (dp,ar(ncomp),i) Strain increment c prop (dp,ar(nprop),i) Material constants defined by TB,USER c coords (dp,ar(3),i) current coordinates c defGrad_t(dp,ar(3,3),i) Deformation gradient at time t c defGrad (dp,ar(3,3),i) Deformation gradient at time t+dt c c input output arguments c ====================== c stress (dp,ar(nTesn),io) stress c ustatev (dp,ar(nstatev),io) user state variable c ustatev(1) - equivalent plastic strain c ustatev(2) - statev(1+ncomp) - plastic strain vector c ustatev(nStatev) - von-Mises stress c sedEl (dp,sc,io) elastic work c sedPl (dp,sc,io) plastic work c epseq (dp,sc,io) equivalent plastic strain c tsstif (dp,ar(2),io) transverse shear stiffness c tsstif(1) - Gxz c tsstif(2) - Gyz c tsstif(1) is also used to calculate hourglass c stiffness, this value must be defined when low c order element, such as 181, 182, 185 with uniform c integration is used. c var? (dp,sc,io) not used, they are reserved arguments c for further development c c output arguments c ================ c keycut (int,sc,io) loading bisect/cut control c 0 - no bisect/cut c 1 - bisect/cut c (factor will be determined by ANSYS solution control) c dsdePl (dp,ar(ncomp,ncomp),io) material jacobian matrix c epsZZ (dp,sc,o) strain epsZZ for plane stress, c define it when accounting for thickness change c in shell and plane stress states c cutFactor(dp,sc,o) time step size cut-back factor c define it if a smaller step size is wished c recommended value is 0~1 c c************************************************************************* c c ncomp 6 for 3D (nshear=3) c ncomp 4 for plane strain or axisymmetric (nShear = 1) c ncomp 3 for plane stress (nShear = 1) c ncomp 3 for 3d beam (nShear = 2) c ncomp 1 for 1D (nShear = 0) c c stresss and strains, plastic strain vectors c 11, 22, 33, 12, 23, 13 for 3D c 11, 22, 33, 12 for plane strain or axisymmetry c 11, 22, 12 for plane stress c 11, 13, 12 for 3d beam c 11 for 1D c c material jacobian matrix c 3D c dsdePl | 1111 1122 1133 1112 1123 1113 | c dsdePl | 2211 2222 2233 2212 2223 2213 | c dsdePl | 3311 3322 3333 3312 3323 3313 | c dsdePl | 1211 1222 1233 1212 1223 1213 | c dsdePl | 2311 2322 2333 2312 2323 2313 | c dsdePl | 1311 1322 1333 1312 1323 1313 | c plane strain or axisymmetric (11, 22, 33, 12) c dsdePl | 1111 1122 1133 1112 | c dsdePl | 2211 2222 2233 2212 | c dsdePl | 3311 3322 3333 3312 | c dsdePl | 1211 1222 1233 1212 | c plane stress (11, 22, 12) c dsdePl | 1111 1122 1112 | c dsdePl | 2211 2222 2212 | c dsdePl | 1211 1222 1212 | c 3d beam (11, 13, 12) c dsdePl | 1111 1113 1112 | c dsdePl | 1311 1313 1312 | c dsdePl | 1211 1213 1212 | c 1d c dsdePl | 1111 | c c************************************************************************* #include "impcom.inc" c INTEGER & matId, elemId, & kDomIntPt, kLayer, kSectPt, & ldstep,isubst,keycut, & nDirect,nShear,ncomp,nStatev,nProp DOUBLE PRECISION & Time, dTime, Temp, dTemp, & sedEl, sedPl, epseq, epsZZ, cutFactor DOUBLE PRECISION & stress (ncomp ), ustatev (nStatev), & dsdePl (ncomp,ncomp), & Strain (ncomp ), dStrain (ncomp ), & epsPl (ncomp ), prop (nProp ), & coords (3), & defGrad (3,3), defGrad_t(3,3), & tsstif (2) c c***************** User defined part ************************************* c c --- parameters c INTEGER mcomp DOUBLE PRECISION HALF, THIRD, ONE, TWO, SMALL, ONEHALF, & ZERO, TWOTHIRD, ONEDM02, ONEDM05, sqTiny PARAMETER (ZERO = 0.d0, & HALF = 0.5d0, & THIRD = 1.d0/3.d0, & ONE = 1.d0, & TWO = 2.d0, & SMALL = 1.d-08, & sqTiny = 1.d-20, & ONEDM02 = 1.d-02, & ONEDM05 = 1.d-05, & ONEHALF = 1.5d0, & TWOTHIRD = 2.0d0/3.0d0, & mcomp = 6 & ) c c --- local variables c c sigElp (dp,ar(6 ),l) trial stress c dsdeEl (dp,ar(6,6),l) elastic moduli c sigDev (dp,ar(6 ),l) deviatoric stress tensor c dfds (dp,ar(6 ),l) derivative of the yield function c JM (dp,ar(6,6),l) 2D matrix for a 4 order tensor c pEl (dp,sc ,l) hydrostatic pressure stress c qEl (dp,sc ,l) von-mises stress c pleq_t (dp,sc ,l) equivalent plastic strain at beginnig of time increment c pleq (dp,sc ,l) equivalent plastic strain at end of time increment c dpleq (dp,sc ,l) incremental equivalent plastic strain c sigy_t (dp,sc ,l) yield stress at beginnig of time increments c sigy (dp,sc ,l) yield stress at end of time increment c young (dp,sc ,l) Young's modulus c posn (dp,sc ,l) Poiss's ratio c sigy0 (dp,sc ,l) initial yield stress c dsigdep (dp,sc ,l) plastic slop c twoG (dp,sc ,l) two time of shear moduli c threeG (dp,sc ,l) three time of shear moduli c c --- temperary variables for solution purpose c i, j c threeOv2qEl, oneOv3G, qElOv3G, con1, con2, fratio c EXTERNAL vzero, vmove, get_ElmData, get_ElmInfo DOUBLE PRECISION sigElp(mcomp), dsdeEl(mcomp,mcomp), G(mcomp), & sigDev(mcomp), JM (mcomp,mcomp), dfds(mcomp), & sigi (mcomp), strainEl(mcomp) DOUBLE PRECISION var0, var1, var2, var3, var4, var5, & var6, var7 DATA G/1.0D0,1.0D0,1.0D0,0.0D0,0.0D0,0.0D0/ c INTEGER i, j, ncompgt DOUBLE PRECISION pEl, qEl, pleq_t, sigy_t , sigy, & dpleq, pleq, & young, posn, sigy0, dsigdep, & elast1,elast2, & twoG, threeG, oneOv3G, qElOv3G, threeOv2qEl, & fratio, con1, con2, dperr(3) c************************************************************************* c keycut = 0 cutFactor = 0.d0 dsigdep = ZERO pleq_t = ustatev(1) pleq = pleq_t c *** get Young's modulus and Poisson's ratio, initial yield stress and others young = prop(1) posn = prop(2) sigy0 = prop(3) c *** plastic strain tensor call vmove(ustatev(2), epsPl(1), ncomp) c *** calculate plastic slope dsigdep = young*prop(4)/(young-prop(4)) twoG = young / (ONE+posn) threeG = ONEHALF * twoG elast1=young*posn/((1.0D0+posn)*(1.0D0-TWO*posn)) elast2=HALF*twoG c *** define tsstif(1) since it is used for calculation of hourglass stiffness tsstif(1) = elast2 c c *** calculate elastic stiffness matrix (3d) c dsdeEl(1,1)=(elast1+TWO*elast2)*G(1)*G(1) dsdeEl(1,2)=elast1*G(1)*G(2)+elast2*TWO*G(4)*G(4) dsdeEl(1,3)=elast1*G(1)*G(3)+elast2*TWO*G(5)*G(5) dsdeEl(1,4)=elast1*G(1)*G(4)+elast2*TWO*G(1)*G(4) dsdeEl(1,5)=elast1*G(1)*G(5)+elast2*TWO*G(1)*G(5) dsdeEl(1,6)=elast1*G(1)*G(6)+elast2*TWO*G(4)*G(5) dsdeEl(2,2)=(elast1+TWO*elast2)*G(2)*G(2) dsdeEl(2,3)=elast1*G(2)*G(3)+elast2*TWO*G(6)*G(6) dsdeEl(2,4)=elast1*G(2)*G(4)+elast2*TWO*G(1)*G(4) dsdeEl(2,5)=elast1*G(2)*G(5)+elast2*TWO*G(1)*G(5) dsdeEl(2,6)=elast1*G(2)*G(6)+elast2*TWO*G(2)*G(6) dsdeEl(3,3)=(elast1+TWO*elast2)*G(3)*G(3) dsdeEl(3,4)=elast1*G(3)*G(4)+elast2*TWO*G(5)*G(6) dsdeEl(3,5)=elast1*G(3)*G(5)+elast2*TWO*G(5)*G(3) dsdeEl(3,6)=elast1*G(3)*G(6)+elast2*TWO*G(6)*G(3) dsdeEl(4,4)=elast1*G(4)*G(4)+elast2*(G(1)*G(2)+G(4)*G(4)) dsdeEl(4,5)=elast1*G(4)*G(5)+elast2*(G(1)*G(6)+G(5)*G(4)) dsdeEl(4,6)=elast1*G(4)*G(6)+elast2*(G(4)*G(6)+G(5)*G(2)) dsdeEl(5,5)=elast1*G(5)*G(5)+elast2*(G(1)*G(3)+G(5)*G(5)) dsdeEl(5,6)=elast1*G(5)*G(6)+elast2*(G(4)*G(3)+G(5)*G(6)) dsdeEl(6,6)=elast1*G(6)*G(6)+elast2*(G(2)*G(3)+G(6)*G(6)) do i=1,ncomp-1 do j=i+1,ncomp dsdeEl(j,i)=dsdeEl(i,j) end do end do c c c *** get initial stress call vzero(sigi(1),mcomp) c c *** calculate the trial stress and c copy elastic moduli dsdeEl to material Jacobian matrix do i=1,ncomp strainEl(i) = Strain(i) + dStrain(i) - epsPl(i) end do call vzero(sigElp, 6) do i=1,ncomp do j=1,ncomp dsdePl(j,i) = dsdeEl(j,i) sigElp(i) = sigElp(i)+dsdeEl(j,i)*strainEl(j) end do sigElp(i) = sigElp(i) + sigi(i) end do c *** hydrostatic pressure stress pEl = -THIRD * (sigElp(1) + sigElp(2) + sigElp(3)) c *** compute the deviatoric stress tensor sigDev(1) = sigElp(1) + pEl sigDev(2) = sigElp(2) + pEl sigDev(3) = sigElp(3) + pEl sigDev(4) = sigElp(4) sigDev(5) = sigElp(5) sigDev(6) = sigElp(6) c *** compute von-mises stress qEl = & sigDev(1) * sigDev(1)+sigDev(2) * sigDev(2)+ & sigDev(3) * sigDev(3)+ & TWO*(sigDev(4) * sigDev(4)+ sigDev(5) * sigDev(5)+ & sigDev(6) * sigDev(6)) qEl = sqrt( ONEHALF * qEl) c *** compute current yield stress sigy = sigy0 + dsigdep * pleq c fratio = qEl / sigy - ONE c *** check for yielding IF (sigy .LE. ZERO.or.fratio .LE. -SMALL) GO TO 500 c sigy_t = sigy threeOv2qEl = ONEHALF / qEl c *** compute derivative of the yield function DO i=1, ncomp dfds(i) = threeOv2qEl * sigDev(i) END DO oneOv3G = ONE / (threeG + dsigdep) qElOv3G = qEl * oneOv3G c *** initial guess of incremental equivalent plastic strain dpleq = qElOv3G - sigy * oneOv3G pleq = pleq_t + dpleq sigy = sigy0 + dsigdep * pleq c c *** update stresses DO i = 1 , ncomp stress(i) = sigElp(i) - TWOTHIRD * (qEl-sigy) * dfds(i) END DO c c *** update plastic strains DO i = 1 , nDirect epsPl(i) = epsPl(i) + dfds(i) * dpleq END DO DO i = nDirect + 1 , ncomp epsPl(i) = epsPl(i) + TWO * dfds(i) * dpleq END DO epseq = pleq c *** Update state variables ustatev(1) = pleq do i=1,ncomp ustatev(i+1) = epsPl(i) end do c *** Update plastic work sedPl = sedPl + HALF * (sigy_t+sigy)*dpleq c c *** Material Jcobian matrix c IF (qEl.LT.sqTiny) THEN con1 = ZERO ELSE con1 = threeG * dpleq / qEl END IF con2 = threeG/(threeG+dsigdep) - con1 con2 = TWOTHIRD * con2 DO i=1,ncomp DO j=1,ncomp JM(j,i) = ZERO END DO END DO DO i=1,nDirect DO j=1,nDirect JM(i,j) = -THIRD END DO JM(i,i) = JM(i,i) + ONE END DO DO i=nDirect + 1,ncomp JM(i,i) = HALF END DO DO i=1,ncomp DO j=1,ncomp dsdePl(i,j) = dsdeEl(i,j) - twoG & * ( con2 * dfds(i) * dfds(j) + con1 * JM(i,j) ) END DO END DO c goto 600 500 continue c *** Update stress in case of elastic/unloading do i=1,ncomp stress(i) = sigElp(i) end do 600 continue sedEl = ZERO DO i = 1 , ncomp sedEl = sedEl + stress(i)*(Strain(i)+dStrain(i)-epsPl(i)) END DO sedEl = sedEl * HALF ustatev(nStatev) = sigy c ! cutFactor = 0.5d0 return end c ================================================================ c Start of Mechanical APDL command script c ================================================================ /upf,usermat.F /prep7 tb,user,1,2,5 tbdata,1,20e5, 0.3, 1e4,1,1 ! E, posn, sigy, H, printout flag tb,state,1,,8 tbdata,8,0 tblis,all,all, ! Define Material tbft,fadd,1,aml,genr,umatexample ! Define Uniaxial Data tbft,eadd,1,unia,unia.exp tbft,list,1 tbft,fix,1,aml,genr,umatexample,1,1 tbft,fix,1,aml,genr,umatexample,2,1 tbft,fix,1,aml,genr,umatexample,3,1 tbft,fix,1,aml,genr,umatexample,5,1 ! Activate parameter-scaling for optimizing parameters that can ! vary a lot. This improves convergence. tbft,psca,1,aml,genr,umatexample,4,expo ! Set the hardening coeff to 1 and see it get optimized tbft,set,1,aml,genr,umatexample,4,1 tbft,solve,1,aml,genr,umatexample,1,50 tbft,fset,1,aml,genr,umatexample tblis,all,all
The following example analyses are available for geomechanical curve-fitting:
Example: Parameter-Fitting of Yield Surfaces
This example uses the extended Drucker-Prager material model (TB,EDP).
*create,ysurf.exp /ninp,1 /nout,1 /1,pres /2,seqv -0.30000E+01 0 -0.25000E+01 0 -0.20000E+01 0 -0.15000E+01 0.18097E+01 -0.10000E+01 0.41343E+01 -0.50000E+00 0.61008E+01 0.00000E+00 0.78900E+01 0.50000E+00 0.95639E+01 0.10000E+01 0.11154E+02 0.15000E+01 0.12678E+02 0.20000E+01 0.14149E+02 0.25000E+01 0.15575E+02 0.30000E+01 0.16964E+02 0.35000E+01 0.18319E+02 0.40000E+01 0.19644E+02 0.45000E+01 0.20943E+02 0.50000E+01 0.22219E+02 0.55000E+01 0.23472E+02 0.60000E+01 0.24706E+02 0.65000E+01 0.25922E+02 0.70000E+01 0.27121E+02 0.75000E+01 0.28304E+02 0.80000E+01 0.29473E+02 0.85000E+01 0.30627E+02 0.90000E+01 0.31769E+02 0.95000E+01 0.32899E+02 0.10000E+02 0.34017E+02 0.10500E+02 0.35124E+02 0.11000E+02 0.36221E+02 0.11500E+02 0.37308E+02 0.12000E+02 0.38386E+02 0.12500E+02 0.39454E+02 0.13000E+02 0.40514E+02 0.13500E+02 0.41566E+02 0.14000E+02 0.42610E+02 0.14500E+02 0.43646E+02 0.15000E+02 0.44674E+02 0.15500E+02 0.45696E+02 0.16000E+02 0.46712E+02 0.16500E+02 0.47720E+02 0.17000E+02 0.48721E+02 0.17500E+02 0.49718E+02 0.18000E+02 0.50708E+02 0.18500E+02 0.51691E+02 0.19000E+02 0.52671E+02 0.19500E+02 0.53643E+02 0.20000E+02 0.54611E+02 0.20500E+02 0.55574E+02 0.21000E+02 0.56532E+02 0.21500E+02 0.57485E+02 0.22000E+02 0.58433E+02 0.22500E+02 0.59377E+02 0.23000E+02 0.60316E+02 0.23500E+02 0.61250E+02 0.24000E+02 0.62181E+02 0.24500E+02 0.63107E+02 0.25000E+02 0.64030E+02 0.25500E+02 0.64948E+02 0.26000E+02 0.65863E+02 0.26500E+02 0.66773E+02 0.27000E+02 0.67680E+02 0.27500E+02 0.68584E+02 0.28000E+02 0.69483E+02 0.28500E+02 0.70380E+02 0.29000E+02 0.71273E+02 0.29500E+02 0.72162E+02 0.30000E+02 0.73048E+02 0.30500E+02 0.73931E+02 0.31000E+02 0.74811E+02 0.31500E+02 0.75688E+02 0.32000E+02 0.76562E+02 0.32500E+02 0.77433E+02 0.33000E+02 0.78300E+02 0.33500E+02 0.79165E+02 0.34000E+02 0.80027E+02 0.34500E+02 0.80887E+02 0.35000E+02 0.81744E+02 0.35500E+02 0.82598E+02 0.36000E+02 0.83449E+02 0.36500E+02 0.84297E+02 0.37000E+02 0.85143E+02 0.37500E+02 0.85987E+02 0.38000E+02 0.86829E+02 0.38500E+02 0.87667E+02 0.39000E+02 0.88503E+02 0.39500E+02 0.89337E+02 0.40000E+02 0.90169E+02 *end /prep7 /prep7 ! Define linear elasticity constants tb,elas,1 tbdata,,2.1e4,0.45 b=1 ys=7.89 tb,edp,1,,,PYFUN tbdata,1,ainv,b,ys ! Add Experimental Data tbft,eadd,1,ysur,ysurf.exp ! Import or Create the Model tbft,fadd,1,aml,genr,edpmodel ! Solve tbft,solve,1,aml,genr,edpmodel,1,30 ! Write to TB Table Storage tbft,fset,1,aml,genr,edpmodel /out /gopr tbft,list,1 /exit
Example: Parameter-Fitting of Flow Potentials
This example with the extended Drucker-Prager material model (TB,EDP) fits flow-potential parameters using triaxial test data and previously fitted yield-surface parameters.
*create,triaxial-0.6.exp /ninp,2 /nout,2 /1,epto /2,elat /3,s /4,slat -0.250000E-003 0.601429E-004 -5.61000 -0.600000 -0.500000E-003 0.135143E-003 -10.8600 -0.600000 -0.875000E-003 0.247643E-003 -18.7350 -0.600000 -0.143750E-002 0.607905E-003 -19.0033 -0.655546 -0.173281E-002 0.803442E-003 -18.8461 -0.607792 -0.202812E-002 0.996463E-003 -18.8108 -0.597087 -0.247109E-002 0.128480E-002 -18.8138 -0.598001 -0.313555E-002 0.171725E-002 -18.8200 -0.599858 -0.348438E-002 0.194433E-002 -18.8207 -0.600070 -0.383322E-002 0.217144E-002 -18.8205 -0.600025 -0.435648E-002 0.251209E-002 -18.8204 -0.599989 -0.500001E-002 0.293105E-002 -18.8203 -0.599957 *end *create,triaxial-0.8.exp /ninp,2 /nout,2 /1,epto /2,elat /3,s /4,slat -0.250000E-003 0.551905E-004 -5.73000 -0.800000 -0.500000E-003 0.130190E-003 -10.9800 -0.800000 -0.875000E-003 0.242690E-003 -18.8550 -0.800000 -0.143750E-002 0.592747E-003 -19.6248 -0.846103 -0.173281E-002 0.786120E-003 -19.5122 -0.811387 -0.202813E-002 0.978081E-003 -19.4700 -0.798410 -0.247109E-002 0.126473E-002 -19.4684 -0.797899 -0.313555E-002 0.169451E-002 -19.4738 -0.799565 -0.348438E-002 0.192017E-002 -19.4753 -0.800032 -0.383322E-002 0.214586E-002 -19.4753 -0.800041 -0.435648E-002 0.248441E-002 -19.4752 -0.800003 -0.500000E-002 0.290076E-002 -19.4752 -0.799994 *end *create,triaxial-1.0.exp /ninp,2 /nout,2 /1,epto /2,elat /3,s /4,slat -0.250000E-003 0.502381E-004 -5.85000 -1.00000 -0.500000E-003 0.125238E-003 -11.1000 -1.00000 -0.875000E-003 0.237738E-003 -18.9750 -1.00000 -0.143750E-002 0.577929E-003 -20.2424 -1.03809 -0.173281E-002 0.769365E-003 -20.1681 -1.01487 -0.202812E-002 0.960357E-003 -20.1189 -0.999513 -0.247109E-002 0.124543E-002 -20.1133 -0.997765 -0.313555E-002 0.167273E-002 -20.1183 -0.999325 -0.348438E-002 0.189707E-002 -20.1205 -1.00001 -0.383322E-002 0.212145E-002 -20.1207 -1.00005 -0.435648E-002 0.245803E-002 -20.1205 -1.00001 -0.500000E-002 0.287196E-002 -20.1205 -0.999993 *end *create,triaxial-1.2.exp /ninp,2 /nout,2 /1,epto /2,elat /3,s /4,slat -0.250000E-003 0.452857E-004 -5.97000 -1.20000 -0.500000E-003 0.120286E-003 -11.2200 -1.20000 -0.875000E-003 0.232786E-003 -19.0950 -1.20000 -0.143750E-002 0.563429E-003 -20.8558 -1.23131 -0.173281E-002 0.753125E-003 -20.8146 -1.21825 -0.202813E-002 0.943225E-003 -20.7583 -1.20043 -0.247109E-002 0.122681E-002 -20.7494 -1.19761 -0.313555E-002 0.165180E-002 -20.7542 -1.19913 -0.348438E-002 0.187491E-002 -20.7569 -1.19999 -0.383322E-002 0.209807E-002 -20.7572 -1.20006 -0.435648E-002 0.243282E-002 -20.7570 -1.20002 -0.500000E-002 0.284451E-002 -20.7570 -1.19999 *end *create,triaxial-1.4.exp /ninp,2 /nout,2 /1,epto /2,elat /3,s /4,slat -0.250000E-003 0.403333E-004 -6.09000 -1.40000 -0.500000E-003 0.115333E-003 -11.3400 -1.40000 -0.875000E-003 0.227833E-003 -19.2150 -1.40000 -0.143750E-002 0.549226E-003 -21.4651 -1.42560 -0.173281E-002 0.737352E-003 -21.4523 -1.42150 -0.202812E-002 0.926628E-003 -21.3889 -1.40119 -0.247109E-002 0.120883E-002 -21.3773 -1.39746 -0.313555E-002 0.163165E-002 -21.3820 -1.39898 -0.348438E-002 0.185361E-002 -21.3851 -1.39998 -0.383322E-002 0.207563E-002 -21.3854 -1.40007 -0.435648E-002 0.240867E-002 -21.3853 -1.40002 -0.500000E-002 0.281825E-002 -21.3852 -1.39999 *end /prep7 tb,elas,1 tbdata,,2.1e4,0.3 E=2.1e4 mu=0.3 a=0.12 ainv=1/a b=1.5 ys=7.89 tb,edp,1,,,PYFUN tbdata,1,ainv,b,ys ! yield surface parameters are a reasonable initial guess for ! flow potential parameters tb,edp,1,,,PFPOT tbdata,1,ainv,b tbft,fadd,1,aml,genr,testprob tbft,eadd,1,tria,triaxial-0.6.exp tbft,eadd,1,tria,triaxial-0.8.exp tbft,eadd,1,tria,triaxial-1.0.exp tbft,eadd,1,tria,triaxial-1.2.exp tbft,eadd,1,tria,triaxial-1.4.exp ! Fixing all non flow potential parameters tbft,fix,1,aml,genr,testprob,1,1 tbft,fix,1,aml,genr,testprob,2,1 tbft,list,1 tbft,solve,1,aml,genr,testprob,1,100 tbft,fset,1,aml,genr,testprob /out /gopr tblis,all,all fini /exit
Example: Parameter-Fitting of the EDP Cap Model
This example with the extended Drucker-Prager cap material model (TB,EDP,,,CYFUN) fits the EDP Cap model with sqj2 (square root of J2) vs. i1 experimental data.
/title Curve-Fitting EDP Cap Model's yield surface *create,ysurf.exp /ninp,1 /nout,1 /1,i1 /2,sqj2 /ztol,1e-5 -1.35E+01 3.49E-10 -1.20E+01 3.49E-10 -1.05E+01 3.49E-10 -9.00E+00 2.37E+00 -7.50E+00 4.35E+00 -6.00E+00 5.26E+00 -4.50E+00 6.09E+00 -3.00E+00 6.44E+00 -1.50E+00 6.89E+00 0.00E+00 6.95E+00 1.50E+00 7.06E+00 3.00E+00 7.09E+00 4.50E+00 7.06E+00 6.00E+00 7.04E+00 7.50E+00 7.18E+00 9.00E+00 7.17E+00 1.05E+01 7.45E+00 1.20E+01 7.41E+00 1.35E+01 7.41E+00 1.50E+01 7.65E+00 1.65E+01 7.61E+00 1.80E+01 7.52E+00 1.95E+01 7.86E+00 2.10E+01 7.79E+00 2.25E+01 7.79E+00 2.40E+01 7.90E+00 2.55E+01 7.88E+00 2.70E+01 8.20E+00 2.85E+01 8.03E+00 3.00E+01 8.13E+00 3.15E+01 8.22E+00 3.30E+01 8.25E+00 3.45E+01 8.28E+00 3.60E+01 8.53E+00 3.75E+01 8.55E+00 3.90E+01 8.65E+00 4.05E+01 8.50E+00 4.20E+01 8.84E+00 4.35E+01 8.62E+00 4.50E+01 8.98E+00 4.65E+01 8.97E+00 4.80E+01 9.13E+00 4.95E+01 8.89E+00 5.10E+01 9.16E+00 5.25E+01 9.23E+00 5.40E+01 9.13E+00 5.55E+01 9.39E+00 5.70E+01 9.54E+00 5.85E+01 9.32E+00 6.00E+01 9.50E+00 6.15E+01 9.52E+00 6.30E+01 9.80E+00 6.45E+01 9.77E+00 6.60E+01 9.61E+00 6.75E+01 9.67E+00 6.90E+01 9.86E+00 7.05E+01 9.68E+00 7.20E+01 9.65E+00 7.35E+01 9.14E+00 7.50E+01 8.46E+00 7.65E+01 7.30E+00 7.80E+01 5.76E+00 7.95E+01 3.06E+00 8.10E+01 3.49E-10 8.25E+01 3.46E-10 8.40E+01 3.52E-10 8.55E+01 3.49E-10 8.70E+01 3.50E-10 8.85E+01 3.49E-10 *end /prep7 /prep7 ! Define linear elasticity constants tb,elas,1 tbdat,,1.2e3,0.0 ! Cap yield function tb,edp ,1,1,,cyfun tbdata,1,1 ! Rc tbdata,2,1 ! Rt tbdata,3,-80 ! Xi tbdata,4,10 ! SIGMA tbdata,5,1 ! B tbdata,6,1 ! A tbdata,7,1 ! ALPHA tbdata,8,1 ! PSI ! Define hardening for cap-compaction portion tbdata,9,0.45 ! W1c tbdata,10,0 ! D1c tbdata,11,0.0 ! D2c tbft,fadd,1,aml,genr,edpmodel tbft,eadd,1,j2i1,ysurf.exp TBFPLOT,1,'amgenredpmodel',1,1,2,3 ! Fix Xi and Sigma from the experimental data tbft,fix,1,aml,genr,edpmodel,3,1 tbft,fix,1,aml,genr,edpmodel,4,1 tbft,fix,1,aml,genr,edpmodel,9,1 tbft,fix,1,aml,genr,edpmodel,10,1 tbft,fix,1,aml,genr,edpmodel,11,1 tbft,fix,1,aml,genr,edpmodel,12,1 tbft,fix,1,aml,genr,edpmodel,13,1 /out,scratch tbft,solv,1,aml,genr,edpmodel,1,20 tbft,list,1 /out /gopr tblis,all,all /exit
The following example analyses are available for creep curve-fitting:
Example: Parameter-Fitting of a Generalized Exponential Creep Model
/title, Test AML with Creep Fitting (Generalized Exponential) *CREATE,cfcr-gx1-exp1.exp /1,seqv /2,time /3,temp /4,dcre /ninp,3 /nout,1 48000 0.00000001 600 0.139561881 48000 100 600 0.136537485 48000 200 600 0.13357863 48000 350 600 0.129260137 48000 575 600 0.123042756 48000 912.5 600 0.11427289 48000 1418.8 600 0.102274931 48000 2178.1 600 0.086600907 48000 3178.1 600 0.069562197 48000 4178.1 600 0.055875849 48000 5178.1 600 0.044882287 48000 6178.1 600 0.036051707 48000 7178.1 600 0.028958541 48000 8178.1 600 0.023260954 48000 9178.1 600 0.018684366 48000 10000 600 0.015605413 49000 0.00000001 600 0.156321405 48999.9 100 600 0.152897388 49000 200 600 0.14955172 49000 350 600 0.144667553 49000 575 600 0.13763875 49000 912.5 600 0.127730642 49000 1418.8 600 0.114188365 49000 2178.1 600 0.096522022 49000 3178.1 600 0.077355505 49000 4178.1 600 0.061994912 49000 5178.1 600 0.049684493 49000 6178.1 600 0.039818572 49000 7178.1 600 0.031911741 49000 8178.1 600 0.025574981 49000 9178.1 600 0.02049652 49000 10000 600 0.017087032 50000 0.00000001 600 0.174692811 49999.9 100 600 0.170828035 50000 200 600 0.167052428 50000 350 600 0.161542245 50000 575 600 0.153615873 50000 912.5 600 0.142449544 50000 1418.8 600 0.127201919 50000 2178.1 600 0.107338898 50000 3178.1 600 0.085831348 50000 4178.1 600 0.068633277 50000 5178.1 600 0.054881192 50000 6178.1 600 0.04388462 50000 7178.1 600 0.035091436 50000 8178.1 600 0.028060147 50000 9178.1 600 0.022437721 50000 10000 600 0.018670805 51000 0.00000001 600 0.19479418 50999.9 100 600 0.190442359 51000 200 600 0.186191768 51000 350 600 0.179990197 51000 575 600 0.171072977 51000 912.5 600 0.15851861 51000 1418.8 600 0.141391602 51000 2178.1 600 0.119111411 51000 3178.1 600 0.095033312 51000 4178.1 600 0.075822546 51000 5178.1 600 0.060495192 51000 6178.1 600 0.048266228 51000 7178.1 600 0.03850932 51000 8178.1 600 0.03072475 51000 9178.1 600 0.024513812 51000 10000 600 0.020361087 52000 0.00000001 600 0.216749647 51999.8 100 600 0.211858451 52000 200 600 0.207086374 52000 350 600 0.200122706 52000 575 600 0.190113795 52000 912.5 600 0.176031151 52000 1418.8 600 0.156836962 52000 2178.1 600 0.131902072 52000 3178.1 600 0.105006755 52000 4178.1 600 0.083595492 52000 5178.1 600 0.066550064 52000 6178.1 600 0.052980262 52000 7178.1 600 0.042177392 52000 8178.1 600 0.033577267 52000 9178.1 600 0.026730739 52000 10000 600 0.022162289 53000 0.00000001 600 0.240689581 52999.8 100 600 0.235206916 53000 200 600 0.229858661 53000 350 600 0.222056534 53000 575 600 0.210847077 53000 912.5 600 0.195084887 53000 1418.8 600 0.173621175 53000 2178.1 600 0.145776085 53000 3178.1 600 0.115798834 53000 4178.1 600 0.091986075 53000 5178.1 600 0.073070148 53000 6178.1 600 0.058044075 53000 7178.1 600 0.046107948 53000 8178.1 600 0.036626355 53000 9178.1 600 0.029094547 53000 10000 600 0.024078882 *END /prep7 tb,creep,1,,,3 tbdata,1,1e-10,0,0,0,1e-4 ! Add the Creep Data tbft,eadd,1,creep,cfcr-gx1-exp1.exp ! Construct the Fitting Function tbft,fadd,1,aml,genr,crexample, tbft,fix,1,aml,genr,crexample,4,1 ! Original Solution ! 1) 2.50E-21 ! 2) 5 ! 3) 0.5 ! 4) 0 ! 5) 1.00E-06 ! Solve tbft,solve,1,aml,genr,crexample,1,50 ! Save tbft,fset,1,aml,genr,crexample, tblis,all,all
Example: Parameter-Fitting of Temperature-Dependent Creep Data
/title,Test AML + Creep,Exponential Form wit Temp Dependent Data *CREATE,cfcr-ex2-exp1.exp /1,seqv /2,dcre /temp,100 48000 2.18712E-06 49000 2.2091E-06 50000 2.2313E-06 51000 2.25373E-06 52100 2.27865E-06 53100 2.30156E-06 54000 2.32236E-06 55000 2.3457E-06 56000 2.36928E-06 57000 2.39309E-06 58000 2.41714E-06 59000 2.44143E-06 *END *CREATE,cfcr-ex2-exp2.exp /1,seqv /2,dcre /temp,200 48000 5.94521E-06 49000 6.00496E-06 50000 6.06531E-06 51000 6.12626E-06 52100 6.19402E-06 53100 6.25628E-06 54000 6.31284E-06 55000 6.37628E-06 56000 6.44036E-06 57000 6.50509E-06 58000 6.57047E-06 59000 6.6365E-06 *END *CREATE,cfcr-ex2-exp3.exp /1,seqv /2,dcre /temp,300 48000 8.2972E-06 49000 8.38059E-06 50000 8.46482E-06 51000 8.54989E-06 52100 8.64446E-06 53100 8.73134E-06 54000 8.81027E-06 55000 8.89882E-06 56000 8.98825E-06 57000 9.07859E-06 58000 9.16983E-06 59000 9.26199E-06 *END *CREATE,cfcr-ex2-exp4.exp /1,seqv /2,dcre /temp,400 48000 9.80199E-06 49000 9.9005E-06 50000 0.00001 51000 1.01005E-05 52100 1.02122E-05 53100 1.03149E-05 54000 1.04081E-05 55000 1.05127E-05 56000 1.06184E-05 57000 1.07251E-05 58000 1.08329E-05 59000 1.09417E-05 *END /prep7 tb,elas,1 tbdata,1,1000,0.3 tb,creep,1,,,9 tbdata,1,1,1e7,0 ! Add the Creep Data tbft,eadd,1,creep,cfcr-ex2-exp1.exp tbft,eadd,1,creep,cfcr-ex2-exp2.exp tbft,eadd,1,creep,cfcr-ex2-exp3.exp tbft,eadd,1,creep,cfcr-ex2-exp4.exp ! Construct the Fitting Function tbft,fadd,1,aml,genr,crex, ! Solve tbft,fix,1,aml,genr,crex,3,1 tbft,set,1,aml,genr,crex,tdep,1 tbft,set,1,aml,genr,crex,tref,all tbft,solve,1,aml,genr,crex,1,100 ! List tbft,fset,1,aml,genr,crex, tblis,all,all