Conversation
Fimache
left a comment
There was a problem hiding this comment.
I verified and tested the changes. Results match the previous version perfectly. The simplification is clean and well-structured.
These questions are to help me properly learn SOFA mechanisms for my upcoming contributions. Thanks in advance!
-
Node ordering in quads
Do the quads from Hexa2QuadTopologicalMapping have the same node ordering as the ones I was building manually? The outward normal (sign) depends on node ordering , is this guaranteed by SOFA convention, or should I verify it? -
Choice of onSimulationInitDoneEvent
Why onSimulationInitDoneEvent rather than another event (e.g., onAnimateBeginEvent)? I understand topology arrays aren't available until after init, but is this a general rule for all SOFA topology data? If forces changed every frame, would I switch to onAnimateBeginEvent? -
@../ reference syntax
@../GridTopology/grid goes up one level in the node tree. For deeper hierarchies, would I use @../../? Is there an absolute syntax (by node name) instead of relative? -
Now that quads comes from SOFA, would upgrading to higher-order quadrature (e.g., 3×3 Gauss points) be straightforward in a future PR?
|
* add 3D MMS validation: Linear * refactor 3D MMS: add utils, params and linear problem * Showcase how to get data from SOFA components and fix RegularGridTopology (#20) * use SOFA components for the nodal force quadrature computation * fix regular grid topology order * Refactor mms_utils_3d * Remove 3d-mms.py from mms_validation --------- Co-authored-by: Themis Skamagkis <70031729+th-skam@users.noreply.github.com>
@Fimache, this is just to show how we can simplify the particular scene using existing SOFA mechanisms. It's a PR on the #16.
You can read the changes in the PR to learn about the concepts.
compute_nodal_forcesfunction can be simplified. This will make it easier for you to have higher-order quadrature rules in your next PRs.RegularGridTopologymust be placed in a node above (I named itGridTopology) and thesolidNode that you have simply references it one level above.Take some time to look at this PR and get back if you have any questions.