Introduction
Introduction Statistics Contact Development Disclaimer Help
tadded capillary model from Richefeu 2008, untested, unused - sphere - GPU-base…
git clone git://src.adamsgaard.dk/sphere
Log
Files
Refs
LICENSE
---
commit f1f2215f38c14179d726466ae0d3790b9bc7011e
parent 42c93360b3a79ad65eb8e72511ccf7b7d677bbf8
Author: Anders Damsgaard <[email protected]>
Date: Mon, 1 Sep 2014 13:21:53 +0200
added capillary model from Richefeu 2008, untested, unused
Diffstat:
M src/cohesion.cuh | 33 +++++++++++++++++++++++++++++…
M src/contactsearch.cuh | 3 ++-
2 files changed, 35 insertions(+), 1 deletion(-)
---
diff --git a/src/cohesion.cuh b/src/cohesion.cuh
t@@ -277,5 +277,38 @@ __device__ void capillaryCohesion_exp(
} // End of capillaryCohesion_exp
+// Capillary cohesion after Richefeu et al. (2008)
+__device__ void capillaryCohesion2_exp(
+ Float3* N,
+ const Float radius_a,
+ const Float radius_b,
+ const Float delta_ab,
+ const Float3 x_ab,
+ const Float x_ab_length,
+ const Float kappa)
+{
+
+ // Normal vector
+ const Float3 n_ab = x_ab/x_ab_length;
+
+ // Determine the ratio; r = max{Ri/Rj;Rj/Ri}
+ Float r;
+ if ((radius_a/radius_b) > (radius_b/radius_a))
+ r = radius_a/radius_b;
+ else
+ r = radius_b/radius_a;
+
+ const Float lambda = 0.9/1.4142135623730951 * pow(devC_params.V_b, 2.0) * …
+ * pow(1.0/radius_a + 1.0/radius_b, 0.5);
+
+ // Calculate cohesional force
+ const Float3 f_c =
+ -kappa * sqrtf(radius_a*radius_b) * expf(-delta_ab/lambda) * n_ab;
+
+ // Add force components from this collision to total force for particle
+ *N += f_c;
+
+}
+
#endif
// vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4
diff --git a/src/contactsearch.cuh b/src/contactsearch.cuh
t@@ -160,7 +160,8 @@ __device__ void findAndProcessContactsInCell(
x_ab, x_ab_length,
delta_ab, kappa);
} else if (delta_ab < devC_params.db) {
- // Check wether particle distance satisfies the capill…
+ // Check wether particle distance satisfies the
+ // capillary bond distance
capillaryCohesion_exp(F, radius_a, radius_b, delta_ab,
x_ab, x_ab_length, kappa);
}
You are viewing proxied material from mx1.adamsgaard.dk. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.