| tnew wall mass function - sphere - GPU-based 3D discrete element method algorit… | |
| git clone git://src.adamsgaard.dk/sphere | |
| Log | |
| Files | |
| Refs | |
| LICENSE | |
| --- | |
| commit 4208da212cc52b671a382207ec692867a4ba660a | |
| parent f6bc88c372f7e5685903e8911f6e87f4084cca4e | |
| Author: Anders Damsgaard <[email protected]> | |
| Date: Mon, 31 Mar 2014 10:45:05 +0200 | |
| new wall mass function | |
| Diffstat: | |
| M python/sphere.py | 16 +++++++++++----- | |
| 1 file changed, 11 insertions(+), 5 deletions(-) | |
| --- | |
| diff --git a/python/sphere.py b/python/sphere.py | |
| t@@ -2019,9 +2019,14 @@ class sim: | |
| self.w_m = numpy.zeros(1) | |
| self.adjustWall(idx=0, adjust = z_adjust) | |
| - def adjustWall(self, idx, adjust = 1.1): | |
| + def adjustWall(self, idx, adjust = 1.1, wall_mass_factor = 1.0): | |
| ''' | |
| - Adjust grid and dynamic wall to max. particle position | |
| + Adjust grid and dynamic wall to max. particle position. The wall | |
| + thickness will by standard equal the maximum particle diameter. The | |
| + density equals the particle density, and the wall size is equal to the | |
| + width and depth of the simulation domain (`self.L[0]` and `self.L[1]`). | |
| + The total wall mass can be linearly scaled by the `wall_mass_factor` | |
| + parameter. | |
| :param: idx: The wall to adjust. 0 = +z, upper wall (default), 1 = -x, | |
| left wall, 2 = +x, right wall, 3 = -y, front wall, 4 = +y, back | |
| t@@ -2030,6 +2035,7 @@ class sim: | |
| :param z_adjust: Increase the world and grid size by this amount to | |
| allow for wall movement. | |
| :type z_adjust: float | |
| + :param | |
| ''' | |
| if (idx == 0): | |
| t@@ -2054,9 +2060,9 @@ class sim: | |
| self.w_x[idx] = numpy.array([xmax]) | |
| else: | |
| self.w_x[idx] = numpy.array([xmin]) | |
| - self.w_m[idx] = numpy.array([self.rho[0]*self.np*math.pi \ | |
| - *(cellsize/2.0)**3]) | |
| - | |
| + #self.w_m[idx] = numpy.array([self.rho[0]*self.np*math.pi \ | |
| + # *(cellsize/2.0)**3]) | |
| + self.w_m[idx] = numpy.array([self.rho*self.L[0]*self.L[1]*cellsize]) | |
| def consolidate(self, normal_stress = 10e3): | |
| ''' |