diff --git a/NonLinearSolver/nlsolver/nonLinearMechSolver.cpp b/NonLinearSolver/nlsolver/nonLinearMechSolver.cpp index 892db3fc54b2bdb46d20528d28b9f61db1805c22..70a6ae567c61ec33e715335e6ebcac3b996423af 100644 --- a/NonLinearSolver/nlsolver/nonLinearMechSolver.cpp +++ b/NonLinearSolver/nlsolver/nonLinearMechSolver.cpp @@ -3348,6 +3348,14 @@ void nonLinearMechSolver::oneStepPostSolve(const double curtime, const int numst { // copy current to initial state (*_initialState) = (*_currentState); + + if ((_stiffnessModificationMonitoring->quasiNewtonUpdate() and _tangentflag) and + (_systemType == DISP_ELIM or _systemType == DISP_MULT)) + { + Msg::Info("stiffness matrix is reevaluated"); + this->computeStiffMatrix(); + } + this->extractAverageProperties(_tangentflag); if (getDamageToCohesiveJumpFlag() and !_multiscaleFlag){ @@ -10821,7 +10829,6 @@ double nonLinearMechSolver::solveSNL() // write the stress*.msh and disp*.msh files to check // loaded values /* - Msg::Info("Write stress and disp file after loading internal state"); double DT = _timeManager->getTimeStep(); double CURtime = DT+_timeManager->getLastTime(); int NStep = _timeManager->getLastIterationIndex();