diff options
author | Jaron Kent-Dobias <jaron@kent-dobias.com> | 2018-11-01 12:33:37 -0400 |
---|---|---|
committer | Jaron Kent-Dobias <jaron@kent-dobias.com> | 2018-11-01 12:33:37 -0400 |
commit | 07906baa42470bad14d2c40f57967691f6118969 (patch) | |
tree | 416ae624829967861c7c799103b3ff795e9e36b4 /lib/net_voltages.c | |
parent | 8c4c42d81745ea33c31150fe22e834d97e29ede6 (diff) | |
download | fuse_networks-07906baa42470bad14d2c40f57967691f6118969.tar.gz fuse_networks-07906baa42470bad14d2c40f57967691f6118969.tar.bz2 fuse_networks-07906baa42470bad14d2c40f57967691f6118969.zip |
revamped and simplied fracture code with c++
Diffstat (limited to 'lib/net_voltages.c')
-rw-r--r-- | lib/net_voltages.c | 39 |
1 files changed, 0 insertions, 39 deletions
diff --git a/lib/net_voltages.c b/lib/net_voltages.c deleted file mode 100644 index d456a65..0000000 --- a/lib/net_voltages.c +++ /dev/null @@ -1,39 +0,0 @@ - -#include "fracture.h" - -double *net_voltages(const net_t *net, cholmod_common *c) { - cholmod_dense *b = net->boundary_cond; - cholmod_factor *factor = net->factor; - - cholmod_dense *x = CHOL_F(solve)(CHOLMOD_A, factor, b, c); - - if (((double *)x->x)[0] != ((double *)x->x)[0]) { - printf("GET_VOLTAGE: value is NaN\n"); - exit(EXIT_FAILURE); - } - - double *t_voltages = (double *)x->x; - x->x = NULL; - CHOL_F(free_dense)(&x, c); - - const graph_t *g = net->graph; - - if (g->boundary == TORUS_BOUND) { - return t_voltages; - } else if (net->voltage_bound) { - double *voltages = (double *)malloc(g->nv * sizeof(double)); - for (uint_t i = 0; i < g->nv - g->bi[g->nb]; i++) { - voltages[g->nbi[i]] = t_voltages[i]; - } - for (uint_t i = 0; i < 2; i++) { - for (uint_t j = 0; j < g->bi[i + 1] - g->bi[i]; j++) { - voltages[g->b[g->bi[i] + j]] = 1 - i; - } - } - - free(t_voltages); - return voltages; - } else { - return t_voltages; - } -} |