diff options
author | Jaron Kent-Dobias <jaron@kent-dobias.com> | 2025-04-20 10:35:45 -0300 |
---|---|---|
committer | Jaron Kent-Dobias <jaron@kent-dobias.com> | 2025-04-20 10:35:45 -0300 |
commit | 6a5015076ede303bdcaa63bee493ce9199d1c8f7 (patch) | |
tree | 0c09bb011ee03e5cbb9091db19945b7c551c29bf /log-fourier_integrator.cpp | |
parent | 2b4a51568851e562d62349ed11cb13788dfd9c78 (diff) | |
download | code-6a5015076ede303bdcaa63bee493ce9199d1c8f7.tar.gz code-6a5015076ede303bdcaa63bee493ce9199d1c8f7.tar.bz2 code-6a5015076ede303bdcaa63bee493ce9199d1c8f7.zip |
Another iteration tweak
Diffstat (limited to 'log-fourier_integrator.cpp')
-rw-r--r-- | log-fourier_integrator.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/log-fourier_integrator.cpp b/log-fourier_integrator.cpp index e3af989..0805add 100644 --- a/log-fourier_integrator.cpp +++ b/log-fourier_integrator.cpp @@ -103,22 +103,25 @@ int main(int argc, char* argv[]) { std::vector<Complex> RddfCt = fft.fourier(RddfC, false); std::vector<Complex> dfCt = fft.fourier(dfC, true); + std::vector<Complex> Ĉₜ₊₁(N); std::vector<Complex> Ȓₜ₊₁(N); for (unsigned n = 0; n < N; n++) { Ȓₜ₊₁[n] = (1.0 + pow(β, 2) * RddfCt[n] * Ȓₜ[n]) / (μ + 1i * fft.ν(n)); + Ĉₜ₊₁[n] = (2 * Γ₀ * std::conj(Ȓₜ[n]) / (1 + pow(τ₀ * fft.ν(n), 2)) + pow(β, 2) * (RddfCt[n] * Ĉₜ[n] + dfCt[n] * std::conj(Ȓₜ[n]))) / (μ + 1i * fft.ν(n)); } std::vector<Real> Rₜ₊₁ = fft.inverse(Ȓₜ₊₁); + /* for (unsigned n = 0; n < N; n++) { RddfC[n] = Rₜ₊₁[n] * ddf(λ, p, s, Cₜ[n]); } RddfCt = fft.fourier(RddfC, false); - std::vector<Complex> Ĉₜ₊₁(N); for (unsigned n = 0; n < N; n++) { Ĉₜ₊₁[n] = (2 * Γ₀ * std::conj(Ȓₜ₊₁[n]) / (1 + pow(τ₀ * fft.ν(n), 2)) + pow(β, 2) * (RddfCt[n] * Ĉₜ[n] + dfCt[n] * std::conj(Ȓₜ₊₁[n]))) / (μ + 1i * fft.ν(n)); } + */ std::vector<Real> Cₜ₊₁ = fft.inverse(Ĉₜ₊₁); μ *= pow(tanh(Cₜ₊₁[0]-1)+1, 0.05); |