summaryrefslogtreecommitdiff
path: root/lib/net_conductivity.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/net_conductivity.c')
-rw-r--r--lib/net_conductivity.c60
1 files changed, 30 insertions, 30 deletions
diff --git a/lib/net_conductivity.c b/lib/net_conductivity.c
index e9325bb..61148da 100644
--- a/lib/net_conductivity.c
+++ b/lib/net_conductivity.c
@@ -2,34 +2,34 @@
#include "fracture.h"
double net_conductivity(const net_t *net, const double *voltages) {
- if (net->voltage_bound) {
- // the voltage drop across the network is fixed to one with voltage
- // boundary conditions, so the conductivity is the total current flowing
- double tot_cur = 0;
- for (uint_t i = 0; i < net->graph->num_spanning_edges; i++) {
- uint_t e = net->graph->spanning_edges[i];
-
- if (!net->fuses[e]) {
- uint_t v1, v2, s1, s2;
- double v1y, v2y;
-
- v1 = net->graph->ev[2 * e];
- v2 = net->graph->ev[2 * e + 1];
-
- v1y = net->graph->vx[2 * v1 + 1];
- v2y = net->graph->vx[2 * v2 + 1];
-
- s1 = v1y < v2y ? v1 : v2;
- s2 = v1y < v2y ? v2 : v1;
-
- tot_cur += voltages[s1] - voltages[s2];
- }
- }
-
- return fabs(tot_cur);
- } else {
- // the current across the network is fixed to one with current boundary
- // conditions, so the conductivity is the inverse of the total voltage drop
- return 1 / fabs(voltages[net->graph->nv] - voltages[net->graph->nv + 1]);
- }
+ if (net->voltage_bound) {
+ // the voltage drop across the network is fixed to one with voltage
+ // boundary conditions, so the conductivity is the total current flowing
+ double tot_cur = 0;
+ for (uint_t i = 0; i < net->graph->num_spanning_edges; i++) {
+ uint_t e = net->graph->spanning_edges[i];
+
+ if (!net->fuses[e]) {
+ uint_t v1, v2, s1, s2;
+ double v1y, v2y;
+
+ v1 = net->graph->ev[2 * e];
+ v2 = net->graph->ev[2 * e + 1];
+
+ v1y = net->graph->vx[2 * v1 + 1];
+ v2y = net->graph->vx[2 * v2 + 1];
+
+ s1 = v1y < v2y ? v1 : v2;
+ s2 = v1y < v2y ? v2 : v1;
+
+ tot_cur += voltages[s1] - voltages[s2];
+ }
+ }
+
+ return fabs(tot_cur);
+ } else {
+ // the current across the network is fixed to one with current boundary
+ // conditions, so the conductivity is the inverse of the total voltage drop
+ return 1 / fabs(voltages[net->graph->nv] - voltages[net->graph->nv + 1]);
+ }
}