fix mesh/surface with fix keyword

Submitted by rich_st on Tue, 04/24/2018 - 17:42

Dear all,

I am trying to define cylindrical walls in LIGGGHTS directly in order to circumvent imported meshes with lots of triangles. I am not using primitive types in the fix wall/gran command because so defined cylinders are not limited in axial direction which does not fit to my geometry.

So this is what I did:

I defined the region with the region command:
region region_furnace_tube_A cylinder z 0.1 0 0.025 0 0.412

Then I tried to define the boundary of the region as a mesh with the fix mesh/surface command:
fix mesh_furnace_tube_A group_A mesh/surface fix region_furnace_tube_A type 1

When I execute the code, I get the following error message:
ERROR: Fix mesh/surface (id mesh_furnace_tube_A): expecting keyword 'file' (../fix_mesh.cpp:107)

Why is that? I don't really understand why my code does not work, although it has just the same structure as the example in the documentation for the fix mesh/surface command. A little below the example, the documentation says:
"The extrude_planar option allows to extrude a planar mesh in direction of the anti-normal by a specified length values. After a run 0 command this fix will hold the generated triangles which can be used in another mesh/surface fix that uses the fix instead of file keyword."

Do I have to extrude something before?

Cheers
Sebastian

medvedeg | Tue, 04/24/2018 - 18:49

Hi Sebastian,

as mentioned in the documentation, the correct syntax for the command is as follows:
"fix cad all mesh/surface file mesh.stl type 1"
where "cad" is user-defined fix id and "mesh.stl" is the STL-Mesh file name.
You need to build STL mesh in any CAD software (for example SALOME), save/export and then provide the filename (including path) in fix mesh/surface.

Also check this example: https://github.com/CFDEMproject/LIGGGHTS-PUBLIC/tree/master/examples/LIG...

Alexander Podlozhnyuk

rich_st | Tue, 04/24/2018 - 19:08

Hi Alexander,

thanks for your reply.
I do import geometries other than simple ones via stl meshes already. I assumed my code to be much more efficient when defining simple geometries in LIGGGHTS itself, though. For the latter case, not every triangle in the stl mesh has to be checked for particle contact.

The documentation says that the structure I used somehow works - I just don't clearly understand it. See this documentation page: https://www.cfdem.com/media/DEM/docu/fix_mesh_surface.html
Here, the last example is:
fix side_walls all mesh/surface fix extrude type 1

Where 'extrude' is the "id of a fix that can generate meshes". What is meant by this?

Cheers,
Sebastian

medvedeg | Tue, 04/24/2018 - 19:52

Hi Sebastian,

1) in the examples the last line with
fix side_walls all mesh/surface fix extrude type 1
will not work without the previous line, where "fix extrude" is defined:
fix extrude all mesh/surface file plane.stl type 1 extrude_planar 0.1
2) Since you want only to import geomertry, why don't you use something like this fix cad all mesh/surface file mesh.stl type 1 ?

Alexander Podlozhnyuk

rich_st | Tue, 04/24/2018 - 19:58

Hi Alexander,
ok, now I get this.
My idea was that it is much more efficient to calculate the distance between a particle and a cylinder wall rather than to check the particle against every triangle in the stl mesh.

Cheers,
Sebastian