diff options
Diffstat (limited to 'log-fourier_integrator.cpp')
-rw-r--r-- | log-fourier_integrator.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/log-fourier_integrator.cpp b/log-fourier_integrator.cpp index 4490b71..f2a88c2 100644 --- a/log-fourier_integrator.cpp +++ b/log-fourier_integrator.cpp @@ -143,7 +143,7 @@ int main(int argc, char* argv[]) { Real ΔCₜ = 100; Real ΔCₜ₋₁ = 101; while (ΔCₜ > ε) { - auto [RddfCt, dfCt] = RddfCtdfCt(fft, Cₜ, Rₜ, p, s, λ); + auto [Σ, D] = ΣD(fft, Cₜ, Rₜ, β, p, s, λ); std::vector<Complex> Ĉₜ₊₁(N); std::vector<Complex> Ȓₜ₊₁(N); @@ -154,7 +154,7 @@ int main(int argc, char* argv[]) { while (std::abs(C₀ - 1) > ε) { for (unsigned n = 0; n < N; n++) { - Ĉₜ₊₁[n] = ((2 * Γ[n] * std::conj(Ȓₜ[n]) + std::pow(β, 2) * (RddfCt[n] * Ĉₜ[n] + dfCt[n] * std::conj(Ȓₜ[n]))) / (μₜ + II * fft.ν(n))).real(); + Ĉₜ₊₁[n] = (((2 * Γ[n] + D[n]) * std::conj(Ȓₜ[n]) + Σ[n] * Ĉₜ[n]) / (μₜ + II * fft.ν(n))).real(); } C₀ = C0(fft, Ĉₜ₊₁); if (C₀ > 1) { @@ -171,13 +171,13 @@ int main(int argc, char* argv[]) { ΔCₜ = 0; for (unsigned n = 0; n < N; n++) { - ΔCₜ += std::norm((2 * Γ[n] * std::conj(Ȓₜ[n]) + std::pow(β, 2) * (RddfCt[n] * Ĉₜ[n] + dfCt[n] * std::conj(Ȓₜ[n]))) - Ĉₜ[n] * (μₜ + II * fft.ν(n))); - ΔCₜ += std::norm(((Real)1.0 + std::pow(β, 2) * RddfCt[n] * Ȓₜ[n]) - Ȓₜ[n] * (μₜ + II * fft.ν(n))); + ΔCₜ += std::norm(((2 * Γ[n] + D[n]) * std::conj(Ȓₜ[n]) + Σ[n] * Ĉₜ[n]) - Ĉₜ[n] * (μₜ + II * fft.ν(n))); + ΔCₜ += std::norm(((Real)1.0 + Σ[n] * Ȓₜ[n]) - Ȓₜ[n] * (μₜ + II * fft.ν(n))); } ΔCₜ = sqrt(ΔCₜ) / (2*N); for (unsigned n = 0; n < N; n++) { - Ȓₜ₊₁[n] = ((Real)1.0 + std::pow(β, 2) * RddfCt[n] * Ȓₜ[n]) / (μₜ + II * fft.ν(n)); + Ȓₜ₊₁[n] = ((Real)1.0 + Σ[n] * Ȓₜ[n]) / (μₜ + II * fft.ν(n)); } std::vector<Real> Cₜ₊₁ = fft.inverse(Ĉₜ₊₁); |