#include #include #include #include #include #include #include #include #include #include #include "analysis_tools.hpp" class ma : public hooks { // need: // - interface for turning on and off specific measurements // private: Graph G; unsigned num; // measurement storage std::vector sn; // non-spanning cluster size distribution std::vector ss; // minimal spanning cluster size distribution std::vector sm; // spanning cluster size distribution std::vector sl; // final avalanche size distribution std::vector sb; // final avalanche size distribution std::vector sd; // final avalanche size distribution std::vector sc; // non-spanning cluster size distribution std::vector sa; // non-final avalanche size distribution std::vector sA; // non-final avalanche size distribution public: long double lv; std::list> avalanches; std::list last_avalanche; std::string model_string; ma(unsigned Lx, unsigned Ly, double beta); ma(unsigned n, double a, unsigned Mx, unsigned My, double beta); ~ma(); void pre_fracture(const network &) override; void bond_broken(const network& net, const current_info& cur, unsigned i) override; void post_fracture(network &n) override; };