From 4c4ebb87ead363d6d6e11a8b95b07a0f93af5c88 Mon Sep 17 00:00:00 2001 From: pants Date: Tue, 6 Sep 2016 15:05:27 -0400 Subject: finished implementing embedded systems, refactored a bunch --- src/fracture.h | 102 ++++++++++++++++++++++++++++----------------------------- 1 file changed, 51 insertions(+), 51 deletions(-) (limited to 'src/fracture.h') diff --git a/src/fracture.h b/src/fracture.h index 93e2ed1..349e59e 100644 --- a/src/fracture.h +++ b/src/fracture.h @@ -37,33 +37,33 @@ typedef enum bound_t { } bound_t; typedef struct { - unsigned int num_edges; - unsigned int num_verts; - unsigned int num_verts_break; - unsigned int num_bounds; - unsigned int *edges_to_verts; - unsigned int *edges_to_verts_break; - unsigned int *verts_to_edges_ind; - unsigned int *verts_to_edges; - unsigned int *bound_inds; - unsigned int *bound_verts; + uint_t ne; + uint_t nv; + uint_t dnv; + uint_t nv_break; + uint_t num_bounds; + uint_t *ev; + uint_t *ev_break; + uint_t *vei; + uint_t *ve; + uint_t *bound_inds; + uint_t *bound_verts; double *vert_coords; double *edge_coords; - unsigned int *dual_edges_to_verts; - unsigned int *dual_verts_to_edges_ind; - unsigned int *dual_verts_to_edges; + uint_t *dev; + uint_t *dvei; + uint_t *dve; double *dual_vert_coords; - unsigned int num_spanning_edges; - unsigned int *spanning_edges; + uint_t num_spanning_edges; + uint_t *spanning_edges; double L; - unsigned int num_dual_verts; - unsigned int break_dim; + uint_t break_dim; cholmod_sparse *voltcurmat; bound_t boundary; -} fnet; +} graph_t; typedef struct { - fnet *network; + graph_t *graph; unsigned int num_remaining_edges; bool *fuses; double inf; @@ -75,14 +75,14 @@ typedef struct { unsigned int num_components; cholmod_sparse *adjacency; bool debug_stop; -} finst; +} net_t; typedef struct { unsigned int num_broken; unsigned int *break_list; double *conductivity; double *extern_field; -} break_data; +} data_t; intptr_t *run_voronoi(unsigned int num_coords, double *coords, bool periodic, double xmin, double xmax, double ymin, double ymax); @@ -91,10 +91,10 @@ int update_components(const cholmod_sparse *laplacian, unsigned int *marks, unsigned int *find_components(const cholmod_sparse *laplacian, unsigned int skip); -cholmod_sparse *gen_adjacency(const finst *instance, bool dual, bool breakv, +cholmod_sparse *gen_adjacency(const net_t *instance, bool dual, bool breakv, unsigned int pad, cholmod_common *c); -cholmod_sparse *gen_laplacian(const finst *instance, cholmod_common *c, +cholmod_sparse *gen_laplacian(const net_t *instance, cholmod_common *c, bool symmetric); int edge_to_verts(unsigned int width, bool periodic, unsigned int edge, @@ -109,20 +109,20 @@ double dual_vert_to_coord(unsigned int width, bool periodic, unsigned int vert, bool update_factor(cholmod_factor *factor, unsigned int v1, unsigned int v2, cholmod_common *c); -break_data *fracture_network(finst *instance, double *fuse_thres, +data_t *fracture_network(net_t *instance, double *fuse_thres, cholmod_common *c, double cutoff); -double *get_current(const finst *instance, cholmod_common *c); -double *get_current_v(const finst *instance, double *voltages, cholmod_common *c); -double *get_voltage(const finst *instance, cholmod_common *c); +double *get_current(const net_t *instance, cholmod_common *c); +double *get_current_v(const net_t *instance, double *voltages, cholmod_common *c); +double *get_voltage(const net_t *instance, cholmod_common *c); double *gen_fuse_thres(unsigned int num_edges, double *edge_coords, double beta, double (*beta_scale)(double, double, double)); -bool gen_crack(finst *instance, double crack_len, double crack_width, +bool gen_crack(net_t *instance, double crack_len, double crack_width, cholmod_common *c); -void update_boundary(finst *instance, const double *avg_field); +void update_boundary(net_t *instance, const double *avg_field); FILE *get_file(const char *prefix, unsigned int width, unsigned int crack, double beta, unsigned int iter, unsigned int num_iter, @@ -134,32 +134,32 @@ double update_beta(double beta, unsigned int width, const double *stress, cholmod_sparse *gen_voltcurmat(unsigned int num_edges, unsigned int num_verts, unsigned int *edges_to_verts, cholmod_common *c); -finst *copy_instance(const finst *instance, cholmod_common *c); +net_t *copy_instance(const net_t *instance, cholmod_common *c); -fnet *ini_square_network(unsigned int width, bound_t boundary, bool side_bounds, +graph_t *ini_square_network(unsigned int width, bound_t boundary, bool side_bounds, cholmod_common *c); -void free_fnet(fnet *network, cholmod_common *c); -void free_instance(finst *instance, cholmod_common *c); +void free_net(graph_t *network, cholmod_common *c); +void free_instance(net_t *instance, cholmod_common *c); -finst *create_instance(fnet *network, double inf, bool voltage_bound, +net_t *create_instance(graph_t *network, double inf, bool voltage_bound, bool startnow, cholmod_common *c); -fnet *ini_voronoi_network(unsigned int L, bound_t boundary, bool use_dual, +graph_t *ini_voronoi_network(unsigned int L, bound_t boundary, bool use_dual, double *(*genfunc)(unsigned int, bound_t, gsl_rng *, unsigned int *), cholmod_common *c); -bool check_instance(const finst *instance, cholmod_common *c); +bool check_instance(const net_t *instance, cholmod_common *c); -bool break_edge(finst *instance, unsigned int edge, cholmod_common *c); +bool break_edge(net_t *instance, unsigned int edge, cholmod_common *c); -void finish_instance(finst *instance, cholmod_common *c); +void finish_instance(net_t *instance, cholmod_common *c); -finst *coursegrain_square(finst *instance, fnet *network_p, cholmod_common *c); +net_t *coursegrain_square(net_t *instance, graph_t *network_p, cholmod_common *c); -unsigned int *get_clusters(finst *instance, cholmod_common *c); +unsigned int *get_clusters(net_t *instance, cholmod_common *c); -unsigned int *get_cluster_dist(finst *instance, cholmod_common *c); +unsigned int *get_cluster_dist(net_t *instance, cholmod_common *c); double *genfunc_uniform(unsigned int L, bound_t boundary, gsl_rng *r, unsigned int *num); double *genfunc_hyperuniform(unsigned int L, bound_t boundary, gsl_rng *r, unsigned int *num); @@ -169,18 +169,18 @@ double beta_scaling_flat(double beta, double x, double y); double beta_scaling_gaus(double beta, double x, double y); double beta_mag(double beta); -unsigned int *dijkstra(fnet *network, unsigned int source); -unsigned int **get_dists(fnet *network); -double *get_corr(finst *instance, unsigned int **dists, cholmod_common *c); +unsigned int *dijkstra(graph_t *network, unsigned int source); +unsigned int **get_dists(graph_t *network); +double *get_corr(net_t *instance, unsigned int **dists, cholmod_common *c); -double *bin_values(fnet *network, unsigned int width, double *values); +double *bin_values(graph_t *network, unsigned int width, double *values); -void voronoi_bound_ini(finst *instance, uint_t L, double crack_len); +void voronoi_bound_ini(net_t *instance, uint_t L, double crack_len); -break_data *alloc_break_data(unsigned int num_edges); -void free_break_data(break_data *data); -void update_break_data(break_data *data, unsigned int last_broke, double strength, double conductivity); +data_t *alloc_break_data(unsigned int num_edges); +void free_break_data(data_t *data); +void update_break_data(data_t *data, unsigned int last_broke, double strength, double conductivity); -double get_conductivity(finst *inst, double *current, cholmod_common *c); +double get_conductivity(net_t *inst, double *current, cholmod_common *c); -void gen_voro_crack(finst *instance, double crack_len, cholmod_common *c); +void gen_voro_crack(net_t *instance, double crack_len, cholmod_common *c); -- cgit v1.2.3-70-g09d2