diff --git a/src/scheme/LocalDtHyperelasticSolver.cpp b/src/scheme/LocalDtHyperelasticSolver.cpp index a69082fba1164e05d7a35bc85fd7cd9d4190fe61..f5ec4f12ab7a5214a05b6d36863987ba58214db8 100644 --- a/src/scheme/LocalDtHyperelasticSolver.cpp +++ b/src/scheme/LocalDtHyperelasticSolver.cpp @@ -1026,19 +1026,18 @@ class LocalDtHyperelasticSolverHandler::LocalDtHyperelasticSolver final const DiscreteScalarFunction& eps = E_d - 0.5 * dot(u_d, u_d); const DiscreteTensorFunction& CG_d = new_CG2->get<DiscreteTensorFunction>(); const DiscreteScalarFunction& p = fluid * (gamma - 1) * rho_d * eps; - const DiscreteTensorFunction& sigma_d = - mu / sqrt(det(CG_d)) * (CG_d - I) + lambda / sqrt(det(CG_d)) * log(sqrt(det(CG_d))) * I - p * I; - aL_d = sqrt((lambda + 2 * mu) / rho_d + gamma * p / rho_d); - aT_d = sqrt(mu / rho_d); + const DiscreteTensorFunction& sigma_d = mu / sqrt(det(CG_d)) * (CG_d - I) + lambda / sqrt(det(CG_d)) * log(sqrt(det(CG_d))) * I - p * I; + const DiscreteScalarFunction& new_aL_d = sqrt((lambda + 2 * mu) / rho_d + gamma * p / rho_d); + const DiscreteScalarFunction& new_aT_d = sqrt(mu / rho_d); const std::shared_ptr<const DiscreteFunctionVariant>& new_sigma2 = std::make_shared<const DiscreteFunctionVariant>(sigma_d); const std::shared_ptr<const DiscreteFunctionVariant>& new_c = - std::make_shared<const DiscreteFunctionVariant>(aL_d + aT_d); + std::make_shared<const DiscreteFunctionVariant>(new_aL_d + new_aT_d); const std::shared_ptr<const DiscreteFunctionVariant>& new_aL2 = - std::make_shared<const DiscreteFunctionVariant>(aL_d); + std::make_shared<const DiscreteFunctionVariant>(new_aL_d); const std::shared_ptr<const DiscreteFunctionVariant>& new_aT2 = - std::make_shared<const DiscreteFunctionVariant>(aT_d); + std::make_shared<const DiscreteFunctionVariant>(new_aT_d); dt2 = 0.4 * hyperelastic_dt(new_c); if(sum_dt + dt2 > dt1){