LevelSet not supported in periodic conditions.

Asked by gjb123

Hello, I want to simulate the reconstructed image of pores and skeletons with periodic boundary by level set discrete element method, but when I use periodic boundary conditions, it shows that level set is not supported by periodic conditions. What's your good opinion or suggestion.

Question information

English Edit question
Yade Edit question
No assignee Edit question
Solved by:
Jérôme Duriez
Last query:
Last reply:
Revision history for this message
Jérôme Duriez (jduriez) said :


Periodic conditions have been made fully compatible with LevelSet shape (or the other way around, no personal experience myself though) in https://gitlab.com/yade-dev/trunk/-/merge_requests/897, i.e. 5 months ago in 398acbad YADE version (as per git numbering, see e.g. https://gitlab.com/yade-dev/trunk/-/commits/master?ref_type=heads).

In short, use a recent YADE version, either compiling from source or using yadedaily in a recent state.

Revision history for this message
gjb123 (gjb123) said :

Hello Jan,

Thank you very much for your answer. I have successfully used the periodic condition on levelset. In addition, I am a novice using yade. For levelset, I know that the super-ellipsoid shape is convex and can be well displayed through levelsetbody. So can some concave shapes also be well displayed through levelsetbody?

Thanks a lot.

Revision history for this message
Best Jérôme Duriez (jduriez) said :

Is your question about "display" (visual rendering in the graphical view = qt.View()), or the definition of a LevelSet-shaped body through levelsetBody, or the general compatibility of the YADE LevelSet approach with concave bodies ?

If it is about display, yes, any sort of LevelSet-shaped body (either convex or not) can be displayed, once they have been properly defined through some O.bodies.append(levelSetBody(...))

Regarding that levelSetBody( ) definition, the latter includes some shortcut definitions for super-ellipsoid. For generic concave bodies, you will have to define the grid with distance data by yourself and pass them like illustrated at [*] but the definition will work.

Regarding the possibility to actually have meaningful DEM simulations with non-convex bodies, there is an incompatibility in current public version of YADE through Ig2_LevelSet_LevelSet_ScGeom [**] which can describe only one contact point between 2 LevelSet-shaped bodies, and then can not satisfactorily apply to non-convex cases.

This will be extended with new code at some point...


[*] https://gitlab.com/yade-dev/trunk/-/blob/4180bfef7c8bb3d748235ed3320072902a4f87b6/examples/levelSet/levelSetBody.py#L32
[**] convex mention in https://yade-dem.org/doc/yade.wrapper.html#yade.wrapper.Ig2_LevelSet_LevelSet_ScGeom

Revision history for this message
gjb123 (gjb123) said :

Thanks Jérôme Duriez, that solved my question.