Forum Replies Created
-
AuthorPosts
-
7 September 2018 at 18:18 in reply to: [SOLVED] How to give multi-physical properties to one tetrahedron object #11908HugoKeymaster
Hi @suwan,
You can set a local stiffness factor in the TetrahedronFEMForcefield using the data called localStiffnessFactor. It is defined as a “vector allowing specification of different stiffness per element. If there are N element and M values are specified, the youngModulus factor for element i would be localStiffnessFactor[i*M/N]”
Hope this helps
Hugo
3 September 2018 at 22:40 in reply to: How to completely prevent penetration when collision occurs? #11820HugoKeymasterOk, it was just to check: some more recent version have issues with Geomagic. But v17.12 should be fine.
Have you tried to increase both the alarmDistance and contactDistance in the LocalMinDistance ?
If it does not solve your issue, I’ll test the scene with the Geomagic compiled on my machine.Best,
Hugo
3 September 2018 at 08:56 in reply to: How to completely prevent penetration when collision occurs? #11804HugoKeymasterIt corresponds to information (“tag”) regarding your SOFA version and your operating system that you have to precise when creating a new topic (look juste down the topic title)
Well, what is your SOFA version then?
Best
Hugo
HugoKeymasterGreat to hear Binesh! thanks for sharing so much @secretdevil!
Looking forward to your simulation sceneHugoKeymasterHugoKeymasterHugoKeymasterHi @rubab
You are trying to compile the CGALPlugin, based on the CGAL meshing library.
The CGAL plugin in SOFA is optional, if you don’t need it, do not compile it, it will make the compilation phase easier. In case you need it, please carefully the doc about the plugin.The error that you have is due to the fact you are trying to compile the CGALPlugin in SOFA without a compiled version of the CGAL lib.
Best
Hugo
2 September 2018 at 21:31 in reply to: [SOLVED] Creating models of Arteries and Veins with sofa #11794HugoKeymasterHi @outtt,
1) I guess the mapping used was the BarycentricMapping, but not being one of the authors, I can’t tell for sure
2) after a short investigation, it appears that the PrecomputedConstraintCorrection is responsible for the instability that you noticed. I am no expert from this code, but it seems the case recompute=”0″, is not really handled. Since you use a UniformMass (constant and diagonal mass matrix), I would rather go for a UncoupledConstraintCorrection
3) it depends on what you expect from your artery model. What is your targeted simulation?Best
Hugo
2 September 2018 at 20:32 in reply to: [SOLVED] Apply a force field on a MechanicalObject constructed by SubsetMultiMapping #11792HugoKeymasterThanks anto0nin for sharing the final solution!
Looking forward to seeing your achievements!
Cheers,Hugo
HugoKeymasterHi @fsharifi135
@secretdevil is right.
To compile any software, you must specify the compilers used. CMake is the configuration phase before compiling, and CMake checks if you specified the compilers. In you case you did not and no default compiler seems to be installed.Have you check the “visualcppbuildtools” mentioned by secretdevil?
If you do not succeed to pass this compilation step, use the binary version instead.
BestHugo
2 September 2018 at 20:25 in reply to: How to completely prevent penetration when collision occurs? #11790HugoKeymaster28 August 2018 at 22:36 in reply to: SofaPython Simulation NaN'ing after runtime model changes #11749HugoKeymasterHi Mahmoud
I am sorry for the delay of my reply but I am really no expert of the Compliance/Flexible plugin. I would guess that your issue is due to the fact that the DiagonalCompliances (for 6D springs) does not support updates (addition or removal of springs).
Do you have a very basic example of it?
Best,
Hugo
HugoKeymasterHi @mjbarrow
in my case, the script does not work due to “self.variable”
what is this suppose to be? it seems undefinedHugoKeymasterDear @adrienad,
Thank you very much for your interest in our open-source library SOFA!
You can find sources of information to start with SOFA:- follow the online documentation
- watch our first Tutorials on YouTube
- start using SOFA, running the examples/Tutorials
- read a reference paper about SOFA
- browse the SOFA API
To start with the SoftRobot plugin, there is on top of this a specific documentation and tutorials.
I hope this helps.
Best regards,Hugo
HugoKeymasterHi @nassim
it’s a bit tricky to notice here:
– the mesh you are loading only contains triangles (you can show them by setting the data drawTriangles=”1″ in the Mesh)
– the stiffness you defined in the MeshSpringForceField is on tetrahedra, but no tetrahedron exists. Therefore your object has not stiffness, i.e. no constitutive law. Points are just fallingTo correct this, just change tetrasStiffness=”2000″ into trianglesStiffness=”2000″
Cheers,
Hugo
28 August 2018 at 21:21 in reply to: [SOLVED] the reason to use "TrianglePressureForceField" and "TTriangleModel" #11743HugoKeymasterHi @zahra,
For any such code-related question, never hesitate to give a look at the doc / code / API doc. You can most of the time find info.
In the case of the two classes you mentioned, it’s no trivial to find them though.
TrianglePressureForceField: is a forcefield, it implements an external force applying a user-defined pressure on an object with a triangular topology
TTriangleModel: it is a collision model for an object with a triangular topology. This class is used to compute discrete intersections for collision detection.
Does this help you?
Hugo
HugoKeymasterHi @masoud,
It’s possible to compute a triangular topology from a grid topology.
Is this what you want? If so, please find here an example:<?xml version="1.0" ?> <Node name="root" dt="0.05" showBoundingTree="0" gravity="0 -10 0"> <VisualStyle displayFlags="showBehaviorModels showVisual showForceFields" /> <CollisionPipeline verbose="0" /> <BruteForceDetection name="N2" /> <CollisionResponse response="default" /> <MinProximityIntersection name="Proximity" alarmDistance="0.8" contactDistance="0.5" /> <CollisionGroup /> <Node name="Grid" bbox="-12 0 -3 -4 6 5"> <EulerImplicit rayleighStiffness="0.1" rayleighMass="0.1" /> <CGLinearSolver iterations="100" tolerance="1e-7" threshold="1e-7"/> <MechanicalObject /> <UniformMass totalMass="100.0" /> <RegularGrid nx="4" ny="3" nz="3" xmin="-10.25" xmax="-3.25" ymin="0.25" ymax="5.25" zmin="-2" zmax="3" /> <BoxConstraint box="-8.5 0 -2.5 -5 3 2" /> <RegularGridSpringForceField name="Springs" stiffness="400" damping="4" /> <Node name="Tetra"> <TetrahedronSetTopologyContainer name="Container" src="@../"/> <TetrahedronSetTopologyModifier name="Modifier" /> <TetrahedronSetTopologyAlgorithms name="TopoAlgo" template="Vec3d" /> <TetrahedronSetGeometryAlgorithms name="GeomAlgo" template="Vec3d" /> <Node name="Triangle"> <TriangleSetTopologyContainer name="Container" src="@../"/> <TriangleSetTopologyModifier name="Modifier" /> <TriangleSetTopologyAlgorithms name="TopoAlgo" template="Vec3d" /> <TriangleSetGeometryAlgorithms name="GeomAlgo" template="Vec3d" /> <Tetra2TriangleTopologicalMapping input="@../Container" output="@Container" /> </Node> </Node> </Node> </Node>
If this isn’t what you want, could you please explain the physics simulation you want to achieve?
Best regards,
Hugo
HugoKeymasterHi @masoud,
No worries, this plugin has not been written with consideration to stability. This work only aims at presenting how to create a plugin and write a basic forcefield, thus getting used to the SOFA API. Looking forward to hearing about your next steps with SOFA!
Never hesitate to use the forum or talk about your SOFA work on the social media!
Best
Hugo
HugoKeymasterDear @okoshko,
No worries, we’re all the noob of someone else!
I am not sure to understand what you mean.
When you write about 3D scan, I guess you mean 3D scanning surface of a body part for your movement simulation. Correct?In this case, you don’t need the Geomagic plugin: this plugin is used to interface a Geomagic device (stylus-shape) for haptic force feedback.
Do you have some reference frames moving to create the movement simulation?
What are your data in addition to the polygonal mesh or point cloud?Best wishes,
Hugo
28 August 2018 at 21:20 in reply to: SIG 11 – SIGSEGV: segfault Segmentation fault (core dumped) #11739HugoKeymaster22 August 2018 at 14:08 in reply to: SIG 11 – SIGSEGV: segfault Segmentation fault (core dumped) #11707HugoKeymasterHi Zahra,
Yes have you tried ?
You’re suppose to run cmake again (configure and generate) then recompile.
Keep us updated.Hugo
HugoKeymasterHi Nassim,
Thank you for your interest in SOFA and welcome on the SOFA community!
I studied myself at INSA Lyon, so it’s a pleasure to see colleagues around SOFA and it would be my pleasure to help you.
The Modeler (as stated in other posts like here) is deprecated since v17.12 but still operational in 18.06. It is actually a very old tool that we want to update soon. Therefore it is not supported anymore.
You can find sources of information to start with SOFA:
- follow the online documentation
- watch our first Tutorials on YouTube
- start using SOFA, running the examples/Tutorials
- read a reference paper about SOFA
- browse the SOFA API
All info to get involved is available on the website.
I hope this helps.
Best,Hugo
-
AuthorPosts