tprint critical damping value - sphere - GPU-based 3D discrete element method a… | |
git clone git://src.adamsgaard.dk/sphere | |
Log | |
Files | |
Refs | |
LICENSE | |
--- | |
commit 2f797ca42a01f9ba8b1a0b796f1a2d401fd93cb8 | |
parent 2244613a995b06519bf113d6b2da83275e3e33e6 | |
Author: Anders Damsgaard <[email protected]> | |
Date: Tue, 30 Sep 2014 10:04:23 +0200 | |
print critical damping value | |
Diffstat: | |
M python/halfshear-starter.py | 2 ++ | |
M python/sphere.py | 15 ++++++++++----- | |
2 files changed, 12 insertions(+), 5 deletions(-) | |
--- | |
diff --git a/python/halfshear-starter.py b/python/halfshear-starter.py | |
t@@ -50,6 +50,8 @@ sim.w_devs[0] = sigma0 | |
#sim.w_m[0] = numpy.abs(sigma0*sim.L[0]*sim.L[1]/sim.g[2]) | |
sim.mu_s[0] = 0.5 | |
sim.mu_d[0] = 0.5 | |
+sim.setDampingNormal(0.0) | |
+sim.setDampingTangential(0.0) | |
# Fix lowermost particles | |
dz = sim.L[2]/sim.num[2] | |
diff --git a/python/sphere.py b/python/sphere.py | |
t@@ -2885,23 +2885,28 @@ class sim: | |
See also: :func:`setDampingTangential(gamma)` | |
''' | |
self.gamma_n[0] = gamma | |
- damping_ratio = gamma/(2.0*numpy.sqrt(self.smallestMass()*self.k_n[0])) | |
+ critical_gamma = 2.0*numpy.sqrt(self.smallestMass()*self.k_n[0]) | |
+ damping_ratio = gamma/critical_gamma | |
if (damping_ratio < 1.0): | |
print('Info: The system is under-dampened (ratio = ' | |
+ str(damping_ratio) | |
- + ') in the normal component. This is ok.') | |
+ + ') in the normal component. Critical damping = ' | |
+ + str(critical_gamma) + '. This is ok.') | |
elif (damping_ratio > 1.0): | |
if over_damping: | |
print('Warning: The system is over-dampened (ratio = ' | |
- + str(damping_ratio) + ') in the normal component.') | |
+ + str(damping_ratio) + ') in the normal component. ' | |
+ + 'Critical damping = ' + str(critical_gamma) + '.') | |
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.') | |
+ + 'if this is what you want. Critical damping = ' | |
+ + str(critical_gamma) + '.') | |
else: | |
print('Warning: The system is critically dampened (ratio = ' | |
- + str(damping_ratio) + ') in the normal component.') | |
+ + str(damping_ratio) + ') in the normal component. ' | |
+ + 'Critical damping = ' + str(critical_gamma) + '.') | |
def setDampingTangential(self, gamma, over_damping=False): | |
''' |