Continuous Flow Simulation

Submitted by uhelfenstein on Mon, 11/11/2013 - 10:06

Hi,

I want to simulate the material behaviour on a vibrating tray. I search for a feature which allows me to insert the particles which leave one side of the simulation on the opposite site. For insrance if the material on the tray moves from left to right and reaches the right end of the simulation the particles are moved to the left side (e.g. if xpos > 100 then xpos = xpos - 100).

Is there anything like this available or do I need to modify code to reach simulate this? I do not have experience in modifying or add commands.

Thanks in advance,

Urs

cstoltz | Mon, 11/11/2013 - 11:56

Just use a periodic boundary condition in the x-direction. See 'boundary' in the documentation.

Regards,
Chris

uhelfenstein | Tue, 11/12/2013 - 12:01

Thanks Chris, that seems to be what I am searching for.

One thing I did not solve so far. The vibratory tray is imported as a mesh. So far I moved the mesh with the "move/mesh viblin" command. In the case of this continuous simulation the mesh should be bigger than the periodic limitation of the simulation box. This causes an error:

ERROR: Mesh (id tray): Mesh elements have been lost / left the domain. Please use 'boundary m m m' or scale/translate/rotate the mesh or change its dynamics

Is there a work arround or is it possible to model the three walls (bottom and two side walls) without using a mesh but add the movement to them? Should I try to move the simulation box boundaries for the periodic boundary together with the mesh that no mesh element will left the domain?

cstoltz | Tue, 11/12/2013 - 17:11

That's a tougher problem. You can't apply an oscillatory motion to a primitive wall (at least I don't think you can). If you use a mesh wall and apply the periodic boundary condition, your geometry can pass through one wall of the simulation cell and reappear through the opposing wall, but it will do so facet by facet (I believe based on the centroid of the triangle?). That leaves a gap through which your particles can fall out of the simulation cell.

One trick I've found that seems to work is to make the plate slightly larger than the simulation cell, but such that the facets are all located within the cell itself. This may not be possible depending on your geometry, but for my simple test, I just made a plate of dimension 0.2 x 0.2 (xy plane) in a simulation cell that is 0.18 x 0.18 in the xy directions. The plate consists of only two facets, so fits so long as you have periodic boundaries. I then applied a vibration with an amplitude of only 0.01. As a result, my plate always maintains coverage of the simulation cell in the x-y plane and no particles fall out.

Note that this idea wouldn't work for shearing motion. In that case, I would use a primitive wall as it can be given a linear (shearing) velocity and is infinite.

Regards,
Chris

uhelfenstein | Fri, 11/22/2013 - 08:44

Hi Chris,

Before you answer me I solved the problem with fix_deform by deforming the simulation box during the simulation. For this I changed the source code of fix_deform.cpp by adding a new wiggle style which changes the boundaries not in the opposite but in the same direction. This works but was not so good as the solution you provide (because if I update liggghts the simulation will no longer run).

But your solution works fine. I change an STL file by define two triangles which builds a XY plane. I insert this mesh three times (bottom, and side walls). Because not the outer boundary of the mesh is detected I could add the motion to the planes as wished.
Thanks a lot for your help.

Berst regards,
Urs