27 March 2020 at 14 h 22 min #15571
Hi everyone! I am a very new into using SOFA, I am working on Soft Robots made up by self healing polymers, so the mechanical behavior of these materials is quite complicated. For now, I am making my first scene in xml language (but in future I will use python and the plugins for soft robots), and I am using this command, for the Force Field :
<TetrahedronFEMForceField name=”FEM” youngModulus=”120000.0″ poissonRatio=”0.44″ method=”large” updateStiffnessMatrix=”true” printLog=”0″ />
But, I want to simulate these materials when they undergoes to important damages and in this case the elastic properties are not enough to describe the material behavior. Is it possible in SOFA to associate to each TetraHedron of the mesh topology an entire stress-strain curve? ( in .txt file, for example) And How to implement this?
Thank you for the eventual responce and stay healthy, in this strange moment.31 March 2020 at 11 h 23 min #15594HugoKeymaster
- SOFA Consortium
Welcome on the SOFA forum!
Nice start in SOFA, xml towards python is a good way to start.
In the TetrahedronFEMForceField you also have an option computeVonMisesStress which will allow you to compute the vonMisesPerNode or vonMisesPerElement. However, extract the stress and strain separately is not implemented to my best knowledge.
@jnbrunet can you confirm?
Hugo31 March 2020 at 12 h 17 min #15598jnbrunetParticipant
- MIMESIS team, INRIA
Is it possible in SOFA to associate to each TetraHedron of the mesh topology an entire stress-strain curve?
Creating a new stress-strain curve would require you to implement your own ForceField. The
TetrahedronFEMForceFieldcan only represent the linear elasticity curve. When you set the method=”large” option, it extracts the rotational part of the strain before computing the stress, but it remains a linear elasticity curve.
There are more advanced stress-strain curves for hyperelasticity within the
TetrahedronHyperelasticityFEMForceFieldcomponent. You can have a look at the example file
“examples/Components/forcefield/TetrahedronHyperelasticityFEMForceField.scn“. Unfortunately, authors of this component did not give any documentation on how to correctly set material parameters. I can only say that the parameters of the StVenantKirchhoff, NeoHookean and ArrudaBoyce materials are given with ParameterSet=”mu lambda” where mu and lambda are the standard Lame’s coefficient.
TetrahedronHyperelasticityFEMForceFieldcomponents are applying a stress-strain curve to an entire subdomain of tetrahedrons. Nothing prevents you to create multiple of those force fields within the same node and assign each one with a different tetrahedron set container. Something like
<Node> <MechanicalObject /> <TetrahedronSetTopologyContainer name="domain1" /> <TetrahedronHyperelasticityFEMForceField ParameterSet="mu0 lambda0" materialName="StVenantKirchhoff" topology="@domain1"/> <TetrahedronSetTopologyContainer name="domain2" /> <TetrahedronHyperelasticityFEMForceField ParameterSet="mu1 lambda1" materialName="StVenantKirchhoff" topology="@domain2"/> </Node>
In any cases, creating new materials is not something very straightforward in Sofa. We are working on simplifying this process and allow people to easily create new curves.
Jean-Nicolas31 March 2020 at 12 h 34 min #15599
Thank you very much for the explanation!4 April 2020 at 1 h 20 min #156444 April 2020 at 16 h 31 min #15646
Yes, sure 🙂
- You must be logged in to reply to this topic.