#include #include #include "collectStokesData.hpp" #include "pcg-cpp/include/pcg_random.hpp" #include "randutils/randutils.hpp" using Rng = randutils::random_generator; int main(int argc, char* argv[]) { // model parameters unsigned N = 10; // number of spins // simulation parameters Real ε = 1e-15; Real δz₀ = 1e-3; unsigned n = 10; bool useMinima = false; bool useSpike = false; int opt; while ((opt = getopt(argc, argv, "N:e:d:n:ms")) != -1) { switch (opt) { case 'N': N = (unsigned)atof(optarg); break; case 'e': ε = atof(optarg); break; case 'd': δz₀ = atof(optarg); break; case 'n': n = atof(optarg); break; case 'm': useMinima = true; break; case 's': useSpike = true; break; default: exit(1); } } Rng r; for (unsigned i = 0; i < n; i++) { auto tag = std::chrono::high_resolution_clock::now(); collectStokesData<3>(std::to_string(tag.time_since_epoch().count()), N, r.engine(), ε, δz₀, useMinima, useSpike, 1.0); } return 0; }