From 03de79b8c5ebcc206e3450dfbc701211d9c254b0 Mon Sep 17 00:00:00 2001 From: pants Date: Fri, 9 Sep 2016 14:33:56 -0400 Subject: more refactoring --- src/net_voltages.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 src/net_voltages.c (limited to 'src/net_voltages.c') diff --git a/src/net_voltages.c b/src/net_voltages.c new file mode 100644 index 0000000..dedf5b2 --- /dev/null +++ b/src/net_voltages.c @@ -0,0 +1,22 @@ + +#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 *voltages = (double *)x->x; + x->x = NULL; + + CHOL_F(free_dense)(&x, c); + + return voltages; +} + -- cgit v1.2.3-70-g09d2