diff --git a/src/language/modules/SchemeModule.cpp b/src/language/modules/SchemeModule.cpp index d7c8755b05e082df8478d755200123e92fd16101..4b4bdfaa9df4b98f9d3a343d2b991b61292c3280 100644 --- a/src/language/modules/SchemeModule.cpp +++ b/src/language/modules/SchemeModule.cpp @@ -265,7 +265,7 @@ SchemeModule::SchemeModule() )); - this->_addBuiltinFunction("normal-stress", + this->_addBuiltinFunction("normalstress", std::function( [](std::shared_ptr<const IBoundaryDescriptor> boundary, diff --git a/src/scheme/HyperelasticSolver.cpp b/src/scheme/HyperelasticSolver.cpp index d72a2655b26885b1510b694d02b03611bc2b8444..5850ba1c204319c4a3f278343576f25d1456ecc3 100644 --- a/src/scheme/HyperelasticSolver.cpp +++ b/src/scheme/HyperelasticSolver.cpp @@ -107,7 +107,7 @@ class HyperelasticSolverHandler::HyperelasticSolver final : public HyperelasticS const double& rhoaT_j = rhoaT[j]; for (size_t r = 0; r < nb_nodes; ++r) { const Rdxd& M = tensorProduct(Cjr(j, r), njr(j, r)); - Ajr(j, r) = rhoaL_j * M + rhoaT_j * (I - M); + Ajr(j, r) = rhoaL_j * M + rhoaT_j * (l2Norm(Cjr(j, r)) * I - M); } }); @@ -158,7 +158,7 @@ class HyperelasticSolverHandler::HyperelasticSolver final : public HyperelasticS for (size_t rl = 0; rl < face_nodes.size(); ++rl) { const size_t R = local_node_number_in_cell(face_nodes[rl]); const Rdxd& M = tensorProduct(Nlr(l, rl), nlr(l, rl)); - Ajr(j, R) += rho_aL * M + rho_aT * (I - M); + Ajr(j, R) += rho_aL * M + rho_aT * (l2Norm(Nlr(l, rl)) * I - M); } } });