3D discrete element method algorithm with optional fluid coupling, written in CUDA C
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
doc
gnuplot/scripts
output
python
src
tests fix various minor issues related to memory initialization, suggest cl… Sep 7, 2017
.gitignore
CMakeLists.txt
INSTALL.sh
LICENSE.txt
README.rst
conv-png.gp
conv-png.sh
conv.gp
conv.sh Removed conv.sh watch title Mar 19, 2014
demParticles.cpd
run_diagnostics.sh
wc.sh

README.rst

Join the chat at https://gitter.im/anders-dc/sphere

sphere readme

sphere is a 3D discrete element method algorithm utilizing CUDA. sphere allows for optional simulation of two-way coupled fluid flow using the Navier-Stokes or Darcy formulations.

A powerful Nvidia GPU with proper support for double precision floating is highly recommended. sphere has been tested with Nvidia Tesla GPUs, and has successfully been employed on the clusters Grendel (Aarhus University), ICME (Stanford University), Comet (San Diego Supercomputing Center), Bridges (Portland Supercomputing Center), and Stampede (Texas Advanced Supercomputing Center).

License

sphere is licensed under the GNU General Public License, v.3. See LICENSE.txt for more information.

Important release notes

2017-09-07: CUDA 8 comes with new requirements to the host CC/C++ compiler. If GCC5 is not available on the system, run the following command before invoking make:

export CC=$(which clang-3.8) && export CXX=$(which clang++-3.8) && cmake .

2016-08-16: Scale-invariant grain-contact model implemented based on Ergenzinger et al 2010 and Obermayr et al 2013. To use specify a positive Young's modulus with setYoungsModulus(<value>) in the Python module. This overrides any contact stiffnesses specified in k_n and k_t. This command should be used before the timestep length is determined in initTemporal(...).

2016-08-14: Dirichlet and von Neumann horizontal boundary conditions implemented in addition to horizontal periodicity for the Darcian fluid solver.

2015-09-06: A new flux boundary condition has been added to the Darcy fluid solver.

2014-11-05: A Darcy solver has been added as an alternative to the Navier-Stokes solver of the fluid phase. It can be selected with e.g. initFluid(cfd_solver = 1) in the Python module.

2014-07-28: Fluid flow is no longer simulated in a separate program. Use sphere with the command line argument -f or --fluid instead.

2014-07-05: Fluid phase now discretized on a staggered grid which increases accuracy and stability.

2014-03-25: Fluid phase in master branch simulated by the full Navier-Stokes equations.

2014-03-09: The writebin member function of the sim class is now implicitly called when calling the run member function.

2014-03-09: The main sphere class (formerly spherebin) has been renamed to sim.

2014-01-20: Version fingerprints have been added to the input/output binary files, and causes old files to be incompatible with either sphere or sphere.py.

2014-01-25: The description of the installation procedure is moved to the general documentation.

2013-03-13: Sphere has been updated to work with CUDA 5.0 or newer only.

Documentation

See the separate documentation for general reference and installation instructions. The documentation is by default available in the html and pdf formats.

Examples

All examples are visualized using ParaView.

Particle falling through fluid grid

A particle moving downwards through a fluid column causing fluid flow.

Consolidation test

Consolidation test of a particle/fluid assemblage.

Shear test

Shear of a dense particle assemblage. Top left: particles colored by initial positions, top center: particles colored by horizontal velocity, top right: particles colored by pressure. Bottom left: fluid pressures, bottom center: porosities, bottom right: porosity changes.

Publications

sphere has been used to produce results in the following scientific publications and presentations:

  • Damsgaard, A., J. Suckale, J. A. Piotrowski, M. Houssais, M. R. Siegfried, H. A. Fricker (2017), Sediment behavior controls equilibrium width of subglacial channels, Journal of Glaciology, doi:10.1017/jog.2017.71.
  • Damsgaard, A., A. Cabrales-Vargas, J. Suckale, and L. Goren (2017), The coupled dynamics of meltwater percolation and granular deformation in the sediment layer underlying parts of the big ice sheets, Poromechanics VI, doi:10.1061/9780784480779.024.
  • Damsgaard, A., D.L. Egholm, L.H. Beem, S. Tulaczyk, N.K. Larsen, J.A. Piotrowski, and M.R. Siegfried (2016), Ice flow dynamics forced by water pressure variations in subglacial granular beds, Geophysical Research Letters, 43, doi:10.1002/2016GL071579.
  • Damsgaard, A., D.L. Egholm, J.A. Piotrowski, S. Tulaczyk, N.K. Larsen, and C.F. Brædstrup (2015), A new methodology to simulate subglacial deformation of water-saturated granular material, The Cryosphere, 9, 2183-2200, doi:10.5194/tc-9-2183-2015.
  • Damsgaard, A., D.L. Egholm, J.A. Piotrowski, S. Tulaczyk, N.K. Larsen, and C.F. Brædstrup (2014), Numerical modeling of particle-fluid mixtures in a subglacial setting. Poster at Americal Geophysical Union Fall Meeting.
  • Damsgaard, A., D.L. Egholm, J.A. Piotrowski, S. Tulaczyk, N.K. Larsen, and K. Tylmann (2013), Discrete element modeling of subglacial sediment deformation, J. Geophys. Res. Earth Surf., 118, 2230–2242, doi:10.1002/2013JF002830.
  • Damsgaard, A., D.L. Egholm, J.A. Piotrowski, S. Tulaczyk, and N.K. Larsen (2013), Discrete element modeling of subglacial sediment deformation. Talk at American Geophysical Fall Meeting 2013.
  • Damsgaard, A., D.L. Egholm, J.A. Piotrowski, S. Tulaczyk, and N.K. Larsen (2013), Numerical modelling of granular subglacial deformation using the discrete element method. Poster at European Geosciences Union General Assembly 2013.
  • Damsgaard, A., D.L. Egholm, J.A. Piotrowski, and S. Tulaczyk (2012), Discrete element modelling of subglacial sediment deformation. Poster at European Geosciences Union General Assembly 2012.
  • Damsgaard, A., D.L. Egholm, and J.A. Piotrowski (2011), Numerical modelling of sediment deformation by glacial stress. Poster at International Union for Quaternary Research Congress 2011.
  • Damsgaard, A., D.L. Egholm, and J.A. Piotrowski (2011), Numerical modelling of subglacial sediment deformation. Poster at European Geosciences Union General Assembly 2011.

If you use sphere for scientific publications, please get in touch to add your entry to the above list. It would be appreciated if the sphere development is acknowledged by citing one of the above Damsgaard et al. publications.

Author

Anders Damsgaard, andersd@princeton.edu, webpage.