# DEM Application

Msantasusana (Talk | contribs) (→Local Search =) |
Msantasusana (Talk | contribs) (→Local Search =) |
||

Line 110: | Line 110: | ||

f) Solve the contact with local resolution (Figure 2(f)). | f) Solve the contact with local resolution (Figure 2(f)). | ||

− | ==== Local Search | + | ==== Local Search ==== |

Once the possible neighbours are detected, the local resolution check takes place. For the case of two spherical particles, the check is easy; only the sum of the radius has to be compared against the distance between centres. Other geometries may demand a much complicated check. The followed strategy is to mesh all the geometries with a discretization of triangles. In 3D, surface meshes are used for contact detection. Now, the contact detection should be performed between particles and triangles; if no contact is found, particle contact against lines is searched for; and if contact is still not found, contact against points is performed. Figure 3 shows how the local search is performed. Particle i searches contact against element j, then against lines k, l and m and finally against points n, o and p. | Once the possible neighbours are detected, the local resolution check takes place. For the case of two spherical particles, the check is easy; only the sum of the radius has to be compared against the distance between centres. Other geometries may demand a much complicated check. The followed strategy is to mesh all the geometries with a discretization of triangles. In 3D, surface meshes are used for contact detection. Now, the contact detection should be performed between particles and triangles; if no contact is found, particle contact against lines is searched for; and if contact is still not found, contact against points is performed. Figure 3 shows how the local search is performed. Particle i searches contact against element j, then against lines k, l and m and finally against points n, o and p. | ||

This algorithm has some drawbacks and it does not work properly in all situations. The solution adopted to those problems in this work will be presented in section 3. | This algorithm has some drawbacks and it does not work properly in all situations. The solution adopted to those problems in this work will be presented in section 3. | ||

− | + | [[File:Local_search1.png]] | |

Fig. 3 Particle-Face contact detection. | Fig. 3 Particle-Face contact detection. |

## Revision as of 13:31, 14 September 2015

WARNING: This page is still under construction.

The DEM Kratos Team

## Theory

This application solve the the equations.... Mathematical approach to the problems.

Nothing numerical

### Integration Schemes

Forward Euler Scheme

### Contact Laws

Concept of indentation HMD, LSD

##### Normal Force Laws

###### 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 a plane is a linear function of the indentation, which in turn would bring a quadratic dependence with the contact radius. The next figure shows this simple law:

###### Hertzian Repulsive Force

On the other hand, 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, the main difference being that the JKR theory is oriented to the study of flexible, large spheres, while the DMT theory is specially suited to represent the behaviour of rigid, small ones.

The previous figure shows the standard representation of a Linear or Hertzian contact between a sphere and a wall. The distribution of contact pressures between both bodies follow a parabolic law.

###### JKR Cohesive Force

The preceding capture shows the a representation of a JKR contact between a sphere and a wall. In this case, the distribution of pressures between both bodies is more complex due to the formation of a neck at the boundaries of the contact. A later figure shows a detailed view of the pressures involved.

In the previous graphic, it is very interesting to note the existence of two singular values of contact radius: one for which the total forces acting on the contacting sphere is zero, and another for which the maximum value of adhesion is achieved.

In the previous figure, the blue area represents the distribution of pressures acting on the sphere when contacting a wall if a Hertzian Law is followed. On the other hand, the sum of both green and blue areas represents the JKR distribution. Note the larger values and the existence of adhesive behaviour at both sides of the pressures distribution.

An example of granular simulation without cohesive forces:

The same simulation as before, this time with cohesive forces in both sphere-sphere and sphere-plane contacts.

References:

V. L. Popov. *Contact Mechanics and Friction* (2010).

##### Tangential Force Laws

##### Damping Force Laws

(restit. coef)

## Numerical approach (implementation)

Structure of the code (Strategy, Scheme, Element, Node, Utilities, functions frequently used like FastGet,...)

### DEM strategies

##### Non-cohesive materials Strategy

##### Continuum Strategy

### Search Strategies

The contact search is a very important part of the method in terms of computational cost (range 60%-90% of simulation time in simulations with large number of particles) and it is possibly the most difficult part to treat when dealing with particles that have no spherical/circular shape.

The contact detection basically consists in determining, for every target object, what other objects are in contact with, and then, judge for the correspondent interaction. It is usually not needed to perform a search every time step, which is generally limited for the stability of the explicit integration of the equations of motion. Due to the fact that the search is an expensive step a lower search frequency can be selected without much loss of accuracy.

The most naïve method of search that can be set is the brute search; for every element, the method does a loop for any other element checking for the contact. The order of the number of operations needed is quadratic: n2. Normally, the strategy to avoid such an expensive scheme is to divide the contact search in two basic stages, a global search and a subsequent local resolution of the contact; in this case the computation time of the contact search is proportional to n log n. In the DEMApplication a Grid/Cell based algorithm is used in this purpose.

#### Global Search

In a generic way, there are two types of elements: searcher elements (particles) and target elements (particles or finite elements). Hereafter searcher elements will be called S.E. and target elements T.E.

The steps needed to perform contact search are:

a) Build bounding box of S.E. (Figure 2(a)). b) Build bins cells based on size and position of S.E. (Figure 2(b)). c) Collocate S.E. in bins and construct hash table with relates coordinates with cells which point to the contacting S.E. (Figure 2(c)). d) Build bounding box of T.E. (Figure 2(d)). e) Loop over T.E., detect the intersecting cells to each T.E., check the intersection with the possible found cells and add the entire S.E. contained in the cells intersected by each T.E. (Figure 2(e)). f) Solve the contact with local resolution (Figure 2(f)).

#### Local Search

Once the possible neighbours are detected, the local resolution check takes place. For the case of two spherical particles, the check is easy; only the sum of the radius has to be compared against the distance between centres. Other geometries may demand a much complicated check. The followed strategy is to mesh all the geometries with a discretization of triangles. In 3D, surface meshes are used for contact detection. Now, the contact detection should be performed between particles and triangles; if no contact is found, particle contact against lines is searched for; and if contact is still not found, contact against points is performed. Figure 3 shows how the local search is performed. Particle i searches contact against element j, then against lines k, l and m and finally against points n, o and p.

This algorithm has some drawbacks and it does not work properly in all situations. The solution adopted to those problems in this work will be presented in section 3.

Fig. 3 Particle-Face contact detection.

Changes in the Finite Element Method After contact detection, force applied from particles to finite elements is calculated and transferred to the nodes via a weighting algorithm. To adequately couple both methods, a finite element explicit solution strategy is the best choice, as a explicit strategy is being used for discrete element calculation. For the finite elements solution, Rayleigh damping is commonly used [Santasusana Isach(2013)].

### DEM schemes

### DEM elements

##### Spheric Particle

##### Spheric Continuum Particle

##### Spheric Swimming Particle

## Benchmarks

The DEM Benchmarks consist of a set of 9 simple tests which are run every night and whose object is to make sure both that the application performs correctly and that the code did not break after the daily changes. They are the following:

### Test1: Elastic normal impact of two identical spheres

Check the evolution of the elastic normal contact force between two spheres with time.

If the coefficient of restitution is 1, the module of the initial and final velocities should be the same. Also, by symmetry, velocities should be equal for both spheres.

_

### Test2: Elastic normal impact of a sphere with a rigid plane

Check the evolution of the elastic normal contact force between a sphere and a plane.

If the coefficient of restitution is equal to 1, the module of the initial and final velocity should remain unchanged.

_

### Test3: Normal contact with different restitution coefficients

Check the effect of different restitution coefficients on the damping ratio.

If total energy is conserved, the restitution coefficient and the damping ratio values should be identical.

_

### Test4: Oblique impact of a sphere with a rigid plane with a constant resultant velocity but at different incident angles

Check the tangential restitution coefficient, final angular velocity and rebound angle of the sphere.

_

### Test5: Oblique impact of a sphere with a rigid plane with a constant normal velocity but at different tangential velocities

Check the final linear and angular velocities of the sphere.

_

### Test6: Impact of a sphere with a rigid plane with a constant normal velocity but at different angular velocities

Check the final linear and angular velocities of the sphere.

_

### Test7: Impact of two identical spheres with a constant normal velocity and varying angular velocities

Check the final linear and angular velocities of both spheres.

By symmetry, the tangential final velocity of both spheres should be zero. Additionally, for a coefficient of restitution of 1, there should be no changes in the modules of both linear and angular velocities and their values should conserve symmetry.

_

### Test8: Impact of two differently sized spheres with a constant normal velocity and varying angular velocities

Check the final linear and angular velocities of both spheres.

In this case, it is interesting to note that, the bigger and/or denser sphere 2 is, the more this test resembles the sphere versus plane simulation.

_

### Test9: Impact of two identical spheres with a constant normal velocity and different restitution coefficients

Check the effect of different restitution coefficients on the damping ratio.

If total energy is conserved, the restitution coefficient and the damping ratio values should be identical.

References:

Y.C.Chung, J.Y.Ooi. *Benchmark tests for verifying discrete element modelling codes at particle impact level* (2011).

## How to analyse using the current application

### Pre-Process

GUI's & GiD

##### D-DEMPack

D-DEMPack is the package that allows a user to create, run and analyze results of a DEM simulation for discontinuum / granular / little-cohesive materials. It is written for GiD. So in order to use this package, you should install GiD first.

You can read the D-DEMPack manual or follow the D-DEMPack Tutorials for fast learning on how to use the GUI.

##### C-DEMPack

Continuum / Cohesive

##### F-DEMPack

Fluid coupling

### Post-Process

## Application Dependencies

The Swimming DEM Application depends on the DEM application

### Other Kratos Applications used in current Application

FEM-DEM

## Programming Documentation

The source code is accessible through this site.

## Problems!

#### What to do if the Discrete Elements behave strangely

In the case you notice that some discrete elements cross walls, penetrate in them or simply fly away of the domain at high velocity, check the following points:

In the case of excessive penetration:

**Check that the Young Modulus is big enough**. A small Young Modulus makes the Elements and the walls behave in a very smooth way. Sometimes they are so soft that total penetration and trespass is possible.

**Check the Density of the material**. An excessive density means a big weight and inertia that cannot be stopped by the walls.**Check the Time Step**. If the time step is too big, the Elements can go from one side of the wall to the other with no appearence of a reaction.**Check the frequency of neighbour search**. If the search is not done frequently enough, the new contacts with the walls may not be detected soon enough.

In the case of excessive bounce:

**Check that the Young Modulus is not extremely big**. An exaggerated Young Modulus yields extremely large reactions that can make the Elements bounce too fast in just one time step. Also take into account that the stability of explicit methods depends on the Young Modulus (the higher the modulus, the closer to instability).

**Check the Density of the material**. A very low density means a very small weight and inertia, so any force exerted by other elements or the walls can induce big accelerations on the element.**Check the Time Step**. If the time step is too big, the method gains more energy, and gets closer to instability.**Check the restitution coefficient of the material**. Explicit integration schemes gain energy noticeably, unless you use a really small time step. In case the time step is chosen to be big (but still stable), use the restitution coefficient to compensate the gain of energy and get more realistic results.

## Contact

Contact us for any question regarding this application:

-Miguel Angel Celigueta: maceli@cimne.upc.edu

-Guillermo Casas: gcasas@cimne.upc.edu

-Salva Latorre: latorre@cimne.upc.edu

-Miquel Santasusana: msantasusana@cimne.upc.edu

-Ferran Arrufat: farrufat@cimne.upc.edu