diff options
Diffstat (limited to 'src/perc_meas.cpp')
-rw-r--r-- | src/perc_meas.cpp | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/src/perc_meas.cpp b/src/perc_meas.cpp index 9deda41..8270e1f 100644 --- a/src/perc_meas.cpp +++ b/src/perc_meas.cpp @@ -104,6 +104,40 @@ pm::pm(unsigned n, double a) : } } +pm::pm(unsigned Lx, unsigned Ly) : + G(Lx * Ly / 2), + rank(Lx * Ly / 2), + parent(Lx * Ly / 2), + ds(&rank[0], &parent[0]), + sm(Lx * Ly / 2), + sl(Lx * Ly / 2), + sn(Lx * Ly), + sN(Lx * Ly), + ss(Lx * Ly / 2), + sb(Lx * Ly), + sB(Lx * Ly), + sp(Lx * Ly), + sr(Lx * Ly), + sf(Lx * Ly) +{ + model_string = "percolation_" + std::to_string(Lx) + "_" + std::to_string(Ly) + "_"; + for (std::vector<uint64_t> &x : sn) { + x.resize(Lx * Ly / 2); + } + for (std::vector<uint64_t> &x : sb) { + x.resize(Lx * Ly); + } + for (std::vector<uint64_t> &x : sN) { + x.resize(Lx * Ly / 2); + } + for (std::vector<uint64_t> &x : sB) { + x.resize(Lx * Ly); + } + for (std::vector<uint64_t> &x : sf) { + x.resize(Lx * Ly); + } +} + pm::~pm() { update_distribution_file("sm", sm, model_string); update_distribution_file("sl", sl, model_string); |