tadd warning system to avoid over-dampening - sphere - GPU-based 3D discrete el… | |
git clone git://src.adamsgaard.dk/sphere | |
Log | |
Files | |
Refs | |
LICENSE | |
--- | |
commit 2244613a995b06519bf113d6b2da83275e3e33e6 | |
parent c53a170cfe0eea60355d61b90f6b0329a9f18a12 | |
Author: Anders Damsgaard <[email protected]> | |
Date: Tue, 30 Sep 2014 09:41:39 +0200 | |
add warning system to avoid over-dampening | |
Diffstat: | |
M python/sphere.py | 24 ++++++++++++++++++++---- | |
1 file changed, 20 insertions(+), 4 deletions(-) | |
--- | |
diff --git a/python/sphere.py b/python/sphere.py | |
t@@ -2871,7 +2871,7 @@ class sim: | |
# Debonding distance | |
self.db[0] = (1.0 + theta/2.0) * self.V_b**(1.0/3.0) | |
- def setDampingNormal(self, gamma): | |
+ def setDampingNormal(self, gamma, over_damping=False): | |
''' | |
Set the dampening coefficient (gamma) in the normal direction of the | |
particle-particle contact model. The function will print the fraction | |
t@@ -2879,6 +2879,8 @@ class sim: | |
:param gamma: The viscous damping constant [N/(m/s)] | |
:type gamma: float | |
+ :param over_damping: Accept overdampening | |
+ :type over_damping: boolean | |
See also: :func:`setDampingTangential(gamma)` | |
''' | |
t@@ -2889,13 +2891,19 @@ class sim: | |
+ str(damping_ratio) | |
+ ') in the normal component. This is ok.') | |
elif (damping_ratio > 1.0): | |
- print('Warning: The system is over-dampened (ratio = ' | |
+ if over_damping: | |
+ print('Warning: The system is over-dampened (ratio = ' | |
+ str(damping_ratio) + ') in the normal component.') | |
+ else: | |
+ raise Exception('Warning: The system is over-dampened (ratio =… | |
+ + str(damping_ratio) + ') in the normal component.\n' | |
+ + 'Call this function once more with `over_damping=True`… | |
+ + 'if this is what you want.') | |
else: | |
print('Warning: The system is critically dampened (ratio = ' | |
+ str(damping_ratio) + ') in the normal component.') | |
- def setDampingTangential(self, gamma): | |
+ def setDampingTangential(self, gamma, over_damping=False): | |
''' | |
Set the dampening coefficient (gamma) in the tangential direction of t… | |
particle-particle contact model. The function will print the fraction | |
t@@ -2903,6 +2911,8 @@ class sim: | |
:param gamma: The viscous damping constant [N/(m/s)] | |
:type gamma: float | |
+ :param over_damping: Accept overdampening | |
+ :type over_damping: boolean | |
See also: :func:`setDampingNormal(gamma)` | |
''' | |
t@@ -2913,8 +2923,14 @@ class sim: | |
+ str(damping_ratio) | |
+ ') in the tangential component. This is ok.') | |
elif (damping_ratio > 1.0): | |
- print('Warning: The system is over-dampened (ratio = ' | |
+ if over_damping: | |
+ print('Warning: The system is over-dampened (ratio = ' | |
+ str(damping_ratio) + ') in the tangential component.') | |
+ else: | |
+ raise Exception('Warning: The system is over-dampened (ratio =… | |
+ + str(damping_ratio) + ') in the tangential component.\n' | |
+ + 'Call this function once more with `over_damping=True`… | |
+ + 'if this is what you want.') | |
else: | |
print('Warning: The system is critically dampened (ratio = ' | |
+ str(damping_ratio) + ') in the tangential component.') |