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!

Material Dependency with Field variables and USDFLD

Status
Not open for further replies.

Bracky16_

Bioengineer
Mar 3, 2020
3
Hello everyone!
I have written abaqus bone remodelling Code with the USDFLD subroutine and have been testing on a 5 by 5 by 5 box. The USDFLD calculates and stores the new Young’s Modulus as Field 1 but it does not update the actual elements Young’s Modulus for the next increment. I have done googling to find out how to set the dependency of Young’s modulus to field 1 but it has not been clear to me on how to do that.

Any help would be greatly appreciated and if you have any questions to help you answer then don’t hesitate to ask!
 
Replies continue below

Recommended for you

Check the documentation chapter "USDFLD" in Abaqus User Subroutines Reference Guide. It features simple example of USDFLD and respective input file where Young's modulus is changed by the subroutine. In general you will need the following lines in your input file:

*Elastic, dependencies=1
**Table of Young's modulus values changing as a function of field variable 1 (fv1)
E1, v, 0, fv1_first_value
E2, v, 0, fv1_second_value
...
*User Defined Field
*Depvar
1
 
Thank you very much for your reply!

Thank you for pointing me towards the USDFLD Chapter in the Subroutine Reference Guide it helped clear up some things!
With regards to that, the change in numbers that are stored in FV1 are not as friendly as the example you referred me to. So, for example, my youngs modulus starts at 3790 MPa for the full model but can go as high as 20,000 MPa and as low as 0.00379 MPa. These values roughly correspond to a density of 1 g/cm^3, 1.74 g/cm^3 and 0.01 g/cm^3 where the relationship is E = 3790 * Density^3. But the density can be any number between 0.01 g/cm^3 and 1.74 g/cm^3

Would I need to write this to the .inp file as

*Elastic, dependencies=1
**Table of Young's Modulus values changing as a function of field variable 1 (fv1)
3790, 0.3, 0, 3790
20000, 0.3, 0, 20000
0.00379, 0.3, 0, 0.00379
...
*User Defined Field
*Depvar
1

So where the ... is would I need to input every single possibility of the FV into the tabular form?

Thank you and I look forward to your reply!
 
With this tabular approach there’s no need to specify all possible values of Young’s modulus because Abaqus will use linear interpolation between these data points. It doesn’t extrapolate though. So it will use the last given value of Young’s modulus if the field variable is outside of the specified range.
 
That makes sense! I will give that a shot, thank you again for your time.
 
Why bother with coding a bone remodeling algorithm in the first place? This stuff has been done since 90s. If you have a relationship with your Simulia representative(s), they might even be generous and share their code for bone remodeling with you. After all, it is in their interest to have you hooked on Abaqus :) Heck, I have even seen theses out there with such code copied in the Appendix.

Anyway, bottom line: There are no rewards for reinventing the wheel -- unless, of course, you have a new theory of bone remodeling itself.

*********************************************************
Are you new to this forum? If so, please read these FAQs:

 
Status
Not open for further replies.

Part and Inventory Search

Sponsor