How can i include thrdparty modules in chrono?

157 views
Skip to first unread message

Karin Sugi

unread,
Nov 6, 2023, 3:17:31 AM11/6/23
to ProjectChrono
Hello all,

I wander how can i include thirdparty modules such as DEM-Engine in chrono. When I tried to build demo script of DEM-Engine, it returns an error saying included modules doesn't exist.

I think i should write something related to the DEM in find_package() of CMakeLists as same as using other chrono modlues, but what?
My find_package() command is following. I added "Thirdparty" or "DEM-Engine" to COMPONENTS, but it doesn't work. Do you have any idea?

find_package(Chrono
    COMPONENTS Irrlicht Vehicle 
    OPTIONAL_COMPONENTS PardisoMKL
    CONFIG)



Thanks in advance,
Karin

Radu Serban

unread,
Nov 6, 2023, 2:44:29 PM11/6/23
to ProjectChrono

Hi Karin,

 

Currently, DEM-Engine is not provided as a Chrono module, but rather a stand-alone library. As such, you will not be able to enable its usage through find_package.  Only actual modules of the Chrono package can be requested as components in a call to find_package. Instead, you will need to link into your library/executable both the Chrono libraries *and* the DEM-E library.

 

--Radu

--
You received this message because you are subscribed to the Google Groups "ProjectChrono" group.
To unsubscribe from this group and stop receiving emails from it, send an email to projectchron...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/projectchrono/d87493c1-5d07-451e-9219-d1e606a23e1cn%40googlegroups.com.

Ruochun Zhang

unread,
Nov 6, 2023, 4:43:40 PM11/6/23
to ProjectChrono
Hi Karin,

To do what Radu outlined, you have to install DEME and Chrono, then link against those installations. There are a couple of directions you can go:
  1. Follow the instructions in the installing as library section. You will install both Chrono and DEME, then link against both of them using the framework in chrono-project (which are equivalently your own simulation scripts).
  2. Still you have first to install both Chrono and DEME. I attached a more simplistic example in this reply, where you link your simulation script (firstdeme.cpp) against a DEME installation using a simple custom-made CMake script. You can add the linkage to Chrono yourself.
  3. If you don't mind Python, then you can use pyChrono along with pyDEME. No installation or CMake needed.
Thank you,
Ruochun
firstdeme.cpp
CMakeLists.txt

Karin Sugi

unread,
Nov 8, 2023, 5:35:46 AM11/8/23
to ProjectChrono
Hi, 

Thanks for your support! I really understand DEME is a stand-alone library and I appreciate to your example codes for linkage to chrono.

Now, i'd like to simulate not only a vehicle but soil particles movement in chrono, so I tried to use DEME. However, based on my research it turns out there are some methods to simulate granular materials in chrono. Then, i wander what is those difference? I assume that is following...
  • DEM-Engine

    stand-alone library. which allows for modeling individual grains or particles, their properties, and interactions using contact force models. The library includes classes and functions specifically designed for granular material simulations, enabling users to create, simulate, and analyze granular systems. This CANNOT be used on windows os.

  • Chrono::FSI

    chrono module. which deals with the interaction between fluids and deformable solids, allowing for simulations where the behavior of the fluid and solid structures affect one another.

  • Chrono::Granular

    chrono module. which is specifically tailored for simulating the behavior of granular materials, focusing on the dynamics of discrete particles and their interactions within the material.

Are there any misunderstanding?


Thanks in advance,
Karin
2023年11月7日火曜日 6:43:40 UTC+9 Ruochun Zhang:

Dan Negrut

unread,
Nov 9, 2023, 3:18:41 PM11/9/23
to Karin Sugi, ProjectChrono

Karin – you used DEM-Engine, so you know what that is. I’m not going to elaborate on this, perhaps Ruochun can chime in, if need be.

 

Chrono::FSI is to model the granular material as a continuum. Here are some papers about that:

https://www.authorea.com/doi/full/10.22541/au.167355891.12085319/v1

https://www.sciencedirect.com/science/article/pii/S0045782521003534

https://link.springer.com/article/10.1007/s11044-022-09815-2

 

Chrono::Granular is an older Chrono DEM solution that only deals with mono-disperse granular material – all spheres, and all of the same size. The memory footprint of the simulator is smaller since handling mono-disperse gran material is simple.

Here’re some papers on that:

https://link.springer.com/article/10.1007/s11044-020-09749-7

https://www.mdpi.com/2227-9717/9/10/1813

 

NOTE: if you want to do terramechanics with DEM, you’ll have to use DEM-Engine and not Chrono::Granular since the latter only has mono-disperse DEM. That type of material is not displaying any geometric locking and as such its bearing capacity is way less than what you see in reality.

 

I hope this helps.

Dan

---------------------------------------------

Bernard A. and Frances M. Weideman Professor

NVIDIA CUDA Fellow

Department of Mechanical Engineering

Department of Computer Science

University of Wisconsin - Madison

4150ME, 1513 University Avenue

Madison, WI 53706-1572

608 772 0914

http://sbel.wisc.edu/

http://projectchrono.org/

---------------------------------------------

 

From: projec...@googlegroups.com <projec...@googlegroups.com> On Behalf Of Karin Sugi
Sent: Wednesday, November 8, 2023 4:36 AM
To: ProjectChrono <projec...@googlegroups.com>

--

You received this message because you are subscribed to the Google Groups "ProjectChrono" group.
To unsubscribe from this group and stop receiving emails from it, send an email to projectchron...@googlegroups.com.

Ruochun Zhang

unread,
Nov 9, 2023, 4:31:54 PM11/9/23
to ProjectChrono
Hi Karin,

Just to add to Dan's comments...
  1. DEME can be simply seen as a general-purpose DEM solver. A recent paper we published that is particularly related to your use case is this. About its usage see this. We are looking into the Windows compilation problem and if it is important for you, we can let you know if the problem is resolved.
  2. Chrono::FSI can be seen as an SPH solver. So it is really about a different numerical approach to modeling the soil other than DEM: The "fluid" (can be actual fluid or granular material) is modeled with SPH markers and the solid is modeled with BCE particles. Note that I understand in many other domains especially mesh-based simulations, the term FSI puts emphasis on soft deformable structures, but I am not aware of published materials that implement deformable solids with Chrono::FSI. However, there could be new developments concerning SPH interacting with ANCF elements in Chrono that I am not aware of. Anyone feel free to comment.
  3. Chrono:GPU can be seen as a monodisperse-only DEM solver. As Dan said, if you wish to capture the soil response accurately with monodisperse DEM particles, you do need to be a bit more creative, such as adding particle cohesion to account for the lack of geometric locking.
All of them require you to have a GPU to run.

Thank you,
Ruochun

Reply all
Reply to author
Forward
0 new messages