You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi all, HexahedronCompositeFEMMapping prints a warning, that the node is using an incorrect solver, even with a direct solver.
[WARNING] [HexahedronCompositeFEMMapping(HexahedronCompositeFEMMapping1)] This object only support Direct Solving but an Indirect Solver in the scene is c
not implemented. This will produce un-expected behavior.
In the component example, no matter if you use the direct or indirect solver, the same warning is printed.
voidapplyJT( const sofa::core::ConstraintParams* /*cparams*/, InDataMatrixDeriv& /*out*/, const OutDataMatrixDeriv& /*in*/) override
{
msg_warning() << "This object only support Direct Solving but an Indirect Solver in the scene is calling method applyJT(constraint) which is not implemented. This will produce un-expected behavior.";
}
Best,
Paul
The text was updated successfully, but these errors were encountered:
I am not sure the message is appropriate. I agree with you that it is not related to the solver. This method is used to project the constraint matrix from a subNode to its parent. If you have constraints in a subNode, it won't work.
The code of this mapping has poor quality. I refresh would be beneficial. But I don't know what it does...
Given the author of the component I would guess that it works... This line has certainly be added through a big refactoring, it is indeed misleading.
From what I understood the mapping is kind of the equivalent to a barycentric mapping but for Hexahedron. I know that it is more difficult to compute them because it is an under constrained problem, there exists an infinit number of way to express a coordinate in term of the 8 points... This does it properly.
Anyway it is quite old, and has a lot of commented code, so while I believe the guy who wrote it knew what he was doing, I cannot say the same about all the cleaning/refactoring done throughout the 16 year after that... To be used with caution.
Hi all,
HexahedronCompositeFEMMapping
prints a warning, that the node is using an incorrect solver, even with a direct solver.[WARNING] [HexahedronCompositeFEMMapping(HexahedronCompositeFEMMapping1)] This object only support Direct Solving but an Indirect Solver in the scene is c not implemented. This will produce un-expected behavior.
In the component example, no matter if you use the direct or indirect solver, the same warning is printed.
https://github.com/sofa-framework/sofa/blob/master/examples/Component/SolidMechanics/FEM/HexahedronCompositeFEMForceFieldAndMass.scn#L38
The warning comes from here, but I do not know enough about the solvers to understand the two variants of
applyJT
.https://github.com/sofa-framework/sofa/blob/master/Sofa/Component/SolidMechanics/FEM/NonUniform/src/sofa/component/solidmechanics/fem/nonuniform/HexahedronCompositeFEMMapping.h#L103-L106
Best,
Paul
The text was updated successfully, but these errors were encountered: