From 7ff906b9cd27a44472b40e78e5d595ea41df1482 Mon Sep 17 00:00:00 2001 From: pants Date: Wed, 31 Aug 2016 14:04:55 -0400 Subject: can generate voronoi networks with regular boundaries --- src/homo_voronoi_fracture.c | 33 +++++++++++++++++++-------------- 1 file changed, 19 insertions(+), 14 deletions(-) (limited to 'src/homo_voronoi_fracture.c') 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); -- cgit v1.2.3-70-g09d2