This is a APDL-snippet that I am currently using to define the viscoelastic material:
!initial stress
xstress=0.00
ystress=0.00
zstress=0
emodul= 1000
prxy=0.48 !change it by youre own data!
T_Tref= 22
dens=1.5E-9
WLF_C1= 1233.38549256198
WLF_C2= 15051.0592897475
!WLF_C1= 3000
!WLF_C2= 15051.0592897475
!range of validity: 253.192 K to 383.216 K
!these values are ansys usershift compatible. ansys usershift function result is in natural logarithm values.
!divide these values with log(10) or /2.3025850929940456840179914546844 for decadic results
anz_poly=8
a0=6.08419150763354e-14 ! (t-tref)^0
a1=0.102634777333732 ! (t-tref)^1
a2=-0.00432532400851257 ! (t-tref)^2
a3=0.000196313036174406 ! (t-tref)^3
a4=-2.20392742071311e-06 ! (t-tref)^4
a5=-4.82538390415738e-08 ! (t-tref)^5
a6=1.42616810358004e-09 ! (t-tref)^6
a7=-1.16517006882461e-11 ! (t-tref)^7
a8=3.02875871074624e-14 ! (t-tref)^8
!Prony parameters
anz_pr= 21
prony_1=0.114383103651657 $tau_1=3.75431737187164e-09
prony_2=0.359145957896381 $tau_2=3.95059243268877e-08
prony_3=0.180874503329114 $tau_3=4.15712871963117e-07
prony_4=0.220762760051141 $tau_4=4.3744626878203e-06
prony_5=0.0478664850812527 $tau_5=4.60315883815832e-05
prony_6=0.0337057365002902 $tau_6=0.00048438111835566
prony_7=0.0300874841778958 $tau_7=0.00509704479181848
prony_8=0.00509344253533475 $tau_8=0.0536351740918356
prony_9=0.000809387642727866 $tau_9=0.564392116875075
prony_10=0.0013005444966005 $tau_10=5.9389843882173
prony_11=9.73728989199814e-12 $tau_11=62.4947346160328
prony_12=0.000469558168317785 $tau_12=657.619484987521
prony_13=5.74776608225847e-05 $tau_13=6919.99717563891
prony_14=0.000589409390620715 $tau_14=72817.7342734289
prony_15=0.000515575282781819 $tau_15=766246.327871682
prony_16=9.73728989549931e-12 $tau_16=8063055.52946983
prony_17=0.000953273629946875 $tau_17=84845906.7358834
prony_18=0.000127406166934482 $tau_18=892816360.190391
prony_19=0.000175746416302754 $tau_19=9394926445.95063
prony_20=0.000792321519092591 $tau_20=98860915704.9957
prony_21=9.73728993446728e-12 $tau_21=1040293472254.13
!anz_pr= 3
!prony_1=0.3 $tau_1=2
!prony_2=0.3 $tau_2=2
!prony_3=0.4 $tau_3=2
/PREP7
alls
CMSEL,s,Membrane
mat_id=50000
EMODIF,all,mat,mat_id
mp,ex,mat_id, emodul
MP,PRXY,mat_id,prxy
mp,dens,mat_id,dens
*dim,prony_pairs,array,anz_pr,2
*do,i,1,anz_pr,1
prony_pairs(i,1)=prony_%i%
prony_pairs(i,2)=tau_%i%
*enddo
TB,PRONY,mat_id,1,anz_pr,SHEAR
*do,i,1,anz_pr,1
TBDATA,2*i-1,prony_pairs(i,1),prony_pairs(i,2)
*enddo
TB,PRONY,mat_id,1,anz_pr,BULK
*do,i,1,anz_pr,1
TBDATA,2*i-1,prony_pairs(i,1),prony_pairs(i,2)
*enddo
*dim,poly_shift,array,anz_poly,1
*do,i,1,anz_poly,1
poly_shift(i,1)=a%i%
*enddo
mod_shift=2
*IF,mod_shift,eq,1,then
tb,shift,mat_id,1,3,WLF ! Use WLF shift function
tbdata,1,T_Tref,WLF_C1,WLF_C2 ! Parameter of WLF Fct.
*ELSEIF,mod_shift,eq,2,then
tb,shift,mat_id,1,anz_poly+1,user ! Use poly shift function Poly 8 fit with Ax(T-Tref)^X
tbdata,1,T_Tref
*do,j,1,anz_poly,1
tbdata,j+1,poly_shift(j,1)
*enddo
*endif
alls
!CMSEL,s,Membrane
!INISTATE, DEFINE, , , , ,xstress,ystress,zstress
!alls
fini
/SOLU
we have two options for shift function, one is using WLF-shift function, the other one is using a poly-function of 8-oder. The code is working very well, but I don't know, how APDL experiences, that the 8 coeffcients defined in the code will be used in a poly-function of 8-oder? According to my understanding, we only define the coefficient and put them into a table, and didn't define how the function looks like. I got this code from my ex-colleague.
regards
tianxiao