From 986db1b31432a208daac923a7cfef6260c5a79ed Mon Sep 17 00:00:00 2001 From: Deepak Rangarajan Date: Mon, 3 Mar 2025 11:15:40 -0500 Subject: [PATCH 1/3] New dem options from tangential history MR 1245 --- .../user_guide/inputs/solids_model.rst | 69 +++++++++++-------- 1 file changed, 40 insertions(+), 29 deletions(-) diff --git a/docs/source_docs/user_guide/inputs/solids_model.rst b/docs/source_docs/user_guide/inputs/solids_model.rst index 7b2fc29..a06f37e 100644 --- a/docs/source_docs/user_guide/inputs/solids_model.rst +++ b/docs/source_docs/user_guide/inputs/solids_model.rst @@ -61,35 +61,46 @@ DEM model settings Enabling the DEM solver and specifying model options. -+-------------------------+-------------------------------------------------------------------------+----------+-----------+ -| | Description | Type | Default | -+=========================+=========================================================================+==========+===========+ -| dem.solve | Specified name(s) of the DEM types or None to disable the DEM solver. | String | None | -| | The user defined names are used to specify DEM model inputs. | | | -+-------------------------+-------------------------------------------------------------------------+----------+-----------+ -| dem.friction_coeff.pp | Friction coefficient :: particle to particle collisions [required] | Real | 0 | -+-------------------------+-------------------------------------------------------------------------+----------+-----------+ -| dem.friction_coeff.pw | Friction coefficient :: particle to wall collisions [required] | Real | 0 | -+-------------------------+-------------------------------------------------------------------------+----------+-----------+ -| dem.spring_const.pp | Normal spring constant :: particle to particle collisions [required] | Real | 0 | -+-------------------------+-------------------------------------------------------------------------+----------+-----------+ -| dem.spring_const.pw | Normal spring constant :: particle to wall collisions [required] | Real | 0 | -+-------------------------+-------------------------------------------------------------------------+----------+-----------+ -| dem.spring_tang_fac.pp | Tangential-to-normal spring constant factor :: particle to particle | Real | 0.2857 | -| | collisions | | | -+-------------------------+-------------------------------------------------------------------------+----------+-----------+ -| dem.spring_tang_fac.pw | Tangential-to-normal spring constant factor :: particle to wall | Real | 0.2857 | -| | collisions | | | -+-------------------------+-------------------------------------------------------------------------+----------+-----------+ -| dem.damping_tang_fac.pp | Factor relating the tangential damping coefficient to the normal | Real | 0.5 | -| | damping coefficient :: particle to particle collisions | | | -+-------------------------+-------------------------------------------------------------------------+----------+-----------+ -| dem.damping_tang_fac.pw | Factor relating the tangential damping coefficient to the normal | Real | 0.5 | -| | damping coefficient :: particle to wall collisions | | | -+-------------------------+-------------------------------------------------------------------------+----------+-----------+ -| dem.implicit_drag | Apply fluid-particle drag force by | int | 0 | -| | :ref:`implicit velocity update`. | | | -+-------------------------+-------------------------------------------------------------------------+----------+-----------+ ++-------------------------------+-------------------------------------------------------------------------+----------+-----------+ +| | Description | Type | Default | ++===============================+=========================================================================+==========+===========+ +| dem.solve | Specified name(s) of the DEM types or None to disable the DEM solver. | String | None | +| | The user defined names are used to specify DEM model inputs. | | | ++-------------------------------+-------------------------------------------------------------------------+----------+-----------+ +| dem.friction_coeff.pp | Friction coefficient :: particle to particle collisions [required] | Real | 0 | ++-------------------------------+-------------------------------------------------------------------------+----------+-----------+ +| dem.friction_coeff.pw | Friction coefficient :: particle to wall collisions [required] | Real | 0 | ++-------------------------------+-------------------------------------------------------------------------+----------+-----------+ +| dem.spring_const.pp | Normal spring constant :: particle to particle collisions [required] | Real | 0 | ++-------------------------------+-------------------------------------------------------------------------+----------+-----------+ +| dem.spring_const.pw | Normal spring constant :: particle to wall collisions [required] | Real | 0 | ++-------------------------------+-------------------------------------------------------------------------+----------+-----------+ +| dem.spring_tang_fac.pp | Tangential-to-normal spring constant factor :: particle to particle | Real | 0.2857 | +| | collisions | | | ++-------------------------------+-------------------------------------------------------------------------+----------+-----------+ +| dem.spring_tang_fac.pw | Tangential-to-normal spring constant factor :: particle to wall | Real | 0.2857 | +| | collisions | | | ++-------------------------------+-------------------------------------------------------------------------+----------+-----------+ +| dem.damping_tang_fac.pp | Factor relating the tangential damping coefficient to the normal | Real | 0.5 | +| | damping coefficient :: particle to particle collisions | | | ++-------------------------------+-------------------------------------------------------------------------+----------+-----------+ +| dem.damping_tang_fac.pw | Factor relating the tangential damping coefficient to the normal | Real | 0.5 | +| | damping coefficient :: particle to wall collisions | | | ++-------------------------------+-------------------------------------------------------------------------+----------+-----------+ +| dem.implicit_drag | Apply fluid-particle drag force by | int | 0 | +| | :ref:`implicit velocity update`. | | | ++-------------------------------+-------------------------------------------------------------------------+----------+-----------+ +| dem.tan_history | Include tangential history force in the collision model. When True, | Bool | False | +| | the executable needs to be built with ``-DMFIX_GRANULAR=yes`` | | | ++-------------------------------+-------------------------------------------------------------------------+----------+-----------+ +| dem.tan_history.max_contacts | When tangential history is enabled, the maximum number of contacts | Int | 10 | +| | per particle that are tracked at any point | | | ++-------------------------------+-------------------------------------------------------------------------+----------+-----------+ +| dem.rolling_friction | When tangential history is enabled, the rolling friction model | String | None | +| | to be used. Options are ``None``, ``ModelA`` or ``ModelB`` | | | ++-------------------------------+-------------------------------------------------------------------------+----------+-----------+ +| dem.rolling_friction_coeff | Rolling friction coefficient when using a rolling friction model | Real | 0 | ++-------------------------------+-------------------------------------------------------------------------+----------+-----------+ The following inputs use the DEM type names specified using the `dem.solve` input to define restitution coefficients and -- GitLab From a6803a11c678a50eceb1c0853ea960426e0c9f02 Mon Sep 17 00:00:00 2001 From: Deepak Rangarajan Date: Thu, 6 Mar 2025 13:14:56 -0500 Subject: [PATCH 2/3] remove compiler flag --- docs/source_docs/user_guide/inputs/solids_model.rst | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/docs/source_docs/user_guide/inputs/solids_model.rst b/docs/source_docs/user_guide/inputs/solids_model.rst index a06f37e..017bf6d 100644 --- a/docs/source_docs/user_guide/inputs/solids_model.rst +++ b/docs/source_docs/user_guide/inputs/solids_model.rst @@ -90,8 +90,7 @@ Enabling the DEM solver and specifying model options. | dem.implicit_drag | Apply fluid-particle drag force by | int | 0 | | | :ref:`implicit velocity update`. | | | +-------------------------------+-------------------------------------------------------------------------+----------+-----------+ -| dem.tan_history | Include tangential history force in the collision model. When True, | Bool | False | -| | the executable needs to be built with ``-DMFIX_GRANULAR=yes`` | | | +| dem.tan_history | Include tangential history force in the collision model. | Bool | False | +-------------------------------+-------------------------------------------------------------------------+----------+-----------+ | dem.tan_history.max_contacts | When tangential history is enabled, the maximum number of contacts | Int | 10 | | | per particle that are tracked at any point | | | -- GitLab From 8551d3341dce5a89d273db1dd16034ffde45bc54 Mon Sep 17 00:00:00 2001 From: Jordan Musser Date: Fri, 7 Mar 2025 09:19:03 -0500 Subject: [PATCH 3/3] Include a few mods --- docs/source_docs/refs.bib | 45 ++++++++++++++++++- .../user_guide/inputs/solids_model.rst | 18 +++++++- 2 files changed, 61 insertions(+), 2 deletions(-) diff --git a/docs/source_docs/refs.bib b/docs/source_docs/refs.bib index 4d352bf..899a6d6 100644 --- a/docs/source_docs/refs.bib +++ b/docs/source_docs/refs.bib @@ -1,3 +1,14 @@ +@article{ai2011, + title={Assessment of rolling resistance models in discrete element simulations}, + author={Ai, Jun and Chen, Jian-Fei and Rotter, J Michael and Ooi, Jin Y}, + journal={Powder Technology}, + volume={206}, + number={3}, + pages={269--282}, + year={2011}, + publisher={Elsevier} +} + @article{Alm08, author = {Almedeij, J. }, title = {Drag coefficient of flow around a sphere: matching asymptotically the wide trend}, @@ -82,6 +93,17 @@ pages = {379-402} url = {https://www.sciencedirect.com/science/article/pii/S0021999120305945}, } +@article{blais2019, + title={Experimental methods in chemical engineering: Discrete element method--DEM}, + author={Blais, Bruno and Vidal, David and Bertrand, Francois and Patience, Gregory S and Chaouki, Jamal}, + journal={The Canadian Journal of Chemical Engineering}, + volume={97}, + number={7}, + pages={1964--1973}, + year={2019}, + publisher={Wiley Online Library} +} + @article{brinkman52, author = {Brinkman, H.C.}, title = {The viscosity of concentrated suspensions and solutions}, @@ -591,7 +613,6 @@ doi = {https://doi.org/10.1016/j.jcp.2022.111305}, publisher = {Brookhaven Instruments}, } - @article{Wen66, author = {Wen, C. Y. and Yu, Y. H.}, title = {Mechanics of fluidization}, @@ -601,6 +622,16 @@ doi = {https://doi.org/10.1016/j.jcp.2022.111305}, pages = {100-111} } +@article{wensrich2012, + title={Rolling friction as a technique for modelling particle shape in DEM}, + author={Wensrich, CM and Katterfeld, Andr{\'e}}, + journal={Powder technology}, + volume={217}, + pages={409--417}, + year={2012}, + publisher={Elsevier} +} + @book{william2014, title={Statistics for Engineers and Scientists}, author={William Navidi, P.}, @@ -630,3 +661,15 @@ doi = {https://doi.org/10.1016/j.jcp.2022.111305}, pages = {897-917}, year = {1964} } + + +@article{zhou1999, + title={Rolling friction in the dynamic simulation of sandpile formation}, + author={Zhou, YC and Wright, BD and Yang, RY and Xu, Bao Hua and Yu, Ai-Bing}, + journal={Physica A: Statistical Mechanics and its Applications}, + volume={269}, + number={2-4}, + pages={536--553}, + year={1999}, + publisher={Elsevier} +} diff --git a/docs/source_docs/user_guide/inputs/solids_model.rst b/docs/source_docs/user_guide/inputs/solids_model.rst index 017bf6d..1fc5741 100644 --- a/docs/source_docs/user_guide/inputs/solids_model.rst +++ b/docs/source_docs/user_guide/inputs/solids_model.rst @@ -59,6 +59,11 @@ Below is an example for specifying the solids solver model options. DEM model settings ------------------ +.. |RollingFricModelA| replace:: :math:`\boldsymbol{\tau}_{ij}^{(r)} = -\mu_{r}\hat{r}_{ij} \left| f_{ij}^{(n)} \right| \frac{\omega_{ij}}{\left|\omega_{ij}\right|}` + +.. |RollingFricModelB| replace:: :math:`\boldsymbol{\tau}_{ij}^{(r)} = -\mu_{r}\hat{r}_{ij} \left| f_{ij}^{(n)} \right| \boldsymbol{u}_{ij}^{\omega}` + + Enabling the DEM solver and specifying model options. +-------------------------------+-------------------------------------------------------------------------+----------+-----------+ @@ -96,7 +101,18 @@ Enabling the DEM solver and specifying model options. | | per particle that are tracked at any point | | | +-------------------------------+-------------------------------------------------------------------------+----------+-----------+ | dem.rolling_friction | When tangential history is enabled, the rolling friction model | String | None | -| | to be used. Options are ``None``, ``ModelA`` or ``ModelB`` | | | +| | to be used. :cite:p:`zhou1999,ai2011,wensrich2012,blais2019` | | | +| | | | | +| | * ``None`` | | | +| | | | | +| | * ``ModelA`` | | | +| | | | | +| | |RollingFricModelA| | | | +| | | | | +| | * ``ModelB`` | | | +| | | | | +| | |RollingFricModelB| | | | +| | | | | +-------------------------------+-------------------------------------------------------------------------+----------+-----------+ | dem.rolling_friction_coeff | Rolling friction coefficient when using a rolling friction model | Real | 0 | +-------------------------------+-------------------------------------------------------------------------+----------+-----------+ -- GitLab