summaryrefslogtreecommitdiff
path: root/get_energy.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'get_energy.cpp')
-rw-r--r--get_energy.cpp15
1 files changed, 9 insertions, 6 deletions
diff --git a/get_energy.cpp b/get_energy.cpp
index b6e835f..c33c04e 100644
--- a/get_energy.cpp
+++ b/get_energy.cpp
@@ -50,12 +50,12 @@ int main(int argc, char* argv[]) {
unsigned n = pow(2, log2n);
- Real Δτ = τₘₐₓ / M_PI / n;
- Real Δω = M_PI / τₘₐₓ;
+ Real Δτ = (1 + τ₀ / 2) * τₘₐₓ / M_PI / n;
+ Real Δω = M_PI / ((1 + τ₀ / 2) * τₘₐₓ);
Real y = y₀;
- FourierTransform fft(n, Δω, Δτ, FFTW_ESTIMATE);
+ FourierTransform fft(n, Δω, Δτ);
std::vector<Real> C(2 * n);
std::vector<Real> R(2 * n);
@@ -63,11 +63,14 @@ int main(int argc, char* argv[]) {
while (y += Δy, y <= yₘₐₓ) {
std::ifstream cfile(fourierFile("C", p, s, λ, τ₀, y, log2n, τₘₐₓ), std::ios::binary);
if (cfile.is_open()) {
- cfile.read((char*)(C.data()), C.size() * sizeof(Real));
+ cfile.read((char*)(C.data()), (C.size() / 2) * sizeof(Real));
cfile.close();
+ for (unsigned i = 1; i < n; i++) {
+ C[2 * n - i] = C[i];
+ }
std::ifstream rfile(fourierFile("R", p, s, λ, τ₀, y, log2n, τₘₐₓ), std::ios::binary);
- rfile.read((char*)(R.data()), R.size() * sizeof(Real));
+ rfile.read((char*)(R.data()), (R.size() / 2) * sizeof(Real));
rfile.close();
Real e = energy(C, R, p, s, λ, y, Δτ);
@@ -75,7 +78,7 @@ int main(int argc, char* argv[]) {
std::vector<Complex> Ct = fft.fourier(C);
std::vector<Complex> Rt = fft.fourier(R);
- Real z = estimateZ(fft, C, Ct, R, Rt, p, s, λ, y);
+ Real z = estimateZ(fft, C, Ct, R, Rt, p, s, λ, τ₀, y);
std::cout << y << " " << e << " " << Ct[0].real() << " " << z << std::endl;
}