summaryrefslogtreecommitdiff
path: root/log-fourier_integrator.cpp
diff options
context:
space:
mode:
authorJaron Kent-Dobias <jaron@kent-dobias.com>2025-04-20 10:35:45 -0300
committerJaron Kent-Dobias <jaron@kent-dobias.com>2025-04-20 10:35:45 -0300
commit6a5015076ede303bdcaa63bee493ce9199d1c8f7 (patch)
tree0c09bb011ee03e5cbb9091db19945b7c551c29bf /log-fourier_integrator.cpp
parent2b4a51568851e562d62349ed11cb13788dfd9c78 (diff)
downloadcode-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.cpp5
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);