USDFLD-Modelling functionally graded materials in ABAQUS
USDFLD-Modelling functionally graded materials in ABAQUS
(OP)
I'm trying to model a simple beam with the Young's modulus varying with position. I've followed all the instructions for the USDFLD detailed by akabarten in the posts:
http://www.eng-tips.com/viewthread.cfm?qid=385982 and
http://www.eng-tips.com/viewthread.cfm?qid=295995
The relationship between E and FV1 is E=1E9*FV1.
The USDFLD looks like:
if (kstep .eq. 1 .and. kinc .eq. 1) then
X=COORD(1)
Y=COORD(2)
R=(X**2 + Y**2)**0.5
TH=ATAN(Y/X)
EZ=210
EC=EZ*(1 + 0.8095238*(0.5-(5*(R-2))))*EXP(-0.25*TH)
FIELD(1)=EC
STATEV(1)=EC
else
c assign initial values calculated in first inc.
FIELD(1) = STATEV(1)
end if
My input file includes the code:
** MATERIALS
**
*Material, name=FGM
*Depvar
1,
1, E, Elastic_module
*Elastic, dependencies=1, TYPE=ISOTROPIC
1e+09, 0.3, , 1.
2e+09, 0.3, , 2.
*User Defined Field
**
However, Abaqus only seems to use E=2E9 (as a homogeneous material) and DOES NOT vary E with the FV1.
I've outputed FV1 and SDV1 and they vary exactly as given in the USDFLD, so the sub-routine is working.
When I use E=0
*Elastic, dependencies=1, TYPE=ISOTROPIC
0, 0.3, , 0.
1e+09, 0.3, , 1.
*User Defined Field
I get an error stating that "Young's modulus cannot be 0".
When I use
*Elastic, dependencies=1, TYPE=ISOTROPIC
1e+09, 0.3, , 1.
3e+09, 0.3, , 3.
*User Defined Field
Abaqus uses E=3E9 for the entire beam (homogeneous again).
Why is Abaqus not designating a direct relation between the Young's Modulus and the Field1 variable ?
I'm using Abaqus/Standard 6.14 for a simply static linear analysis. Any help would be much appreciated!
http://www.eng-tips.com/viewthread.cfm?qid=385982 and
http://www.eng-tips.com/viewthread.cfm?qid=295995
The relationship between E and FV1 is E=1E9*FV1.
The USDFLD looks like:
if (kstep .eq. 1 .and. kinc .eq. 1) then
X=COORD(1)
Y=COORD(2)
R=(X**2 + Y**2)**0.5
TH=ATAN(Y/X)
EZ=210
EC=EZ*(1 + 0.8095238*(0.5-(5*(R-2))))*EXP(-0.25*TH)
FIELD(1)=EC
STATEV(1)=EC
else
c assign initial values calculated in first inc.
FIELD(1) = STATEV(1)
end if
My input file includes the code:
** MATERIALS
**
*Material, name=FGM
*Depvar
1,
1, E, Elastic_module
*Elastic, dependencies=1, TYPE=ISOTROPIC
1e+09, 0.3, , 1.
2e+09, 0.3, , 2.
*User Defined Field
**
However, Abaqus only seems to use E=2E9 (as a homogeneous material) and DOES NOT vary E with the FV1.
I've outputed FV1 and SDV1 and they vary exactly as given in the USDFLD, so the sub-routine is working.
When I use E=0
*Elastic, dependencies=1, TYPE=ISOTROPIC
0, 0.3, , 0.
1e+09, 0.3, , 1.
*User Defined Field
I get an error stating that "Young's modulus cannot be 0".
When I use
*Elastic, dependencies=1, TYPE=ISOTROPIC
1e+09, 0.3, , 1.
3e+09, 0.3, , 3.
*User Defined Field
Abaqus uses E=3E9 for the entire beam (homogeneous again).
Why is Abaqus not designating a direct relation between the Young's Modulus and the Field1 variable ?
I'm using Abaqus/Standard 6.14 for a simply static linear analysis. Any help would be much appreciated!





RE: USDFLD-Modelling functionally graded materials in ABAQUS
Could you share your inputdeck and subroutine, please?
I will take a look for it.
Regards,
Bartosz
VIM filetype plugin for Abaqus
https://github.com/gradzikb/vim-abaqus
RE: USDFLD-Modelling functionally graded materials in ABAQUS
For some reason, when I use the file sharing service provided by Engineering.com, I get an upload error.
Instead, I'm providing a google drive link: https://drive.google.com/file/d/0B7-zIaLPMZRxM2p5c...
I hope this will work. I've attached the input file (homogcantil.inp) and the USDFLD routine (BDFGM.f).
Thanks a ton for your help!
RE: USDFLD-Modelling functionally graded materials in ABAQUS
I ran your model and I noticed FV1 vary between value of 145.0 and 375.0.
With your material definition it make sense only when FV1 vary from 1.0 to 2.0.
Abaqus use constant extrapolation outside field variable range so any value above 2.0 will use E=2e+09.
Please check your equation inside subroutine.
Regards,
Bartosz
VIM filetype plugin for Abaqus
https://github.com/gradzikb/vim-abaqus
RE: USDFLD-Modelling functionally graded materials in ABAQUS
Thank you for pointing out my mistake!
I incorrectly assumed that Abaqus would use the same interpolation that it uses within the FV range specified (of 1-2) to extrapolate outside the FV range.
However, as you mention, Abaqus uses a CONSTANT extrapolation outside the range of FV, resulting in it using E=2E9 for any value above FV=2.
I fixed this by changing the range of FV to 100-400 (so that all values of FV computed at the integration points lie within this), and the simulation worked as expected.
Thank you for taking the time to help me!