(SOLVED 1/2) mesh/surface/stress mesh import question

Submitted by tdl on Thu, 04/18/2013 - 10:02

Dear all,
I am trying to simulate the free motion of a mesh under the
effect of its interaction with some granular particles.

The idea is to import the .stl mesh with fix mesh/surface/stress,
to compute the forces acting on it and then update its position with
with fix move/mesh rotate/variable and translate/variable styles.

However, I am encountering this error:
"ERROR: Mesh freerotor: The minumum angle of mesh element 6 (line 58) is lower than the specified curvature."

In fact, my mesh is completely triangulated and has some "flat
faces" that are composed of multiple triangles (this is done so that
particles do not get "inside" the mesh).
There is nothing I can do about this? Maybe I've got this wrong?
I'd be glad if someone could suggest me some solution.

Thank you,
Alessandro

tdl | Thu, 04/18/2013 - 14:48

I tried to switch to .vtk meshes, but this time they aren't loaded.
I get the error:
ERROR: Expecting ASCII VTK mesh file, cannot continue (input_mesh_tri.cpp:171)
while trying to load the attached .vtk mesh.
Something is wrong?

Thanks again,
Alessandro

tdl | Fri, 04/19/2013 - 15:09

To clarify further the situation:

1) I have understood that LIGGGHTS does accept input VTK files,
but not in "POLYDATA" format, so I will try and see if I can find a
simple tool to convert between the two formats.
Any input/help is welcome.

I have also noted that LIGGGHTS complains about stl meshes, if
there are duplicated vertices (common problem for stl files generated
e.g. with meshlab, openscad, etc).
I found a workaround, for *triangle* meshes, using Paraview (3.14.1).
You can convert the stl mesh to vtk using meshlab.
Paraview reads the vtk mesh ("polydata") and it can save it back
in stl format.
This second stl is read correctly by LIGGGHTS.
Please note that Paraview has problems reading stl files, and will
crash opening any stl file (even the ones it has created).

3) At the moment I can import the "corrected" stl triangle mesh file:
fix freerotor_stress all mesh/surface/stress file test1.stl type 1 verbose yes
However, there is apparently no interaction between my mesh and the
particles of the system (the output vector f_... is always zero).
Any suggestion here?

Thank you,
Alessandro

tdl | Fri, 04/19/2013 - 15:34

Sorry, I will be pedantic because I think I do not get it clearly.
Thanks for your patience :-)

My general question is: what do I have to do to simulate a complex
object interacting with a granular medium.

1) I make this fine stl mesh
2) I load it with: "fix mesh/surface/stress"
3) I read the force/torque acting on it with the f_ variable
4) I move it using "fix move/mesh" e.g. rotate/variable

Is this enough? Or am I missing something?
Should I also add "fix wall_gran" for the meshes?
Thank you,
Alessandro

ckloss's picture

ckloss | Fri, 04/19/2013 - 15:47

Hi Alessandro,

>>ERROR: Mesh freerotor: The minumum angle of mesh element 6 (line 58) is lower than the specified curvature.
It seems that your mesh contains extremely sharp elements. You can decrease the "curvature" in the fix mesh command. If the warning message didn't hint you towards this, you're probably using an old version of LIGGGHTS and I'd recommend upgrade

Cheers
Christoph

tdl | Fri, 04/19/2013 - 15:50

Dear Christoph,
In fact it was a problem of the stl mesh that I had generated with meshlab.
Up to now I worked around this by saving the mesh with paraview, and LIGGGHTS
reads it. (I also upgraded to the latest liggghts version).
I will now try to find a way to convert to vtk meshes so that I can then output them
more easily.
Thank you very much,
Alessandro

tdl | Fri, 04/19/2013 - 15:47

After some struggling I got it,
interaction must be turned on using fix wall/gran.
I think you should provide a simple , up-to-date example,
for the not-so-smart people like me :-)