From ea268b9240b53eb75973f9ddc672eca0cafa0031 Mon Sep 17 00:00:00 2001 From: Maarten Hodzelmans Date: Fri, 26 Jun 2026 12:16:13 +0200 Subject: [PATCH] Fix error in RK4 coefficients --- src/gsDynamicSolvers/gsDynamicRK4.hpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/gsDynamicSolvers/gsDynamicRK4.hpp b/src/gsDynamicSolvers/gsDynamicRK4.hpp index 93776a3..d6b691a 100644 --- a/src/gsDynamicSolvers/gsDynamicRK4.hpp +++ b/src/gsDynamicSolvers/gsDynamicRK4.hpp @@ -69,9 +69,9 @@ gsDynamicRK4::_step_impl(const T t, const T dt, gsVector & U, gsVector k3.bottomRows(N) = Minv * ( R - C * Vtmp); //Step4 (calculate k4) - Utmp = Uold + dt/2. * k3.topRows(N); - Vtmp = Vold + dt/2. * k3.bottomRows(N); - _computeForce(t + dt/2., F); + Utmp = Uold + dt * k3.topRows(N); + Vtmp = Vold + dt * k3.bottomRows(N); + _computeForce(t + dt, F); R = F - K * Utmp; k4.topRows(N) = Vtmp; k4.bottomRows(N) = Minv * ( R - C * Vtmp); @@ -139,9 +139,9 @@ gsDynamicRK4::_step_impl(const T t, const T dt, gsVector & U, gsVector k3.bottomRows(N) = Minv * ( R - C * Vtmp); //Step4 (calculate k4) - Utmp = Uold + dt/2. * k3.topRows(N); - Vtmp = Vold + dt/2. * k3.bottomRows(N); - _computeResidual(Utmp,t + dt/2.,R); + Utmp = Uold + dt * k3.topRows(N); + Vtmp = Vold + dt * k3.bottomRows(N); + _computeResidual(Utmp,t + dt,R); k4.topRows(N) = Vtmp; k4.bottomRows(N) = Minv * ( R - C * Vtmp); @@ -190,4 +190,4 @@ void gsDynamicRK4::_stepOutput(const index_t it, const T resnorm, const T } } -} // namespace gismo \ No newline at end of file +} // namespace gismo