Continue to Site

Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

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

subroutine USDFLD 1

Status
Not open for further replies.

Salvanto2

Civil/Environmental
Jun 6, 2019
25
Hello, everyone! I have a big problem I'm not solving.
I should enter the value of the variable mass density with the space on abaqus. I was able to insert the variable Young's module in the space with both UMAT and USDFLD. Unfortunately, I can't as far as mass density is concerned. Do you have any suggestions or ideas?

Thank you in advance.
 
Replies continue below

Recommended for you

Can you attach your USDFLD subroutine code used to define spatially varying density along with part of .inp file where material properties are defined ? Maybe there is some error in the definition. Did you use *DENSITY, DEPENDENCIES=... ? Keep in mind that you can also use distribution feature if you want to specify spatially varying density on the element/elset basis.
 
Of course!
I enclose both the one with Young's variable modulus and the one with mass density. The first one works, because the stiffness matrix is the same as the one calculated on another program. While, in that of the density of variable mass in space, the matrix of the masses is completely wrong because Abaqus considers me the mass equal to 1.
 
 https://files.engineering.com/getfile.aspx?folder=9a2b2905-bb2d-4965-8b32-c5ff92dee272&file=USDFLD.7z
For typical simulations it is not possible to change the density during the analysis. The density is something like a core variable that is needed to check that there is no unphysical increase or decrease in material during the analysis.

Abaqus Doc said:
Defining density

Density can be defined as a function of temperature and field variables. Based on user-defined data Abaqus internally estimates the material density as follows:

- For acoustic, heat transfer, and coupled thermal-electrical elements in Abaqus/Standard and acoustic elements in Abaqus/Explicit, the density is continually updated to the value corresponding to the current temperature and field variables.

- For coupled temperature-displacement elements in Abaqus/Standard, the density is continually updated to the value corresponding to the current temperature and field variables for heat transfer computations only. Structural body force computations ensure mass conservation during the analysis by assuming the density to be a function of the initial temperature and field variables and changes in volume only.

- For all other elements in Abaqus/Standard and Abaqus/Explicit, the density is taken to be a function of the initial temperature and field variables and changes in volume only. It is not updated if temperatures and field variables change during the analysis.
 
Thx for your reply. Is there another way to do this in Abaqus?
 
If you only want to define spatial variation of density in the model then it is possible (via distributions or subroutine USDFLD). But if you need solution dependence too then, as Mustaine said, it’s not possible due to restrictions of the algorithms used in Abaqus.
 
In fact I use the USDFLD subroutine, but it isn't function. I attach my Fortran code in my first reply. I only want that the density mass depens of "x" coordinate.
 
After a further study I undesrtand that is impossibile to define a density mass variable like the Young's Module. So i think that the solution is to calculate the density in my fortran code. But how can you do this? Can you give me a little help? I need to use GETVRM?
 
I try to use the "distribution analytical" of Abaqus, butthis causes the following error: THE MATERIAL MATERIAL-1 WAS DEFINED WITH DISTRIBUTIONS AND CANNOT BE USED FOR BEAM ELEMENTS. I'm confused and I don't know how to proceed anymore. [neutral]
 
Unfortunately distribution can be used to define spatial variation of density only for solid continuum elements (and only in Abaqus/Standard). So it won’t work if you have beam elements.
 
I'm sorry to take advantage of your kindness, but I'm really out of ideas right now.
How would you try to solve this problem? Thank you so much!
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor