Continue to Site

Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations MintJulep on being selected by the Eng-Tips community for having the most helpful posts in the forums last week. Way to Go!

Question about USDFLD(ABAQUS) 1

Status
Not open for further replies.

yunlin

Structural
Apr 26, 2012
10
I wrote a USDFLD subroutine to change young's modulus based on the value of strain. I had the line field(1) = strain in order to relate field(1) to stain output. Part of the subroutine is at the end.
My first question:
What if I have more than one solution dependent properties? I would have to relate more field variable to solutions. How do I know which one is field(1), field(2)....field(n)?
for example, I want to make both specific heat and thermal expansion coefficient solution dependent. I would have to enter field variables for both of them in CAE. But in subroutine how do I know which one is field(1) and which one is field(2)? or does it work this way?

My 2nd Question:
If the young's modulus depending on the temperature history, what should I do. For example. when time is 1 the temperature is 30, and when time is 2, the temperature is 50. So now maturity is 30x1+50*1 = 80. What should I do, in order to make young's modulus depending on maturity?

c USER CODE START

c do it only for specific material
if (cmname .eq. 'MAT1') then

c get elastic strain (value EE) and save it into 'array'
call getvrm('EE',array,jarray,flgray,jrcd,jmac,jmatyp,
& matlayo,laccfla)

c EE11 output = array(1)
strain = abs(array(1))

c assign strain value to field variable
c Young modul (E) depend on field variable (FV1)
field(1) = strain


end if

c USER CODE END
 
Replies continue below

Recommended for you

Hi,

What if I have more than one solution dependent properties? I would have to relate more field variable to solutions. How do I know which one is field(1), field(2)....field(n)?

Please take a look for following material definition:

Code:
*MATERIAL, NAME=mat
*DENSITY, DEPENDENCIES=3
**  density, temp, FV1, FV2, FV3
   7.50e-06,     , 0.0,    ,
   7.85e-06,     , 1.0,    ,
   7.95e-06,     , 2.0,    ,
*ELASTIC, DEPENDENCIES=3
**    E,    v, temp, FV1, FV2, FV3
  190.0,  0.3,     ,    , 0.0,
  200.0,  0.3,     ,    , 1.0,
  210.0,  0.3,     ,    , 2.0,
*SPECIFIC HEAT, DEPENDENCIES=3
** heat, temp, FV1, FV2, FV3
    0.1,     ,    ,    , 0.0
    0.2,     ,    ,    , 1.0
    0.3,     ,    ,    , 2.0

In the definition we are using three field variables (FV1, FV2, FV3).
FV1 controls density, FV2 controls Young module and FV3 controls specific heat.
In USDFLD subroutine the field variables will be passed always in the same order, it means:
field(1) = FV1, field(2) = FV2, field(3) = FV3

If the young's modulus depending on the temperature history

You have to use state-dependent variable to save current temperature and then read the value in next increment (time point). In USDFLD is STATEV array which can be use to do it.

Regards,
Bartosz
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor