Forum Replies Created
-
AuthorPosts
-
HugoKeymaster
Hey Keshav,
It is not clear to me what you wish to achieve.
By compiling SOFA, as described in the documentation (build windows), you will end up with an application runSofa.exe allowing you to start any SOFA simulation.Best,
Hugo
HugoKeymasterHey Sisi,
Sorry for the delayed reply!
About export this thread already explains a lot: exporting state. Let me know if this helps.Hugo
HugoKeymasterHey Alex,
Sorry for the delay! Got pretty busy making SOFA a luxury open-source platform!
I did not myself run several simulations in parallel. However, I just asked other devs (one Czech guy that you know) who worked on similar topics for data assimilation. He used Python to generate automatically in one scene as many child node as nb of threads you want. Then, a specific animation loop using pthread is distributing tasks, and each task was actually focusing on one node of the simulation. This work could be shared!
Finally, a multithreading workgroup really started with an active engineer within the research teams. He could be helpful as well!
Best regards,
Hugo
30 May 2017 at 16:03 in reply to: [SOLVED] Issue of error simulating catheter using CatmullRomSplineMapping etc components #9222HugoKeymasterOk xiaojuam, since you opened this new thread for the mapping problem, shall we close this topic ?
Cheers.Hugo
HugoKeymasterHi Lujain,
the wetransfer is not active anymore. could you resend it please?
About pneumoperitoneum, it is due to pression of the thoracic diaphragm on the organs. Different modeling approach were already considered: a (periodic) surface force, sliding constraints / boundary conditions. The choice of the mechanical constitutive law (like an elastic model with co-rotational approach, or any other law) is not related to the pneumoperitoneum.
Best,
Hugo
HugoKeymasterHi Sen,
The method is based on the usual CollisionPipeline of SOFA. There is a broadphase (based on BoundingBoxes), then a Narrow phases detecting collision between the mesh associated to the tool and the cylinder mesh. Finally, if a collision is detected, the TopologicalChangeManager handles a removal of elements.
Cheers,
Hugo
18 May 2017 at 18:29 in reply to: [SOLVED] C++ code in TetrahedralCorotationalFEMForceField.cpp/.h/.inl #9133HugoKeymasterHi Lujain,
This corresponds corresponds to the deformation (Vec3) of the 4 vertices of the tetrahedron. Therefore, the D matrix is 3×4 = 12.
The operation done here aims at removing the displacement due to the rotation (called here “deforme”) from the global displacement.
Hugo
HugoKeymasterHi @fieldr,
Thank your for your detailed post!
I have very few experience with Mac unfortunately, and never saw such an error. Are you sure this is not an IOS issue ?
Could you maybe try compiling without Cuda for now ?Best,
HugoKeymasterYes Pedro sorry it was written in your path.
Any news ?
I don’t get the problem. By running the scene twice worked for me (I am using the master version of SOFA but it should be the same).HugoKeymasterHi Lujain
Could you provide us your mesh and your scene file ?
Your usage of BoxRoi and FixedConstraint looks right.Best
Hugo
18 May 2017 at 17:33 in reply to: [SOLVED] Issue of error simulating catheter using CatmullRomSplineMapping etc components #9129HugoKeymasterHey Zahra,
Indeed @ signs are used to define links between datas.
- “@.” is a link looking for a MechanicalObject in the current node,
- “@..” is a link looking for a MechanicalObject in the (first) parent node.
I hope this clarifies things for you.
Best wishes,Hugo
HugoKeymasterGood! Glad you succeeded!
Do not hesitate to use this forum as much as you want, ask further questions, help others and contribute to SOFA using our GitHub repo!
Looking forward to seeing your achievements.
Good luck!Hugo
16 May 2017 at 10:34 in reply to: [SOLVED] C++ code in TetrahedralCorotationalFEMForceField.cpp/.h/.inl #9123HugoKeymasterHi Lujain
Be careful to use the [code] tag to start and close your code citation.
I did not write it myself but here are some advices.
- First, know that there is a specific plugin in SOFA focused on registration. It would maybe be worth it to try. Feel free to compile and test it!
- The Corotational approach in SOFA is inspired from the work of Felippa. You can find it also explain in these papers:
- Efficient, physically plausible finite elements
- Image-guided Simulation of Heterogeneous Tissue Deformation For Augmented Reality (see equation (2))
The displacement you notice corresponds to Δu in the force calculation: Δf=R^T K Δu.
- About how to write a scene in C++ several posts solved it. Browse the forum of look at the documentation page.
Hope this helps
Hugo
HugoKeymasterHi @boland3
To compile SOFA in Release mode, you should have a CMake configuration option : CMAKE_BUILD_TYPE=Release. A successful compilation would then result in an executable runSofa (and no runSofa_d). You need obviously to activate the Geomagic plugin (but you did it well).
As suggested by Jean-Nicolas, another point is to test the Geomagic device separately using the calibration tools of Geomagic. If you see the tool moving, everything works fine.
Then, finally run the scene applications/plugins/Geomagic/scenes/Geomagic-FEMLiver.scn. Note that:
- all warnings ([WARNING] [MechanicalObject]) come from the debug mode
- by setting the wrong device name you get the error line showed in your previous post #9116 :
[NewOmni] Failed to initialize the device called Default Devicenot
- the output of your post #9095 looks fine
Hope this helps.
Cheers,Hugo
HugoKeymasterwhat version of SOFA are you using?
HugoKeymasterIn the VTKExporter I set :
filename="output.vtu"
it works fine, try running it again.
11 May 2017 at 15:40 in reply to: [SOLVED] Collision detection algorithm and the algorithm to calculate the feedback force. #9110HugoKeymasterHugoKeymasterOk,
If I understand correctly, you would like to simulate grasping of objects with tweezers, right?
Like this:
This is actually a pretty advanced simulation. A simplified simulation could be done with SOFA using constraints as illustrated in my reply. Some research team are working on this topic, but their work is closed-source. Licenses can be proposed.
Best,
Hugo
11 May 2017 at 15:25 in reply to: [SOLVED] Collision detection algorithm and the algorithm to calculate the feedback force. #9106HugoKeymasterHi Sen,
You have an example in the scene applications/plugins/Geomagic/scenes/Geomagic-FEMLiver.scn using a Geomagic haptic device. You will find the following collision pipieline:
<CollisionPipeline name="pipeline" depth="6" verbose="0"/> <BruteForceDetection name="detection" /> <CollisionResponse name="response" response="FrictionContact" /> <LocalMinDistance name="proximity" alarmDistance="0.15" contactDistance="0.05" angleCone="0.0" /> <FreeMotionAnimationLoop/> <LCPConstraintSolver tolerance="0.001" maxIt="1000"/>
and the object on which you wan to have force feedback will be like
<Node name="Instrument" > <EulerImplicitSolver name="ODE solver" rayleighStiffness="0.05" rayleighMass="1.0" /> <CGLinearSolver name="linear solver" iterations="25" tolerance="1e-10" threshold="10e-10" /> <MechanicalObject name="instrumentState" position="@GeomagicDevice.positionDevice" template="Rigid" /> <UniformMass name="mass" totalmass="0.005" /> <LCPForceFeedback activate="true" forceCoef="0.005"/> <!-- ADDED : Compute a force-feedback for the device --> <UncoupledConstraintCorrection/> </Node>
Hope this helps.
Hugo
HugoKeymasterSen,
With so few information, we cannot help.
SOFA is a physics engine, so please ask accurate, clear and detailed questions about simulation, physics and numerical issues.Hugo
HugoKeymasterI actually did not have to set up these directories.
However, CGAL library is evolving fast and most of all, the API is often broken. The SOFA plugin CGALPlugin is compatible up to CGAL4.7 to my best knowledge.Hugo
HugoKeymasterHi Pedro,
what is the version of CGAL you are using?
what is the error/output you get ?11 May 2017 at 13:51 in reply to: How to use the built-in classes or methods of matrix operations in Sofa? #9098HugoKeymasterHi Wong,
This is available in the default type defaulttype::Mat.
You can find examples in a lot of SOFA classes.
Ex: TriangularAnisotropicFEMForceField line 160 and 236#include <sofa/defaulttype/Mat.h> ... defaulttype::Mat<3,3,Real> T, Tinv; ... T.transpose(); Tinv.invert(T);
Cheers,
Hugo
HugoKeymasterHi boland3,
Could you tell us what is the status of your cmake field “CMAKE_BUILD_TYPE” ?
It seems you’re building everything in debug, I never tested the debug mode with Geomagic.Could you try to set at the configuration CMAKE_BUILD_TYPE=Release ? and compile again.
-
AuthorPosts