Hi,
When I track your codes about building rigid stiffness matrices (in function FESolidSolver::RigidStiffness), I find that when both node j and node i are attached to some rigid bodies, you only couple the non-rigid degrees of node i to the rigid dofs of node j, but you do not couple the non-rigid degrees of node j to the rigid dofs of node i.
Then I check your implement of sparse matrix (class SkylineMatrix), there is a very strong assumption that the matrix must be symmetric, when you add some value in the matrix you only add to the upper triangular part, so the result is right.
However, I think maybe this is a very dangerous implement but I am not sure there is any other re-check in your implement.
I am a freshman in FEM, so maybe my question is naive
Thanks for your understanding.
Kun
When I track your codes about building rigid stiffness matrices (in function FESolidSolver::RigidStiffness), I find that when both node j and node i are attached to some rigid bodies, you only couple the non-rigid degrees of node i to the rigid dofs of node j, but you do not couple the non-rigid degrees of node j to the rigid dofs of node i.
Then I check your implement of sparse matrix (class SkylineMatrix), there is a very strong assumption that the matrix must be symmetric, when you add some value in the matrix you only add to the upper triangular part, so the result is right.
However, I think maybe this is a very dangerous implement but I am not sure there is any other re-check in your implement.
I am a freshman in FEM, so maybe my question is naive
Thanks for your understanding.
Kun
Comment