From 3ff3bcc3545f04443231c2f3a89edfe5d15859fb Mon Sep 17 00:00:00 2001 From: Jaron Kent-Dobias Date: Mon, 21 Apr 2025 19:09:21 -0300 Subject: Disable increasing γ MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- log-fourier_integrator.cpp | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/log-fourier_integrator.cpp b/log-fourier_integrator.cpp index 750f79d..c30d01d 100644 --- a/log-fourier_integrator.cpp +++ b/log-fourier_integrator.cpp @@ -119,7 +119,6 @@ int main(int argc, char* argv[]) { Real γ = γ₀; Real ΔCmin = 1000; Real ΔCₜ = 100; - unsigned stepsDown = 0; unsigned stepsUp = 0; while (ΔCₜ > ε) { auto [RddfCt, dfCt] = RddfCtdfCt(fft, Cₜ, Rₜ, p, s, λ); @@ -137,17 +136,15 @@ int main(int argc, char* argv[]) { ΔCₜ = 0; for (unsigned i = 0; i < N; i++) { - ΔCₜ += std::norm(Ĉₜ[i] - Ĉₜ₊₁[i]); - ΔCₜ += std::norm(Ȓₜ[i] - Ȓₜ₊₁[i]); + ΔCₜ += std::norm(Cₜ[i] - Cₜ₊₁[i]); + ΔCₜ += std::norm(Rₜ[i] - Rₜ₊₁[i]); } ΔCₜ = sqrt(ΔCₜ) / (2*N); - if (ΔCₜ < ΔCmin) { + if (ΔCₜ < 0.9 * ΔCmin) { ΔCmin = ΔCₜ; stepsUp = 0; - stepsDown++; } else { - stepsDown = 0; stepsUp++; } @@ -157,12 +154,6 @@ int main(int argc, char* argv[]) { ΔCmin = ΔCₜ; } - if (stepsDown > stepsToRespond) { - γ = std::min(2*γ, 1.0); - stepsDown = 0; - ΔCmin = ΔCₜ; - } - for (unsigned i = 0; i < N; i++) { Cₜ[i] += γ * (Cₜ₊₁[i] - Cₜ[i]); Rₜ[i] += γ * (Rₜ₊₁[i] - Rₜ[i]); -- cgit v1.2.3-70-g09d2