TAGGED: ansys-apdl
-
-
April 28, 2023 at 1:29 pm
Tianxiao Xie
SubscriberHello,
I am trying to implement a poly-function (like: Sum(A_i(T-T_ref)^i)) for the shift-function at describing the viscoelastic materials by APDL-Snippet.
When I choose "USER", like explained from the ansys help, how should I know, which user-defined shift function will be used? Where should I define it?
kind regards!
Tianxiao
-
May 2, 2023 at 12:09 pm
John Doyle
Ansys EmployeeWhat you are describing is the very last step in the process of implimenting a customized user routine that is not available as a standard option. If you are sure that you need a user routine to represent your material behavior, then you need to write the user programmable routine and link it into the standard code, before you can use it.
I would refer you to the MAPDL Programmer's Reference Manual available online for all these details.
-
May 4, 2023 at 1:26 pm
Tianxiao Xie
SubscriberThis is a APDL-snippet that I am currently using to define the viscoelastic material:
!initial stress
xstress=0.00
ystress=0.00zstress=0
emodul= 1000
prxy=0.48 !change it by youre own data!
T_Tref= 22
dens=1.5E-9
WLF_C1= 1233.38549256198WLF_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
allsCMSEL,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%
*enddoTB,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)
*enddoTB,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
*endifalls
!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
-
- You must be logged in to reply to this topic.

Boost Ansys Fluent Simulations with AWS
Computational Fluid Dynamics (CFD) helps engineers design products in which the flow of fluid components is a significant challenge. These different use cases often require large complex models to solve on a traditional workstation. Click here to join this event to learn how to leverage Ansys Fluids on the cloud, thanks to Ansys Gateway powered by AWS.

Earth Rescue – An Ansys Online Series
The climate crisis is here. But so is the human ingenuity to fight it. Earth Rescue reveals what visionary companies are doing today to engineer radical new ideas in the fight against climate change. Click here to watch the first episode.

Ansys Blog
Subscribe to the Ansys Blog to get great new content about the power of simulation delivered right to your email on a weekly basis. With content from Ansys experts, partners and customers you will learn about product development advances, thought leadership and trends and tips to better use Ansys tools. Sign up here.
- Solver Pivot Warning in Beam Element Model
- Saving & sharing of Working project files in .wbpz format
- Understanding Force Convergence Solution Output
- An Unknown error occurred during solution. Check the Solver Output…..
- What is the difference between bonded contact region and fixed joint
- User manual
- The solver engine was unable to converge on a solution for the nonlinear problem as constrained.
- whether have the difference between using contact and target bodies
- material damping and modal analysis
- Colors and Mesh Display
-
5268
-
3299
-
2469
-
1308
-
1002
© 2023 Copyright ANSYS, Inc. All rights reserved.