diff options
Diffstat (limited to 'src/fracture.c')
-rw-r--r-- | src/fracture.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/fracture.c b/src/fracture.c index 79558c2..74ed676 100644 --- a/src/fracture.c +++ b/src/fracture.c @@ -361,7 +361,19 @@ int main(int argc, char *argv[]) { if (save_conductivity) conductivity[i] = data->conductivity[max_pos]; - if (save_damage) damage[max_pos]++; + if (save_damage) { + uint_t num_dead = 0; + double *tmp_voltages = net_voltages(net, &c); + double *tmp_currents = net_currents(net, tmp_voltages, &c); + for (uint_t i = 0; i < g->ne; i++) { + if (!net->fuses[i] && fabs(tmp_currents[i]) < cutoff) { + num_dead++; + } + } + damage[max_pos + num_dead]++; + free(tmp_voltages); + free(tmp_currents); + } if (save_stress_field || save_voltage_field) { double *tmp_voltages = net_voltages(net, &c); |