summaryrefslogtreecommitdiff
path: root/src/homo_voronoi_fracture.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/homo_voronoi_fracture.c')
-rw-r--r--src/homo_voronoi_fracture.c33
1 files changed, 19 insertions, 14 deletions
diff --git a/src/homo_voronoi_fracture.c b/src/homo_voronoi_fracture.c
index 65a25f8..26ceed4 100644
--- a/src/homo_voronoi_fracture.c
+++ b/src/homo_voronoi_fracture.c
@@ -7,7 +7,7 @@ int main(int argc, char *argv[]) {
// defining variables to be (potentially) set by command line flags
uint8_t filename_len;
- uint64_t N;
+ uint32_t N;
uint_t L;
double beta, inf, cutoff;
bool include_breaking, save_cluster_dist, use_voltage_boundaries, use_dual, save_network,
@@ -63,6 +63,11 @@ int main(int argc, char *argv[]) {
use_voltage_boundaries = true;
boundc2 = 't';
break;
+ case 3:
+ boundary = EMBEDDED_BOUND;
+ boundc2 = 'e';
+ use_dual = true;
+ break;
default:
printf("boundary specifier must be 0 (FREE_BOUND), 1 (CYLINDER_BOUND), or 2 (TORUS_BOUND).\n");
exit(EXIT_FAILURE);
@@ -124,15 +129,15 @@ int main(int argc, char *argv[]) {
}
// define arrays for saving cluster and avalanche distributions
- uint64_t *cluster_size_dist;
- uint64_t *avalanche_size_dist;
+ uint32_t *cluster_size_dist;
+ uint32_t *avalanche_size_dist;
char *c_filename;
char *a_filename;
if (save_cluster_dist) {
cluster_size_dist =
- (uint64_t *)malloc(c_dist_size * sizeof(uint64_t));
+ (uint32_t *)malloc(c_dist_size * sizeof(uint32_t));
avalanche_size_dist =
- (uint64_t *)malloc(a_dist_size * sizeof(uint64_t));
+ (uint32_t *)malloc(a_dist_size * sizeof(uint32_t));
c_filename = (char *)malloc(filename_len * sizeof(char));
a_filename = (char *)malloc(filename_len * sizeof(char));
@@ -143,11 +148,11 @@ int main(int argc, char *argv[]) {
FILE *avalanche_out = fopen(a_filename, "rb");
if (cluster_out != NULL) {
- fread(cluster_size_dist, sizeof(uint64_t), c_dist_size, cluster_out);
+ fread(cluster_size_dist, sizeof(uint32_t), c_dist_size, cluster_out);
fclose(cluster_out);
}
if (avalanche_out != NULL) {
- fread(avalanche_size_dist, sizeof(uint64_t), a_dist_size, avalanche_out);
+ fread(avalanche_size_dist, sizeof(uint32_t), a_dist_size, avalanche_out);
fclose(avalanche_out);
}
}
@@ -163,11 +168,11 @@ int main(int argc, char *argv[]) {
}
// define arrays for saving damage distributions
- uint64_t *damage;
+ uint32_t *damage;
char *d_filename;
if (save_damage) {
damage =
- (uint64_t *)malloc(a_dist_size * sizeof(uint64_t));
+ (uint32_t *)malloc(a_dist_size * sizeof(uint32_t));
d_filename = (char *)malloc(filename_len * sizeof(char));
snprintf(d_filename, filename_len, "damg_v_%c_%c_%d_%g.dat", boundc, boundc2, L, beta);
@@ -175,7 +180,7 @@ int main(int argc, char *argv[]) {
FILE *damage_out = fopen(d_filename, "rb");
if (damage_out != NULL) {
- fread(damage, sizeof(uint64_t), a_dist_size, damage_out);
+ fread(damage, sizeof(uint32_t), a_dist_size, damage_out);
fclose(damage_out);
}
}
@@ -203,7 +208,7 @@ int main(int argc, char *argv[]) {
printf("\n");
- for (uint64_t i = 0; i < N; i++) {
+ for (uint32_t i = 0; i < N; i++) {
printf("\033[F\033[JFRACTURE: %0*d / %d\n", (uint8_t)log10(N) + 1, i + 1, N);
fnet *network = ini_voronoi_network(L, boundary, use_dual, genfunc_hyperuniform, &c);
@@ -340,8 +345,8 @@ int main(int argc, char *argv[]) {
FILE *cluster_out = fopen(c_filename, "wb");
FILE *avalanche_out = fopen(a_filename, "wb");
- fwrite(cluster_size_dist, sizeof(uint64_t), c_dist_size, cluster_out);
- fwrite(avalanche_size_dist, sizeof(uint64_t), a_dist_size, avalanche_out);
+ fwrite(cluster_size_dist, sizeof(uint32_t), c_dist_size, cluster_out);
+ fwrite(avalanche_size_dist, sizeof(uint32_t), a_dist_size, avalanche_out);
fclose(cluster_out);
fclose(avalanche_out);
@@ -374,7 +379,7 @@ int main(int argc, char *argv[]) {
if (save_damage) {
FILE *hdam_file = fopen(d_filename, "wb");
- fwrite(damage, sizeof(uint64_t), a_dist_size, hdam_file);
+ fwrite(damage, sizeof(uint32_t), a_dist_size, hdam_file);
fclose(hdam_file);
free(d_filename);
free(damage);