diff options
author | Jaron Kent-Dobias <jaron@kent-dobias.com> | 2021-11-11 17:10:44 +0100 |
---|---|---|
committer | Jaron Kent-Dobias <jaron@kent-dobias.com> | 2021-11-11 17:10:44 +0100 |
commit | f51fad699957867c6eff1c4d59390513b594cb8c (patch) | |
tree | 5f17bc1e989d6b1fc138fa13078da42edfdc59ad /pureStokesFromMinima.cpp | |
parent | 7cb1917be4017da03e96bf946aa976272f5b20b8 (diff) | |
download | code-f51fad699957867c6eff1c4d59390513b594cb8c.tar.gz code-f51fad699957867c6eff1c4d59390513b594cb8c.tar.bz2 code-f51fad699957867c6eff1c4d59390513b594cb8c.zip |
Cleaned up code and algorithmic improvements for data collection.
Diffstat (limited to 'pureStokesFromMinima.cpp')
-rw-r--r-- | pureStokesFromMinima.cpp | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/pureStokesFromMinima.cpp b/pureStokesFromMinima.cpp new file mode 100644 index 0000000..8f815cf --- /dev/null +++ b/pureStokesFromMinima.cpp @@ -0,0 +1,54 @@ +#include <getopt.h> +#include <chrono> +#include <fstream> + +#include "collectStokesData.hpp" + +#include "pcg-cpp/include/pcg_random.hpp" +#include "randutils/randutils.hpp" +#include "unsupported/Eigen/CXX11/src/Tensor/TensorFFT.h" + +#define PSPIN_P 3 +const int p = PSPIN_P; // polynomial degree of Hamiltonian + +using Rng = randutils::random_generator<pcg32>; + +int main(int argc, char* argv[]) { + // model parameters + unsigned N = 10; // number of spins + // simulation parameters + Real ε = 1e-15; + Real δ = 1; + unsigned n = 10; + + int opt; + + while ((opt = getopt(argc, argv, "N:e:d:n:")) != -1) { + switch (opt) { + case 'N': + N = (unsigned)atof(optarg); + break; + case 'e': + ε = atof(optarg); + break; + case 'd': + δ = atof(optarg); + break; + case 'n': + n = atof(optarg); + break; + default: + exit(1); + } + } + + Rng r; + + for (unsigned i = 0; i < n; i++) { + auto tag = std::chrono::high_resolution_clock::now(); + std::ofstream output("stokes_" + std::to_string(tag.time_since_epoch().count()) + ".dat"); + collectStokesData<3>(output, N, r.engine(), ε, δ, true, 1.0); + } + + return 0; +} |