Forum Replies Created
-
AuthorPosts
-
HugoKeymaster
Hi @agniv
Sorry for the delay of my reply, we have been busy with the SOFA Week. You can find out more about this annual community event on SofaFramework’s YouTube account.
The contribution computed in the
addForce()
function and added in the f vector corresponds to the explicit contribution of the internal forces (due to the mechanical constitutive law). If you are in an implicit scheme, the internal forces contribute to the f vector with both an explicit contribution and an implicit contribution, related to the derivative of the internal force with regards to the degrees of freedom in theaddDForce()
function. More info can be found in the documentation here.Therefore you sentence “the inverse of the resultant of all the forces is the external force needed to cause the same displacement” would be true only in an explicit scenario. Because in implicit, the mechanical model also influences the system matrix A.
If I remember properly you are working in Hybrid team in Rennes. Is this correct?
In case you need a deeper introduction to SOFA, please let me know.Best
Hugo
15 November 2019 at 10:41 in reply to: [SOLVED] Interactive Training System for Interventional Electrocardiology Procedures #14597HugoKeymasterDon’t be worried, this forum must and will never make anyone uncomfortable. It is an open place for any technical and scientific questions regarding SOFA.
Discussion papers can be interesting when it helps people to better understand the framework itself.
15 November 2019 at 10:15 in reply to: [SOLVED] Interactive Training System for Interventional Electrocardiology Procedures #14595HugoKeymasterThe paper describes the Signorini’s law in details. The Coulomb’s law is known for years, the theory and its resolution are given in the paper mentioned in my previous post. Finally, its implementation is in SOFA.
What else would you expect?
What do you actually intend to do with SOFA? Are you stuck any how in your use or implementation?HugoKeymasterHi @jayyang
I am really sorry, I am not at ease with the STL lib. Does this issue ring a bell to you @damien-marchaluniv-lille1-fr ?
Best wishes,Hugo
8 November 2019 at 21:02 in reply to: [SOLVED] Interactive Training System for Interventional Electrocardiology Procedures #14571HugoKeymasterHi Charles
Both cited papers rely on the work entitled “A Gauss-Seidel like algorithm to solve frictional contact problems” involving contact with frictions based on Signorini’s and Coulomb’s laws.
Hugo
HugoKeymasterHi @outtt
Alright.
At the occasion of the SOFA Week 2019, a tutorial session is organized on 20th Nov (morning). I will attend the Model Order Reduction session. Your simulation case could be interesting to test.
Would this be of interest for you?Hugo
HugoKeymasterPS: other topics in the forum cover this “cutting” topic
PS2: when addressing a new topic, do not hesitate to close the previous topic and open a new one !Best wishes
Hugo
HugoKeymasterHi @lucaam86
Cutting belongs to what is called “topological changes”.
The SOFA API permits it: you can have a look at the Carving plugin for instance.You can also take a look at the example scenes located in the folder TopologicalModifiers.
However, volumetric cutting is still work in progress. Indiedevs in the community are working on it, we should soon have impressive videos for this. Stay tuned.
Best,
Hugo
HugoKeymasterCiao @lucaam86
Thank you for all your videos!! you bringing life to this forum!
Do not hesitate your scene file when sharing such a video. It helps others to understand.
But in fact, you understood the problem. The fact is that your interaction with the mouse is done against the collision model (collision spheres inside your grey mesh). The forces due to your mouse actions are applied on these spheres and mapped back to the mechanical model. If you want to be able to “grasp” the grey with the mouse, you need to have the appropriate collision model: either with spheres (sph file) of using. the surface triangles of your current grey mesh.
Let us know if it helps.
BestHugo
3 November 2019 at 16:58 in reply to: [SOLVED] How to determine the source of an stress sigularity? #14519HugoKeymasterHey @charles
Understanding the source of an error is physics simulation is often complex due to the different possible cause of errors, as you explained. Therefore, there is no straightforward answer.
Numerical analysis is one the main key : analyzing the system matrix, the force vectors, the convergence of the solver and the input parameters. We are working at providing tools like easy export of system matrix, which is not allowed yet. Python can be a powerful tool as well for this.
Best
Hugo
3 November 2019 at 16:45 in reply to: New approaches to catheter navigation for interventional radiology simulation #14518HugoKeymasterHi Charles,
Yes I can close it.
Could you share your conclusions? what was the prob?Best wishes,
Hugo
HugoKeymasterGreat @bobiko
Nice job! Let us know and do not hesitate to open a new topic if you have other question or if you struggle in your implementation.
Best
Hugo
HugoKeymasterHi Vlad @bobiko
I am sorry for this late reply. I prepared few weeks ago a reply, but got not published.
Did you solve your issue ?Best,
Hugo
HugoKeymasterAfter modifying templates and others in your code, it now works. I am just missing an Omni to fully test your scene.
I don’t understand what you are doing with the ROIBarycentricMapping since you are coupling both the needle and the brain. Is this on purpose ?
What would be now the next step you would like to achieve based on this scene?
Hugo
HugoKeymasterHi @lucaam86
You can have a look at this topic.
You can easily see in my above-posted image that you also have disconnected tetra: one tetrahedron is falling all alone. Basically, you should consider regenerating a new volumetric mesh.
You can have a look at the CGAL plugin in SOFA.Regarding the FixedConstraint, here are the steps to follow to change the IDs of the fixed nodes/degrees of freedom:
– you can open the MechanicalObject ruling the physics and activate the Visualization option “showIndices”
– choose the indices you want to fix
– add these indices in the field “indices” of the FixedConstraint.I just did a short video highlighting this:
Best,
Hugo
HugoKeymasterHi @ma1991
The first feature to consider is the time step. You need to use a sufficiently small time step so that a solution can be found.
With a highly nonlinear dynamic system, convergence can be difficult to reach, even with a small time step. Especially, if you are doing one Newton step per time step which is the case in most SOFA schemes. Only two schemes allow for defining the number of Newton step in one time step:
– the StaticSolver
– the VariationalSymplecticSolverThe latter should work in your dynamic case.
I hope this helps.
Best wishesHugo
HugoKeymasterYes you can load STL files using the MeshSTLLoader.
ArticulatedSystem works in SOFA but I have very few experience with it.Best
Hugo
HugoKeymasterHi @lucaam86
I run your simulation, here is the video:
I identified several problems:
– your mechanical mesh (blue in the video) seems to have issues: non-manifoldness, single tetra separated from the rest of the mesh
– your fixedConstraint is only on the botton of your mesh, not on the top. Therefore everything fallsCould you explain again what your mesh is representing? What are you looking to simulate?
Best wishes,
Hugo
HugoKeymasterhi @outtt
I am out of the office for meeting partners of the community. I will give a try next week for sure.
BestHugo
HugoKeymasterHi @lucaam86
I would need the same *.obj and *.msh files to run the simulation. Can you share it?
It will allow me to answer your last question regarding parameter values.
BestHugo
HugoKeymasterGreat I will therefore close this topic.
You can open a new one if you have another question.Hugo
HugoKeymasterHi @ma1991
This is a user question for the Paraview forum 😉
Let me help: you can export as a spreadsheet your selection. You can use the PointID given in the first column. This should correspond to the points you selected and specify these indices into the field “indices” of the FixedConstraint.Best wishes
Hugo
HugoKeymasterThank you @bennetcole for your valuable input.
And welcome on the SOFA forum!23 October 2019 at 15:01 in reply to: New approaches to catheter navigation for interventional radiology simulation #14448 -
AuthorPosts