Loading src/cluster/cluster.cpp +33 −0 Original line number Original line Diff line number Diff line Loading @@ -234,6 +234,39 @@ void cluster(const string& config_file, const string& data_file, const string& o sprintf(virtual_line, "%.5lg.\n", sconf->get_particle_radius(gconf)); sprintf(virtual_line, "%.5lg.\n", sconf->get_particle_radius(gconf)); message = "INFO: particle radius is " + (string)virtual_line; message = "INFO: particle radius is " + (string)virtual_line; logger->log(message); logger->log(message); // Overlapping spheres test double tolerance = gconf->tolerance; if (tolerance < 0.0) { tolerance = 0.01 * sconf->get_min_radius(); } int *overlaps = check_overlaps(sconf, gconf, tolerance); if (overlaps[0] != 0) { message = "WARNING: detected limiting separation between spheres!\n"; logger->log(message, LOG_WARN); for (int oi = 0; oi < overlaps[0]; oi++) { int index_0 = overlaps[1 + 2 * oi]; int index_1 = overlaps[2 + 2 * oi]; double overlap = get_overlap(sconf, gconf, index_0 - 1, index_1 - 1); if (overlap > 0.0) { message = "INFO: sphere " + to_string(overlaps[index_0]) + " overlaps with sphere " + to_string(overlaps[index_1]) + "\n"; logger->log(message); sprintf( virtual_line, "INFO: overlap is %.5lg (tolerance is %.5lg)\n", overlap, tolerance ); message = (string)virtual_line; logger->log(message); if (tolerance == 0.0 || overlap > tolerance) { message = "ERROR: sphere overlap above tolerance limit!\n"; logger->err(message); throw(UnrecognizedConfigurationException(message)); } // tolerance == 0 || overlap > tolerance } // ovelrap > 0 } // oi loop } // overlaps[0] != 0 delete[] overlaps; // Memory requirements test // Memory requirements test long cid_size_bytes = ClusterIterationData::get_size(gconf, sconf); long cid_size_bytes = ClusterIterationData::get_size(gconf, sconf); double cid_size_gb = cid_size_bytes / 1024.0 / 1024.0 / 1024.0; double cid_size_gb = cid_size_bytes / 1024.0 / 1024.0 / 1024.0; Loading src/inclusion/inclusion.cpp +33 −0 Original line number Original line Diff line number Diff line Loading @@ -234,6 +234,39 @@ void inclusion(const string& config_file, const string& data_file, const string& sprintf(virtual_line, "%.5lg.\n", sconf->get_particle_radius(gconf)); sprintf(virtual_line, "%.5lg.\n", sconf->get_particle_radius(gconf)); message = "INFO: particle radius is " + (string)virtual_line; message = "INFO: particle radius is " + (string)virtual_line; logger->log(message); logger->log(message); // Overlapping spheres test double tolerance = gconf->tolerance; if (tolerance < 0.0) { tolerance = 0.01 * sconf->get_min_radius(); } int *overlaps = check_overlaps(sconf, gconf, tolerance); if (overlaps[0] != 0) { message = "WARNING: detected limiting separation between spheres!\n"; logger->log(message, LOG_WARN); for (int oi = 0; oi < overlaps[0]; oi++) { int index_0 = overlaps[1 + 2 * oi]; int index_1 = overlaps[2 + 2 * oi]; double overlap = get_overlap(sconf, gconf, index_0 - 1, index_1 - 1); if (overlap > 0.0) { message = "INFO: sphere " + to_string(overlaps[index_0]) + " overlaps with sphere " + to_string(overlaps[index_1]) + "\n"; logger->log(message); sprintf( virtual_line, "INFO: overlap is %.5lg (tolerance is %.5lg)\n", overlap, tolerance ); message = (string)virtual_line; logger->log(message); if (tolerance == 0.0 || overlap > tolerance) { message = "ERROR: sphere overlap above tolerance limit!\n"; logger->err(message); throw(UnrecognizedConfigurationException(message)); } // tolerance == 0 || overlap > tolerance } // ovelrap > 0 } // oi loop } // overlaps[0] != 0 delete[] overlaps; // Memory requirements test // Memory requirements test long cid_size_bytes = InclusionIterationData::get_size(gconf, sconf); long cid_size_bytes = InclusionIterationData::get_size(gconf, sconf); double cid_size_gb = cid_size_bytes / 1024.0 / 1024.0 / 1024.0; double cid_size_gb = cid_size_bytes / 1024.0 / 1024.0 / 1024.0; Loading Loading
src/cluster/cluster.cpp +33 −0 Original line number Original line Diff line number Diff line Loading @@ -234,6 +234,39 @@ void cluster(const string& config_file, const string& data_file, const string& o sprintf(virtual_line, "%.5lg.\n", sconf->get_particle_radius(gconf)); sprintf(virtual_line, "%.5lg.\n", sconf->get_particle_radius(gconf)); message = "INFO: particle radius is " + (string)virtual_line; message = "INFO: particle radius is " + (string)virtual_line; logger->log(message); logger->log(message); // Overlapping spheres test double tolerance = gconf->tolerance; if (tolerance < 0.0) { tolerance = 0.01 * sconf->get_min_radius(); } int *overlaps = check_overlaps(sconf, gconf, tolerance); if (overlaps[0] != 0) { message = "WARNING: detected limiting separation between spheres!\n"; logger->log(message, LOG_WARN); for (int oi = 0; oi < overlaps[0]; oi++) { int index_0 = overlaps[1 + 2 * oi]; int index_1 = overlaps[2 + 2 * oi]; double overlap = get_overlap(sconf, gconf, index_0 - 1, index_1 - 1); if (overlap > 0.0) { message = "INFO: sphere " + to_string(overlaps[index_0]) + " overlaps with sphere " + to_string(overlaps[index_1]) + "\n"; logger->log(message); sprintf( virtual_line, "INFO: overlap is %.5lg (tolerance is %.5lg)\n", overlap, tolerance ); message = (string)virtual_line; logger->log(message); if (tolerance == 0.0 || overlap > tolerance) { message = "ERROR: sphere overlap above tolerance limit!\n"; logger->err(message); throw(UnrecognizedConfigurationException(message)); } // tolerance == 0 || overlap > tolerance } // ovelrap > 0 } // oi loop } // overlaps[0] != 0 delete[] overlaps; // Memory requirements test // Memory requirements test long cid_size_bytes = ClusterIterationData::get_size(gconf, sconf); long cid_size_bytes = ClusterIterationData::get_size(gconf, sconf); double cid_size_gb = cid_size_bytes / 1024.0 / 1024.0 / 1024.0; double cid_size_gb = cid_size_bytes / 1024.0 / 1024.0 / 1024.0; Loading
src/inclusion/inclusion.cpp +33 −0 Original line number Original line Diff line number Diff line Loading @@ -234,6 +234,39 @@ void inclusion(const string& config_file, const string& data_file, const string& sprintf(virtual_line, "%.5lg.\n", sconf->get_particle_radius(gconf)); sprintf(virtual_line, "%.5lg.\n", sconf->get_particle_radius(gconf)); message = "INFO: particle radius is " + (string)virtual_line; message = "INFO: particle radius is " + (string)virtual_line; logger->log(message); logger->log(message); // Overlapping spheres test double tolerance = gconf->tolerance; if (tolerance < 0.0) { tolerance = 0.01 * sconf->get_min_radius(); } int *overlaps = check_overlaps(sconf, gconf, tolerance); if (overlaps[0] != 0) { message = "WARNING: detected limiting separation between spheres!\n"; logger->log(message, LOG_WARN); for (int oi = 0; oi < overlaps[0]; oi++) { int index_0 = overlaps[1 + 2 * oi]; int index_1 = overlaps[2 + 2 * oi]; double overlap = get_overlap(sconf, gconf, index_0 - 1, index_1 - 1); if (overlap > 0.0) { message = "INFO: sphere " + to_string(overlaps[index_0]) + " overlaps with sphere " + to_string(overlaps[index_1]) + "\n"; logger->log(message); sprintf( virtual_line, "INFO: overlap is %.5lg (tolerance is %.5lg)\n", overlap, tolerance ); message = (string)virtual_line; logger->log(message); if (tolerance == 0.0 || overlap > tolerance) { message = "ERROR: sphere overlap above tolerance limit!\n"; logger->err(message); throw(UnrecognizedConfigurationException(message)); } // tolerance == 0 || overlap > tolerance } // ovelrap > 0 } // oi loop } // overlaps[0] != 0 delete[] overlaps; // Memory requirements test // Memory requirements test long cid_size_bytes = InclusionIterationData::get_size(gconf, sconf); long cid_size_bytes = InclusionIterationData::get_size(gconf, sconf); double cid_size_gb = cid_size_bytes / 1024.0 / 1024.0 / 1024.0; double cid_size_gb = cid_size_bytes / 1024.0 / 1024.0 / 1024.0; Loading