You are here
Homogenization in ABAQUS
Hello everybody,
I have a problem with homogenization of fibre reinforced composite in Abaqus.
I need to get stress components S11, S22, S33, S12, S13, S23 of each element and it's volume to calculate average stress on each element. Here comes the problem: I'm trying to use Field Output calculator but I can't multiply, for example, S11(i)*EVOL(i) because there are no components of S in this calculator and I can only operate with tensor S.
I'm sure that there are some options to get stress components and volumes from the command in script but I can't find it...
Many thanks in advance
- Svetlana Orlova's blog
- Log in or register to post comments
- 33999 reads
Comments
Stress components
Here is a piece of script I use to get the stress components (I just took it out of my script, sorry if it is unreadible). I hope you understand it and get the method. Same way you can get position of nodes and calculate area or volume. I don't know if the volume of elements is present in the odb file
______________________________________________________________________________________
#get force values and calculate First Piola stress
numFrame=odb.steps[stepName1+str(1)].frames[-1]
RForce=numFrame.fieldOutputs['RF']
regS1 = odb.rootAssembly.instances[instRefName1].nodeSets['VIRTUAL1']
regS2 = odb.rootAssembly.instances[instRefName2].nodeSets['VIRTUAL2']
Piola11 = RForce.getSubset(region=regS1).values[0].data[0]/(GridSpaceY*numHolesY)
Piola12 = RForce.getSubset(region=regS1).values[0].data[1]/(GridSpaceY*numHolesY)
Piola21 = RForce.getSubset(region=regS2).values[0].data[0]/(GridSpaceX*numHolesX)
Piola22 = RForce.getSubset(region=regS2).values[0].data[1]/(GridSpaceX*numHolesX)
solution
Thanks to Bas the problem has been solved:
from odbAccess import *
from Numeric import *
from abaqus import *
from abaqusConstants import *
import visualization
import os
import datetime
import shutil
odb = openOdb(path='Job-1.odb')
elements1 = odb.rootAssembly.elementSets['SETALLELEM']
field = odb.steps.values()[-1].frames[-1].fieldOutputs['S']
SubField = field.getSubset(region=elements1)
s11=zeros(len(SubField.values),Float)
s22=zeros(len(SubField.values),Float)
s33=zeros(len(SubField.values),Float)
s12=zeros(len(SubField.values),Float)
s13=zeros(len(SubField.values),Float)
s23=zeros(len(SubField.values),Float)
for i in range(0, len(SubField.values)):
s11[i]= field.getSubset(region=elements1).values[i].data[0]
s22[i]= field.getSubset(region=elements1).values[i].data[1]
s33[i]= field.getSubset(region=elements1).values[i].data[2]
s12[i]= field.getSubset(region=elements1).values[i].data[3]
s13[i]= field.getSubset(region=elements1).values[i].data[4]
s23[i]= field.getSubset(region=elements1).values[i].data[5]
Hi Svetlana
Hi Svetlana,
If you want
to calculate the homogenized properties of periodical composite, firstly you
need to get the averaged value of the stress on each element.
It is noted
that s11[i] in your formula is NOT the stress S11 of the ith element, it is the stress S11 of the ith integration point of your FE model. If the adopted element has
two or above integration points (such as C3D8 , C3D10…),
your python script is not correct. Under this
circumstance, you should calculate the averaged stress of every element based
on the stresses at integration points.
Your script
code is only applicable to the FE model consisting of linear
tetrahedron elements (or linear
triangular elements).
Cheers
Lianhua
Does anyone know how to
Does anyone know how to calculate average stress based on the stresses at integration points?
I've tried many ways but nothing works:(
Thank you in advance
The averagestress depends
The average stress depends on the adopted element type.
For example, if the FE model is constructed by linear brick elements (C3D8,
one element has 8 integration poins), you can compute the average stress of the
element by the corresponding 8 integration point stresses. It is essential to code
the Gaussian integral formula to calculate the average stress for every
element.
In fact, if you want to get the averaged stress component of your whole FE model, you may
also consider another simple approach: firstly one can extract the reaction
force of every node for one specific face of your RVE model, and further obtain
the averaged stress component of the model by computing the total force and
area of this face.
Regards,
Lianhua
There is a better approach
There is a better approach to handle the homogenization problem. If you use VAMUCH , a
general-purpose micromechanics analysis code, you don't have to worry
about how to apply loads and boundary conditions. And how to calculate average stresses/strain. What you need as
inputs are the geometry of the unit cell and the constitutive properties
of each phases. The 6x6 stiffness and compliance matrices are generated
within one analysis. An interface is also developed for ANSYS users to
take advantage of its powerful pre/post processing capabilities.
need help
hi,
I'm looking for how we can do homogenization on ABAQUS.
thank you in advance.
salut,
Je cherche comment nous pouvons faire homogénéisation sur ABAQUS.
merci à l'avance.
for 3d geometry numerical homogenisation
I have extracted S11 LE11 ....and other stressa nd strain components at centroid for every element and then using excel averaged the values.
Has anyone done like this by using values at centriod rather than at intergration points
getting Nu13=0.921 !!!!! :P
To avoid all the difficulty
To avoid all the difficulty of applying PBC, creating periodic mesh, and postprocessing results, you can try the general-purpose, multiscale, multiphysics constitutive modeling code, SwiftComp. It takes a FE mesh, output the same results as your RVE analysis with PBC, at least six times faster. It can be freely lauched in the cloud at https://cdmhub.org/resources/scstandard. Or can be used as a plug in in ABAQUS or ANSYS. The complete set of properties is just one click away.
Homogenization in ABAQUS
The homogenization technique in ABAQUS for a RVE is presented in detail in the following paper:
Shahzamanian, M., et al., Representative Volume Element Based Modeling of Cementitious Materials. Journal of Engineering Materials and Technology, 2014. 136(1): p. 011007.