summaryrefslogtreecommitdiff
path: root/src/break_data.c
diff options
context:
space:
mode:
authorJaron Kent-Dobias <jkentdobias@g.hmc.edu>2016-08-22 10:11:14 -0400
committerJaron Kent-Dobias <jkentdobias@g.hmc.edu>2016-08-22 10:11:14 -0400
commit2bb0740b68fdb62d45adc00204b3990ca42ade77 (patch)
treea52975e3460da781467ddb70aaa8d76840d01bb4 /src/break_data.c
downloadfuse_networks-2bb0740b68fdb62d45adc00204b3990ca42ade77.tar.gz
fuse_networks-2bb0740b68fdb62d45adc00204b3990ca42ade77.tar.bz2
fuse_networks-2bb0740b68fdb62d45adc00204b3990ca42ade77.zip
started repo again without all the data files gunking the works
Diffstat (limited to 'src/break_data.c')
-rw-r--r--src/break_data.c34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/break_data.c b/src/break_data.c
new file mode 100644
index 0000000..0ce6730
--- /dev/null
+++ b/src/break_data.c
@@ -0,0 +1,34 @@
+
+#include "fracture.h"
+
+break_data *alloc_break_data(unsigned int num_edges) {
+ break_data *data = malloc(1 * sizeof(break_data)); assert(data != NULL);
+
+ data->num_broken = 0;
+
+ data->break_list = (unsigned int *)malloc(num_edges * sizeof(unsigned int));
+ assert(data->break_list != NULL);
+
+ data->extern_field = (double *)malloc(num_edges * sizeof(double));
+ assert(data->extern_field != NULL);
+
+ data->conductivity = (double *)malloc(num_edges * sizeof(double));
+ assert(data->conductivity != NULL);
+
+ return data;
+}
+
+void free_break_data(break_data *data) {
+ free(data->break_list);
+ free(data->extern_field);
+ free(data->conductivity);
+ free(data);
+}
+
+void update_break_data(break_data *data, unsigned int last_broke, double strength, double conductivity) {
+ data->break_list[data->num_broken] = last_broke;
+ data->extern_field[data->num_broken] = strength;
+ data->conductivity[data->num_broken] = conductivity;
+ data->num_broken++;
+}
+