Home › Forum › SOFA › Getting Started › [SOLVED] Insert Strain – Stress Curves of Material to describe mechanical properties
Tagged: 64_bits, Linux_ubuntu, SOFA_1906
- This topic has 5 replies, 3 voices, and was last updated 4 years, 7 months ago by Pasquale94.
-
AuthorPosts
-
27 March 2020 at 14:22 #15571Pasquale94Blocked
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:23 #15594HugoKeymasterHi @pasquale94
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?Best,
Hugo
31 March 2020 at 12:17 #15598jnbrunetModeratorHi @pasquale94
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
TetrahedronFEMForceField
can 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
TetrahedronHyperelasticityFEMForceField
component. 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.Now, both
TetrahedronFEMForceField
andTetrahedronHyperelasticityFEMForceField
components 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-Nicolas
31 March 2020 at 12:34 #15599Pasquale94BlockedThank you very much for the explanation!
4 April 2020 at 01:20 #15644HugoKeymasterShall we close the topic @pasquale94 ?
Hugo
4 April 2020 at 16:31 #15646Pasquale94BlockedYes, sure 🙂
-
AuthorPosts
- You must be logged in to reply to this topic.