Home › Forum › SOFA › Using SOFA › How to set the anisotropic material
Tagged: 64_bits, Plugin_SoftRobots, SOFA_1906, Windows_10
- This topic has 11 replies, 2 voices, and was last updated 4 years, 6 months ago by Hugo.
-
AuthorPosts
-
31 March 2020 at 10:18 #15590weibayangBlocked
Hi everyone,
I want to simulate a pneumatic device with anisotropic material limitations.I simulated a cylinder attached to a pneumatic device on the sofa platform, but did not know how to change it into an anisotropic material.Hope you can help me answer, thank you!
Weibayang31 March 2020 at 13:23 #15600HugoKeymasterHi @weibayang
and welcome to the SOFA forum!
Which constitutive law are you using in SOFA, i.e. which ForceField ?Best,
Hugo
31 March 2020 at 14:10 #1560231 March 2020 at 14:58 #15605HugoKeymasterHi @weibayang
The TetrehedronFEMForceField has no option for anisotropy.
A volumetric constitutive law including anisotropy is the hyperelastic laws (TetrahedronHyperelasticityFEMForceField). Unfortunately, this does not exist in the core of SOFA. This really becomes a priority for the core of SOFA. I created an issue here.
However, developers of the SoftRobot plugin might have implemented this for their robotic purposes.Best,
Hugo
1 April 2020 at 03:54 #15617weibayangBlockedHi @Hugo
I appreciate your help.And I will try to use the hyperelastic laws to sovle my problem.But I have a few other problem:
1. Can I use sofa to draw curves?Because I might want to put a ring fiber on my device to limit its Dofs.
2. What can I do to change the material of an object,except to modify the FEM analysis parameters?
3.What should I do if I want to get a diagonal box?Becauese I can only define the minimum position and the maximum position.
4.Where can I find a detailed description of the sofa tool?While there’s official website for some tools have detailed narration (for example BoxROI), but still has a part is no (for example TetrahedronHyperelasticityFEMForceField, I don’t know what the input parameters, and what can modify).I hope to get your reply.
Best,
weibayang
1 April 2020 at 18:08 #15622HugoKeymasterHi @weibayang
You are very welcome.
1. I am sorry I am not sure to understand your point.
2. In a scene, different models exist in SOFA. Each model is implemented in a different C++ class. Changing a FEMForceField component in the scene will therefore change the material: e.g. TetrahedronFEMForceField for linear elasticity and linearized strain, TetrahedronHyperelasticityFEMForceField for several hyperelastic models, StiffSpringForceField for a spring model, etc.In the case of the TetrahedronHyperelasticityFEMForceField, you can select the material as you can see in the example: examples/Components/forcefield/TetrahedronHyperelasticityFEMForceField.scn for instance:
<TetrahedronHyperelasticityFEMForceField name="FEM" ParameterSet="3448.2759 31034.483" materialName="StVenantKirchhoff"/>
where the first value of the data
ParameterSet
is mu and the second is lambda, the two Lamé’s coefficient.3. Bounding boxes in SOFA allows to select point as you want: see the orientedBox data in the example examples/Components/engine/BoxROI.scn
4. for the documentation, unfortunately, we are working every day on it but all is here.
Note that for the API description a full doxygen is available here.
Video tutorials are provided here.I hope this helps.
Hugo
2 April 2020 at 10:06 #15630weibayangBlockedHi @Hugo,
I appreciate your reply.
The first problem is how to set a curve in SOFA,just like using CylinderGridTopology to set a cylinder.
With your help, I have some understanding of the use of sofa.But as you said TetrahedronHyperelasticityFEMForceField can sitimulate anisotropic material,why did you point out again that this dose not exist in the core of sofa ?
Finalily, do you konw how to change the cylinder (used CylinderGridTopology to set) to Tetrahedral Set Topology? Because when I use TetrahedronHyperelasticityFEMForceField ,there is existing a ERROR: object must have a Tetrahedral Set Topology.I hope to get your reply.
Best,
weibayang
6 April 2020 at 18:23 #15655HugoKeymasterHi @weibayang
Sorry if I made it unclear:
– anisotropic hyperelastic material on tetrahedra using the FEM exists in SOFA
– however, anisotropic elastic material on tetrahedra does not exist in the core of SOFA, only isotropic version exists.Regarding your point about the topology, the way we are usually handling 3D models in SOFA is the following:
– a loader, loading a 3D mesh from a file
– a SetTopologyContainer (Triangle/Tetrahedron/…) is the component in the scene getting all topological information, storing it for other components in the scenes (e.g. for FEM computation).I hope this helps.
Best,Hugo
13 April 2020 at 03:21 #15691weibayangBlockedHi @Hugo
I am very sorry to reply to your help so late.There are some problem when I sitimulate in SOFA.
1. Do you mean that I need to model separately the pneumatic model and restriction line model if I want to sitimulate a pneumatic structure with restriction line in SOFA?
2. How can I get the model indices when I use AttachConstrain ?I am confused with indices.What is indices? Are there some methods to get the model indices?
3. Do you have some example of a combination of two models?I hope to get your reply.
Best,
weibayang
13 April 2020 at 22:21 #15703HugoKeymasterHi @weibayang
1. I am sorry I do not understand the problem. Could you describe in more detail what you are aiming at and the problem you are facing, please?
2. Indices corresponds to the point Ids in each MechanicalObject that you want to attach. Point Ids can be made visible by activating the data showIndices (and adapting the data showIndicesScale) in the MechanicalObject. This will make point ids appear.
3. you can find an example in SOFA/examples/Components/constraint/AttachConstraint.scn
I hope this helps.
Best wishes,Hugo
23 April 2020 at 10:52 #15927weibayangBlockedHi @Hugo,
Now I need to do a simulation experiment of virtual and real combination of robot grasping.Do you know how to interact with hardware?
My hardware can communicate with the host computer through usb.Does sofa have the function of serial port communication?Best,
weibayang23 April 2020 at 19:43 #15936HugoKeymasterHi @weibayang
Communication with robot could be done with ROS if your robot has a dedicated interface. See this topic.
About serial port, I am not sure. Therefore a topic about a plugin developed by @bgarcial on a SerialCommunication. I do not know whether it is now open-source.I will see if anything else exists.
Hugo
PS: do not forget to browse the forum before asking 😉
-
AuthorPosts
- You must be logged in to reply to this topic.