From 2dfc42c3dfe7313af8278233c4091352dd3134d9 Mon Sep 17 00:00:00 2001 From: Bruno Blais Date: Thu, 14 Nov 2024 14:03:23 -0500 Subject: [PATCH] Update: Silo example (#1359) Description The silo examples works just fine. I just fixed some information within the example to make it slightly easier to read and fixed some typos there and there. Comment Reading this example made me realize that the way we manage floating walls is kinda lame, so I have opened an issue #1360 regarding this. Co-authored-by: Laura Prieto Saavedra <40216050+lpsaavedra@users.noreply.github.com> --- doc/source/examples/dem/silo/silo.rst | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/doc/source/examples/dem/silo/silo.rst b/doc/source/examples/dem/silo/silo.rst index 67b14bda38..a540448c6a 100644 --- a/doc/source/examples/dem/silo/silo.rst +++ b/doc/source/examples/dem/silo/silo.rst @@ -2,7 +2,7 @@ Silo ================================== -This example simulates the filling and discharge of particles in a wedge-shaped silo. We set up this simulation according to the experiments of Golshan *et al.* [#golshan2020]_ It is recommended to visit `DEM parameters <../../../parameters/dem/dem.html>`_ for more detailed information on the concepts and physical meanings of the parameters in Lethe-DEM. +This example simulates the filling and discharge of particles in a wedge-shaped silo. We set up this simulation according to the experiments of Golshan *et al.* [#golshan2020]_. It is recommended to visit the `DEM parameters <../../../parameters/dem/dem.html>`_ for more detailed information on the concepts and physical meanings of the parameters. ---------------------------------- @@ -15,17 +15,19 @@ Features ---------------------------- -Files Used in This Example +Files Used in this Example ---------------------------- - Parameter file: ``examples/dem/3d-silo/silo-Golshan.prm`` +- Geometry file: ``examples/dem/3d-silo/silo-Golshan.geo`` +- Mesh file: ``examples/dem/3d-silo/silo-Golshan.msh`` ----------------------- Description of the Case ----------------------- -This simulation consists of two stages: filling (0-4 s) and discharge (4-40 s) of particles. During the filling stage, we use a stopper (floating wall) to keep the inserted particles in the hopper region of the silo. When all the particles are inserted and packed in the hopper, we remove the stopper and particles leave the hopper. +This simulation consists of two stages: filling (0-4 s) and discharge (4-30 s) of particles. During the filling stage, we use a floating wall to keep the inserted particles in the hopper region of the silo. When all the particles are inserted and packed in the hopper, we remove the floating wall and the particles leave the hopper. -------------- @@ -35,7 +37,7 @@ Parameter File Mesh ~~~~~ -Contrary to previous examples, in this example, we use a mesh generated using `Gmsh `_. The Gmsh file (extension .msh) is located inside the example folder. We refine this mesh once by setting ``initial refinement=1`` to ensure that the cells are sufficiently small to enable efficient contact detection. The mesh generated by Gmsh contains diamond cells, which are cells that only share a line with the boundary and not a complete face. ``check diamond cells=true`` enables searching for diamond-shaped boundary cells. Such cells can appear in unstructured grids, but they are detrimental to the stability of DEM simulations. Enabling this option adds these cells to the particle-wall contact search cells and is necessary to ensure stable collisions with the wall in the vicinity of diamond cells. +In this example, we use a mesh generated using `Gmsh `_. We refine this mesh once by setting ``initial refinement = 1`` to ensure that the cells are sufficiently small to enable efficient contact detection. The mesh generated by Gmsh contains diamond cells, which are cells that only share a line with the boundary and not a complete face. ``check diamond cells = true`` enables searching for diamond-shaped boundary cells. Such cells can appear in unstructured grids, but they are detrimental to the stability of DEM simulations. Enabling this option adds these cells to the particle-wall contact search cells and is necessary to ensure stable collisions with the wall in the vicinity of diamond cells. .. code-block:: text @@ -68,7 +70,7 @@ An insertion box is defined inside and on the top of the silo. Lagrangian Physical Properties ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -The total number of particles in this simulation is equal to 132300. Considering the ``inserted number of particles at each time step = 20000``, we expect that all the particles be inserted in 7 insertion steps. +The total number of particles in this simulation is equal to 132300. .. code-block:: text @@ -129,7 +131,7 @@ Simulation Control Restart ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -In this subsection, we specify the checkpointing parameters. Checkpoints are very useful in long simulations. If the simulation breaks, we can continue the simulation from the last written checkpoint. First, we enable checkpointing by setting the ``checkpoint`` parameter to true. Then, we choose a ``filename`` for the checkpoint files and specify the checkpointing ``frequency``. +In this subsection, we specify the checkpointing parameters. Checkpoints are very useful in long simulations. If the simulation breaks, we can continue the simulation from the last written checkpoint. First, we enable checkpointing by setting the ``checkpoint`` parameter to true. Then, we specify the checkpointing ``frequency``. .. code-block:: text @@ -142,11 +144,11 @@ In this subsection, we specify the checkpointing parameters. Checkpoints are ver Floating Walls ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Floating wall is a temporary (its start and end times are defined) flat wall, generally used for holding the particles during the filling and before the discharge stage. +The floating wall is a temporary flat wall (its start and end times are defined) and it is generally used for holding the particles during the filling of particles within the simulation domain. -In this subsection, the information on floating walls is defined. First of all, the total ``number of floating walls`` is specified. Then for each floating wall, we should specify its ``normal vector``, a ``point on the wall``, ``start`` and ``end times``. +In this subsection, the information on the floating walls is defined. First of all, the total ``number of floating walls`` is specified. Then for each floating wall, we specify its ``normal vector``, a ``point on the wall``, ``start time`` and ``end time``. -In this simulation, we need a stopper (floating wall) in the filling stage (0-4 s). Hence, we set ``start time`` and ``end time`` equal to 0 and 4, respectively. The stopper should be in the `xy` plane and be located at the bottom of the silo. We use this information to select the point on the stopper (0, 0, 0) and its normal vector (0, 0, 1). +In this simulation, we need a floating wall in the filling stage (0-4 s). Hence, we set ``start time`` and ``end time`` equal to 0 and 4, respectively. The wall should be in the `xy` plane and be located at the bottom of the silo. We use this information to select the point on the stopper (0, 0, 0) and its normal vector (0, 0, 1). .. code-block:: text