diff options
author | Jaron Kent-Dobias <jaron@kent-dobias.com> | 2021-11-11 17:13:52 +0100 |
---|---|---|
committer | Jaron Kent-Dobias <jaron@kent-dobias.com> | 2021-11-11 17:13:52 +0100 |
commit | 8c38676379b33ce4e3c80086c6063de12dd1d829 (patch) | |
tree | 73e88fce86109b581834b62172248b801d096541 | |
parent | f51fad699957867c6eff1c4d59390513b594cb8c (diff) | |
download | code-8c38676379b33ce4e3c80086c6063de12dd1d829.tar.gz code-8c38676379b33ce4e3c80086c6063de12dd1d829.tar.bz2 code-8c38676379b33ce4e3c80086c6063de12dd1d829.zip |
New file for stopping at saddles.
-rw-r--r-- | pureStokesFromSaddles.cpp | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/pureStokesFromSaddles.cpp b/pureStokesFromSaddles.cpp new file mode 100644 index 0000000..6516a80 --- /dev/null +++ b/pureStokesFromSaddles.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(), ε, δ, false, 1.0); + } + + return 0; +} |