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

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

Hi,

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 :
#2

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.
gjb

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

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...

Jerome

[*] 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 :
#4

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