#include "sample.hpp" #include #include sample::sample(unsigned n, double a, double beta) { std::string filename = "sample_" + std::to_string(n) + "_" + std::to_string(a) + "_" + std::to_string(beta) + ".dat"; sample_file.open(filename, std::ifstream::app); } sample::sample(unsigned Lx, unsigned Ly, double beta) { std::string filename = "sample_" + std::to_string(Lx) + "_" + std::to_string(Ly) + "_" + std::to_string(beta) + ".dat"; sample_file.open(filename, std::ifstream::app); } sample::~sample() { sample_file.close(); } void sample::pre_fracture(const network& n) { sample_file << "<|"; sample_file << n.G.write(); sample_file << ",\"data\"->{"; } void sample::bond_broken(const network& net, const current_info& cur, unsigned i) { long double c = logl(cur.conductivity[0] / fabs(cur.currents[i])) + net.thresholds[i]; sample_string += "{" + std::to_string(i) + "," + std::to_string(c) + "," + std::to_string(cur.conductivity[0]) + "},"; } void sample::post_fracture(network &n) { sample_string.pop_back(); sample_file << sample_string + "}"; sample_file << "|>\n"; sample_string.clear(); }