summaryrefslogtreecommitdiff
path: root/log-fourier_integrator.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'log-fourier_integrator.cpp')
-rw-r--r--log-fourier_integrator.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/log-fourier_integrator.cpp b/log-fourier_integrator.cpp
index 9bbf554..7ac76b5 100644
--- a/log-fourier_integrator.cpp
+++ b/log-fourier_integrator.cpp
@@ -79,7 +79,7 @@ int main(int argc, char* argv[]) {
LogarithmicFourierTransform fft(N, k, Δτ, 4);
- Real Γ₀ = 1.0;
+ Real Γ₀ = 1;
Real μₜ₋₁ = Γ₀;
if (τ₀ > 0) {
μₜ₋₁ = (sqrt(1+4*Γ₀*τ₀)-1)/(2*τ₀);
@@ -105,7 +105,7 @@ int main(int argc, char* argv[]) {
Rₜ₋₁[n] = exp(-μₜ₋₁ * fft.t(n));
Ĉₜ₋₁[n] = 2 * Γ₀ / (pow(μₜ₋₁, 2) + pow(fft.ν(n), 2)) / (1 + pow(τ₀ * fft.ν(n), 2));
- Ȓₜ₋₁[n] = 1.0 / (μₜ₋₁ + 1i * fft.ν(n));
+ Ȓₜ₋₁[n] = (Real)1.0 / (μₜ₋₁ + II * fft.ν(n));
}
} else {
logFourierLoad(Cₜ₋₁, Rₜ₋₁, Ĉₜ₋₁, Ȓₜ₋₁, p, s, λ, τ₀, β₀, log2n, Δτ, k);
@@ -130,8 +130,8 @@ int main(int argc, char* argv[]) {
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));
+ Ȓₜ₊₁[n] = ((Real)1.0 + std::pow(β, 2) * RddfCt[n] * Ȓₜ[n]) / (μₜ + II * fft.ν(n));
+ Ĉₜ₊₁[n] = (2 * Γ₀ * std::conj(Ȓₜ[n]) / (1 + std::pow(τ₀ * fft.ν(n), 2)) + std::pow(β, 2) * (RddfCt[n] * Ĉₜ[n] + dfCt[n] * std::conj(Ȓₜ[n]))) / (μₜ + II * fft.ν(n));
}
std::vector<Real> Rₜ₊₁ = fft.inverse(Ȓₜ₊₁);
std::vector<Real> Cₜ₊₁ = fft.inverse(Ĉₜ₊₁);
@@ -153,7 +153,7 @@ int main(int argc, char* argv[]) {
}
if (stepsUp > stepsToRespond) {
- γ = std::max(γ/2, 1e-4);
+ γ = std::max(γ/2, (Real)1e-4);
stepsUp = 0;
ΔCmin = ΔCₜ;
}