Skip to main content

KRATOS Multiphysics ("Kratos") is a framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. Kratos is written in C++, and counts with an extensive Python interface.

Project description

DEM Application

This application focuses on the Discrete Element Method (DEM), a particles method for modeling the bulk behavior of granular materials and many geomaterials such as coal, ores, soil, rocks, aggregates, pellets, tablets and powders.

The DEMpack Team at CIMNE is in charge of all developments related to the DEM.

For the coupling between DEM and Fluids, go to the Swimming DEM Application.

For the coupling between DEM and thermal effects, go to the Thermal DEM Application.

Getting started

This application is part of the Kratos Multiphysics Platform. Instructions on how to get you a copy of the project up and running on your local machine for development and testing purposes are available for both Linux and Windows systems.

Prerequisites

Build Kratos and, before that, make sure that you add

-DDEM_APPLICATION=ON

amongst the compilation options, so the DEM application is compiled.

No auxiliar external libraries are needed.

Theory

The DEM is a numerical method that has been applied to simulate and analyze flow behavior in a wide range of disciplines including mechanical and process engineering, pharmaceutical, materials science, agricultural engineering and more. Coupling with fluid is already available through the Swimming-DEM application, also integrated in the Kratos Multiphysics Platform.

The fundamental theoretical background corresponding to the discontinuous (granular matter) part of the code can be found in the DEM literature easily.

Contact laws

The contact laws are implemented in this folder. Note that the letter 'D' or 'd' in the file name stands for 'discontiuum'. It is related to non cohesive or slightly cohesive contacts.

Linear repulsive force

The most simple representation of a repulsive contact force between a sphere and a wall is given by a linear law, where the force acting on the sphere when contacting the wall is a linear function of the indentation, which in turn would bring a quadratic dependence with the contact radius.

Non-Linear repulsive force

Hertz solved in 1882 the non-cohesive normal contact between a sphere and a plane. In 1971 Johnson, Kendall and Roberts presented the solution (JKR-Theory) for the same problem in this case adding cohesive behaviour. Not much later, Derjaguin, Müller and Toporov published similar results (DMT-Theory). Both theories are very close and correct and, while the JKR theory is adequate to the study of flexible, large spheres, the DMT theory is specially suited to represent the behaviour of rigid, small ones.

Numerical approach

The application includes two types of DEM elements used for different purposes:

  • Spheric Particle - Base element used to simulate granular materials (non cohesive or slightly cohesive)
  • Spheric Continuum Particle - With specific build-in variables to simulate fracture in cohesive materials. It can also be understood as a discretization method of the continuum by using spheres.

And has the following easy-to-use capabilities:

  • Interaction with FEM-based walls - Objects that cannot be crossed by DEM spheres. The user can choose to impose Linear-periodic conditions or rigid body conditions.
  • Inlets - Inject new particles while running the simulation linked to some material properties. With user defined granulometry, mass flow and particle type (single particle or clusters). Inlets are based on FEM-based walls and boundary conditions can also be applied to them.
  • Initial conditions on particle elements.
  • Boundary conditions on particle elements.

It also includes several predefined cluster formations to be used.

DEM strategies

Non-cohesive materials strategy

Once contact between two spheres occurs, the forces at the contact point are computed. The interaction between the two contacting spheres can be represented by two forces with the same module but opposite directions. This force F can be decomposed into its normal and shear components Fn and Fs, respectively. The contact interface for the simplest formulation is characterized by the normal and tangential stiffness Kn and Ks, respectively, a frictional device obeying the Couloumb law with a frictional coefficient, and a dashpot defined by a contact damping coefficient.

In order to represent irregular particles with spheres, a numerical correction is used. The rolling friction imposes a virtual moment opposite to particle rotation and dependent on its size.

Continuum materials strategy

For continuum materials simulations, the contact between particles can resist tractions up to a certain limit, when breakage occurs. Depending on the chosen constitutive law, the computation of the forces changes. In the basic versions, a bond strategy is used, but more advanced laws use a non-local stress-tensor based strategy.

DEM integration schemes

The standard translational and rotational equations for the motion of rigid bodies are used to compute the dynamics of the spheres and clusters. The following schemes can be chosen separately for translation and rotation:

  • Symplectic Euler
  • Velocity Verlet
  • Forward Euler
  • Taylor

Also, two rotational specific integration schemes are available:

Contact search

The contact detection basically consists in determining, for every target object, which other objects are in contact with it, and then apply the corresponding interaction. It is usually not needed to perform a search at every time step, which is generally limited by the stability of the explicit integration of the equations of motion. A bins based technique is used for this purpose.

Available interfaces

DEM

This is the package that allows a user to create, run and analyze results of a DEM simulation for discontinuum / granular / little-cohesive materials. Requires GiD - Pre and Post Processing software. It has both 2D and 3D versions. Check the manuals, follow the tutorials or play with the preloaded sample problems in order to learn how this application works.

Cohesive-DEM

This package combines the features of the previous one also with the simulation of continuum/cohesive materials. It also offers the possibility of tackling both 2D and 3D problems. Check also the manuals or tutorials or load the test examples in the GUI in order to learn how this problem type works.

Fluid-DEM

This package allows you to simulate a wide spectrum of problems involving the interaction of granular DEM and fluids. This application has only a 3D version. Check also for existing manuals or tutorials to get a feel of how to work with this application.

Contact

License

The DEM application is OPEN SOURCE. The main code and program structure is available and aimed to grow with the need of any users willing to expand it. The BSD (Berkeley Software Distribution) licence allows to use and distribute the existing code without any restriction, but with the possibility to develop new parts of the code on an open or close basis depending on the developers.

New GIDInterface for Kratos

The new GIDInterface currently under developement can be found here. Based on the customLib, it includes the interfaces for most of the Kratos applications in addition to the new DEM interface.

FAQ

What to do if particles behave strangely

  • Check the Young Modulus. Materials with high stiffness may require smaller time steps to ensure stability.
  • Check the material density.
  • Check the time step. If the time step is too large, the elements can fail to interact with each other. In the worst case scenarios, the simulation may even crash.
  • Check the frequency of neighbours' search. If the search is not done frequently enough, new contacts may not be detected.
  • Check the restitution coefficient of the material. Explicit integration schemes gain energy noticeably unless an enough small time step is used. If the time step is large (but stable), use the restitution coefficient to compensate for the gain of energy to obtain more realistic results.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

KratosDEMApplication-9.2.1-cp310-cp310-win_amd64.whl (1.8 MB view details)

Uploaded CPython 3.10Windows x86-64

KratosDEMApplication-9.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

KratosDEMApplication-9.2.1-cp39-cp39-win_amd64.whl (1.8 MB view details)

Uploaded CPython 3.9Windows x86-64

KratosDEMApplication-9.2.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

KratosDEMApplication-9.2.1-cp38-cp38-win_amd64.whl (1.8 MB view details)

Uploaded CPython 3.8Windows x86-64

KratosDEMApplication-9.2.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

KratosDEMApplication-9.2.1-cp37-cp37m-win_amd64.whl (1.8 MB view details)

Uploaded CPython 3.7mWindows x86-64

KratosDEMApplication-9.2.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ x86-64

KratosDEMApplication-9.2.1-cp36-cp36m-win_amd64.whl (1.8 MB view details)

Uploaded CPython 3.6mWindows x86-64

KratosDEMApplication-9.2.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.6mmanylinux: glibc 2.17+ x86-64

File details

Details for the file KratosDEMApplication-9.2.1-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: KratosDEMApplication-9.2.1-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 1.8 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.63.1 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.11

File hashes

Hashes for KratosDEMApplication-9.2.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 110898073b3369a12132112a4e76bff60a715a6dd469779bedeb973bf6bcf570
MD5 3ce0c91a24f507f43d28c0944f7e1c3d
BLAKE2b-256 c3bd1c485462af561a74e68f53addd9a1ec0824d1c8b1158f6eb133e994d0630

See more details on using hashes here.

File details

Details for the file KratosDEMApplication-9.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

  • Download URL: KratosDEMApplication-9.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 4.0 MB
  • Tags: CPython 3.10, manylinux: glibc 2.17+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.63.1 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.11

File hashes

Hashes for KratosDEMApplication-9.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a6ebe85aa2da2a4b5b9771ae2dad930f0f54044e134aec06c3102c582b7da074
MD5 ba15ed8541f609809226419e47e3b145
BLAKE2b-256 8a8d1148ad61659b77ab6c9922f177b1718695714be7eac50db611f5bbf9550b

See more details on using hashes here.

File details

Details for the file KratosDEMApplication-9.2.1-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: KratosDEMApplication-9.2.1-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 1.8 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.63.1 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.11

File hashes

Hashes for KratosDEMApplication-9.2.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 4e4621379db6fa4cfa13418178e4a577460fabac0c0eaef33a9e856e9f507e9b
MD5 847c5aed15cbe6bcd0ec0cbfc3c36ed2
BLAKE2b-256 6f1658fcfd8fadf8c5e82025d38e59341e48526ea8c7b6d5e029eea93e054cdb

See more details on using hashes here.

File details

Details for the file KratosDEMApplication-9.2.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

  • Download URL: KratosDEMApplication-9.2.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 4.0 MB
  • Tags: CPython 3.9, manylinux: glibc 2.17+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.63.1 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.11

File hashes

Hashes for KratosDEMApplication-9.2.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 55aafe0c88e871bd12fe817e0e647a766228569a79d6a38ff41beb4b47636a76
MD5 9e96c7c37defcf9f7c0f3679deb402bc
BLAKE2b-256 c490580783840e685c2f66c990d83e97ca3f65227c0cf7bf2398ee83a5c15a6f

See more details on using hashes here.

File details

Details for the file KratosDEMApplication-9.2.1-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: KratosDEMApplication-9.2.1-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 1.8 MB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.63.1 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.11

File hashes

Hashes for KratosDEMApplication-9.2.1-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 ebe73e84e3925d14bb56587184b165f9c81cab4fc5dd677e94443b91ecfae7e4
MD5 f24cde57b5f89f0403d190f57b9f5feb
BLAKE2b-256 5ecc0d2bd448ca3e67f0e192ed15e2839276623cf4bf21c75a34c50f6611e0e4

See more details on using hashes here.

File details

Details for the file KratosDEMApplication-9.2.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

  • Download URL: KratosDEMApplication-9.2.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 4.0 MB
  • Tags: CPython 3.8, manylinux: glibc 2.17+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.63.1 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.11

File hashes

Hashes for KratosDEMApplication-9.2.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2d61c436790b8397726edd25fdbcd50d97061d3cb336be1a770a7fea3d88bfaf
MD5 55418ad848e619d6d2ad893802b8d7b0
BLAKE2b-256 e5b7e679a6e2c5208f4113312388bfce9cd2c6e401f8757ad7cd9922f93d7020

See more details on using hashes here.

File details

Details for the file KratosDEMApplication-9.2.1-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: KratosDEMApplication-9.2.1-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 1.8 MB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.63.1 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.11

File hashes

Hashes for KratosDEMApplication-9.2.1-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 4b01727a315fd4ea24c2bc2ec1d7b6522c82db4e39339f91a7ad9b4e7969553b
MD5 3120ee69df9b31a184d3a5695b834c9e
BLAKE2b-256 111b3015dbc8a6120e7587ea317bf9bc244990de1ac6d97529e0a77da22c7645

See more details on using hashes here.

File details

Details for the file KratosDEMApplication-9.2.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

  • Download URL: KratosDEMApplication-9.2.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 4.0 MB
  • Tags: CPython 3.7m, manylinux: glibc 2.17+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.63.1 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.11

File hashes

Hashes for KratosDEMApplication-9.2.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ec1d1ddb68a720ce9af224e073a211eac7710f3e8f8e584592ae4c6f27eee77b
MD5 57d025011f5b943c0b33e74182b7418b
BLAKE2b-256 e2e4dbf1b110247f8d727de5429e2fd3f6537a7846251e661dcafd91836e5d42

See more details on using hashes here.

File details

Details for the file KratosDEMApplication-9.2.1-cp36-cp36m-win_amd64.whl.

File metadata

  • Download URL: KratosDEMApplication-9.2.1-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 1.8 MB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.63.1 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.11

File hashes

Hashes for KratosDEMApplication-9.2.1-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 064d25fbfa5658e24f2452897a55a13feb25a4ac6768515daba5a6cdd0f2e477
MD5 63df83fae4fa4c959f2e0f0e85eace16
BLAKE2b-256 323c24b8d8f4050a9abcb20c3a61e8d09c1b0112a890156ec40b997fe5a97ec2

See more details on using hashes here.

File details

Details for the file KratosDEMApplication-9.2.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

  • Download URL: KratosDEMApplication-9.2.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 4.0 MB
  • Tags: CPython 3.6m, manylinux: glibc 2.17+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.63.1 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.11

File hashes

Hashes for KratosDEMApplication-9.2.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b0d4b2d7e794c2a882e71c01c7f53fcaf60af687214904b55d9d35f5386a2093
MD5 bbc7512628083afad64501dd5effeb0e
BLAKE2b-256 2bcb557c89e7bac338289204edb7b14877bafcad41ded97d4d647ad7429d41e8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page