summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--log-fourier_integrator.cpp10
-rw-r--r--log_get_energy.cpp10
2 files changed, 16 insertions, 4 deletions
diff --git a/log-fourier_integrator.cpp b/log-fourier_integrator.cpp
index 0a181d0..dc7240a 100644
--- a/log-fourier_integrator.cpp
+++ b/log-fourier_integrator.cpp
@@ -14,6 +14,7 @@ int main(int argc, char* argv[]) {
Real Δτ = 0.1;
Real k = -0.01;
Real logShift = 0;
+ bool shiftSquare = false;
/* Iteration parameters */
Real ε = 1e-15;
@@ -27,7 +28,7 @@ int main(int argc, char* argv[]) {
int opt;
- while ((opt = getopt(argc, argv, "p:s:2:T:t:b:d:k:D:e:0:lg:x:P:h:")) != -1) {
+ while ((opt = getopt(argc, argv, "p:s:2:T:t:b:d:k:D:e:0:lg:x:P:h:S")) != -1) {
switch (opt) {
case 'p':
p = atoi(optarg);
@@ -74,6 +75,9 @@ int main(int argc, char* argv[]) {
case 'l':
loadData = true;
break;
+ case 'S':
+ shiftSquare = true;
+ break;
default:
exit(1);
}
@@ -84,7 +88,9 @@ int main(int argc, char* argv[]) {
Real Γ₀ = 1;
Real μ₀ = τ₀ > 0 ? (sqrt(1+4*Γ₀*τ₀)-1)/(2*τ₀) : Γ₀;
- LogarithmicFourierTransform fft(N, k, Δτ, pad, μ₀ * pow(10, logShift));
+ Real shift = μ₀ * pow(10, logShift);
+ if (shiftSquare) shift *= μ₀;
+ LogarithmicFourierTransform fft(N, k, Δτ, pad, shift);
std::cerr << "Starting, μ₀ = " << μ₀ << ", range " << fft.t(0) << " " << fft.t(N-1) << std::endl;
diff --git a/log_get_energy.cpp b/log_get_energy.cpp
index 6a7be56..549bd21 100644
--- a/log_get_energy.cpp
+++ b/log_get_energy.cpp
@@ -18,6 +18,7 @@ int main(int argc, char* argv[]) {
Real k = 0.1;
unsigned pad = 2;
Real logShift = 0;
+ bool shiftSquare = false;
/* Iteration parameters */
Real β₀ = 0;
@@ -26,7 +27,7 @@ int main(int argc, char* argv[]) {
int opt;
- while ((opt = getopt(argc, argv, "p:s:2:T:t:b:d:k:h:D:0:")) != -1) {
+ while ((opt = getopt(argc, argv, "p:s:2:T:t:b:d:k:h:D:0:S")) != -1) {
switch (opt) {
case 'p':
p = atoi(optarg);
@@ -58,6 +59,9 @@ int main(int argc, char* argv[]) {
case '0':
β₀ = atof(optarg);
break;
+ case 'S':
+ shiftSquare = true;
+ break;
default:
exit(1);
}
@@ -67,7 +71,9 @@ int main(int argc, char* argv[]) {
Real Γ₀ = 1;
Real μ₀ = τ₀ > 0 ? (sqrt(1+4*Γ₀*τ₀)-1)/(2*τ₀) : Γ₀;
- LogarithmicFourierTransform fft(N, k, Δτ, pad, μ₀ * pow(10, logShift));
+ Real shift = μ₀ * pow(10, logShift);
+ if (shiftSquare) shift *= μ₀;
+ LogarithmicFourierTransform fft(N, k, Δτ, pad, shift);
std::vector<Real> C(N);
std::vector<Real> R(N);