Density and Elasticity Modulus changes through thickness
Density and Elasticity Modulus changes through thickness
(OP)
Hello Colleagues,
I'm working on modeling a FGM plate in which Density and Elasticity Modulus changes through
thickness of plate by an exponential function. The following USDFLD subroutine is copied from
thread799-295995: How to update YoungÆs modulus according to change in plastic strain.
I have some questions to complete this subroutine:
1. How Abaqus will relate field(1) or statev(1) to Elasticity Modulus?
2. If Abaqus reads Elasticity Modulus from subroutine, then what is the point of filling
Elastic material table in property module?
3. In Elastic material table in property module, what does field(1) refer to?
4. If I want to add density change to this subroutine similar to Elasticity change, how
can i elaborate in subroutine for Abaqus to distinguish between Density and Elasticity Modulus?
Any help would be appreciated in advance.
I'm working on modeling a FGM plate in which Density and Elasticity Modulus changes through
thickness of plate by an exponential function. The following USDFLD subroutine is copied from
thread799-295995: How to update YoungÆs modulus according to change in plastic strain.
I have some questions to complete this subroutine:
1. How Abaqus will relate field(1) or statev(1) to Elasticity Modulus?
2. If Abaqus reads Elasticity Modulus from subroutine, then what is the point of filling
Elastic material table in property module?
3. In Elastic material table in property module, what does field(1) refer to?
4. If I want to add density change to this subroutine similar to Elasticity change, how
can i elaborate in subroutine for Abaqus to distinguish between Density and Elasticity Modulus?
Any help would be appreciated in advance.
CODE -->
c first inc. of first step ?
if (kstep .eq. 1 .and. kinc .eq. 1) then
c read y-coordinate
y = coord(2)
c calculate Young module
E = 69600.d0 * (1.d0 + y / 2.5d0)
c define depend state variable (E(y))
field(1) = E
c save E value for state dependend variable
statev(1) = E
c do it for all others inc. and steps
else
c assign initial values calculated in first inc.
field(1) = statev(1)
end if 




RE: Density and Elasticity Modulus changes through thickness
The relation is made by material definition and field variable used with it.
Variable filed(1) in the subroutine is first field variable (FV1) in material definition.
Not true, Abaqus does not read elastic module from the subrotutine, Abaqus read value of field variable from subroutine.
It is because Abaqus has to know what is relation between elastic module and field variable from the subroutine.
The trick here is that elastic module is equal to field variable.
Just use two field variable. FV1 can refer to density and FV2 to elastic module.
CODE
** ** *MATERIAL, NAME=myMaterial *DENSITY, DEPENDENCIES=1 ** ro, temp, FV1 0.0, , 0.0 1000.0, , 1000.0 *ELASTIC, DEPENDENCIES=2, TYPE=ISOTROPIC ** E, v, temp, FV1, FV2 0.0, 0.3, , , 0.0 1000.0, 0.3, , , 1000.0 *DEPVAR 2 1, RO, Density 2, E, Elastic_module **Next the subroutine has to set filed(1) for FV1 (density) and filed(2) for FV2 (elastic modeule):
CODE
c first inc. of first step ? if (kstep .eq. 1 .and. kinc .eq. 1) then c calculate value of E and ro rRo = ... equation to define ... rE = ... equation to define ... c define depend state variable field(1) = rRo field(2) = rE c set state depended variable statev(1) = rRo statev(2) = rE c do it for all others inc. and steps else c assign initial values calculated in first inc. field(1) = statev(1) field(2) = statev(2) end ifRegards,
Bartosz
RE: Density and Elasticity Modulus changes through thickness
I have another question:
I'm verifying this USDFLD with song's umat in a cracked 3D plate. In .dat file both stress and strain are close together but displacement are different. what does this difference refer to?
RE: Density and Elasticity Modulus changes through thickness
in ascending order. How can i fix this problem?
RE: Density and Elasticity Modulus changes through thickness
I do not know.
I do not see a problem. Field variable is set by the subroutine not by Abaqus material definition.
Regards,
Bartosz