tonly register contacts for enabled grains - granular - granular dynamics simul… | |
git clone git://src.adamsgaard.dk/granular | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit b60ee39cf043b8660bf185e351259f9186c4c331 | |
parent 6bfe4343c4a35003808fb1b3bdf94480a7c7d216 | |
Author: Anders Damsgaard <[email protected]> | |
Date: Wed, 21 Apr 2021 10:32:39 +0200 | |
only register contacts for enabled grains | |
Diffstat: | |
M simulation.c | 21 ++++++++++++++++++--- | |
1 file changed, 18 insertions(+), 3 deletions(-) | |
--- | |
diff --git a/simulation.c b/simulation.c | |
t@@ -121,10 +121,13 @@ sim_check_add_contact(struct simulation *sim, size_t i, … | |
overlap = euclidean_norm(centerdist, 3) | |
- (sim->grains[i].radius + sim->grains[j].radius); | |
- grain_register_contact(&sim->grains[i], j, i, centerdist, overlap); | |
- grain_register_contact(&sim->grains[j], i, j, centerdistinv, overlap); | |
+ if (sim->grains[i].enabled) | |
+ grain_register_contact(&sim->grains[i], j, i, centerdist, over… | |
+ if (sim->grains[j].enabled) | |
+ grain_register_contact(&sim->grains[j], i, j, centerdistinv, o… | |
} | |
+/* TODO: add grid sorting */ | |
void | |
sim_detect_contacts(struct simulation *sim) | |
{ | |
t@@ -137,12 +140,24 @@ sim_detect_contacts(struct simulation *sim) | |
} | |
void | |
+sim_resolve_interactions(struct simulation *sim) | |
+{ | |
+ size_t i; | |
+ int ic; | |
+ | |
+ for (i = 0; i < sim->ng; i++) | |
+ for (ic = 0; ic < MAXCONTACTS; ic++) | |
+ if (sim->grains[i].contacts[ic].active) | |
+ continue; | |
+} | |
+ | |
+void | |
sim_step_time(struct simulation *sim) | |
{ | |
size_t i; | |
sim_detect_contacts(sim); | |
- /* sim_resolve_interactions(sim); */ | |
+ sim_resolve_interactions(sim); | |
for (i = 0; i < sim->ng; i++) | |
grain_temporal_integration(&sim->grains[i], sim->dt); |