×
INTELLIGENT WORK FORUMS
FOR ENGINEERING PROFESSIONALS

Log In

Come Join Us!

Are you an
Engineering professional?
Join Eng-Tips Forums!
  • Talk With Other Members
  • Be Notified Of Responses
    To Your Posts
  • Keyword Search
  • One-Click Access To Your
    Favorite Forums
  • Automated Signatures
    On Your Posts
  • Best Of All, It's Free!
  • Students Click Here

*Eng-Tips's functionality depends on members receiving e-mail. By joining you are opting in to receive e-mail.

Posting Guidelines

Promoting, selling, recruiting, coursework and thesis posting is forbidden.

Students Click Here

Jobs

Question about USDFLD(ABAQUS)

Question about USDFLD(ABAQUS)

Question about USDFLD(ABAQUS)

(OP)
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
 

RE: Question about USDFLD(ABAQUS)

Hi,

Quote:

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

Quote:

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

RE: Question about USDFLD(ABAQUS)

(OP)
Thanks you so much akabarten.
 

Red Flag This Post

Please let us know here why this post is inappropriate. Reasons such as off-topic, duplicates, flames, illegal, vulgar, or students posting their homework.

Red Flag Submitted

Thank you for helping keep Eng-Tips Forums free from inappropriate posts.
The Eng-Tips staff will check this out and take appropriate action.

Reply To This Thread

Posting in the Eng-Tips forums is a member-only feature.

Click Here to join Eng-Tips and talk with other members!


Resources