I try to simulate a flow in a
I try to simulate a flow in a cylinder gap of 0.2 mm(!) with a piston jump stroke of up to 30 mm. Can FOAM generate adaptive meshes in that range?
Also, what`s the difference between "moveMesh" & "moveEngineMesh" in FOAM?
Thanks and regards,
FOAM is able to solve flows i
FOAM is able to solve flows in thin regions although a reduction in timestep may be required to maintain stability of the solution algorithm. I have successfully solved for flow, heat transfer and combustion in a pentroof IC engine (KIVA mesh) using engineFoam without mesh layer removal simply by squeezing the layers of the mesh as the piston approaches the cylinder head. This produced very thin layers in the "squish" region but FOAM still performed well. Mesh motion for such a case can be done either by simply moving the mesh vertices in the liner region acording to the pison motion or by using the FEM mesh-motion solver which is more expensive but more versatile. Both these approaches are available on run-time selection in engineFoam. I believe that this FOAM application will have no problem solving your case.
FOAM 2.2 will also support mesh layer addition and removal.
moveMesh is a simple mesh-motion only test code which uses the FEM mesh-motion solver. This is useful to test the mesh-motion before committing to a full CFD run.
moveEngineMesh is a mesh motion test code based on the mesh-motion options available in engineFoam.
Thanks Henry for your reply.
Thanks Henry for your reply.
Could you please tell me more about FEM mesh-motion solver.Also when will Foam 2.2 be released?
Hi, (I have to start with
(I have to start with a small introduction; if you already know about the mesh motion please feel free to skip it.)
If you look at state-of-the-art of mesh motion in commercial CFD, you will see the problem: when setting up mesh motion simulations, the user is basically required to specify the position of every vertex for every time-step in the mesh. This can be done in several different ways, most commonly using "mesh generation" techniques, like smoothing. My problem with this is two-fold:
- firstly, it is very difficult to define motion cases where the motion depends on the solution. The mesh motion is not known a-priori abd its is impossible to define it in advance.
- secondly, the mesh motion problem conceptually defines a change in the shape of the computational domain. Therefore, it should be sufficient to define the motion of the boundary and have the code do the rest for you automatically.
The mesh motion in FOAM is set up to overcome these two problems. The user defines how the vertices on the boundary move, using a set of boundary conditions (fixedValue, slip, etc). As nothing is done in advance of the solution, the boundary motion is "built into to code" and can be an arbitrary function of the solution. FOAM then solves a Laplace equation on the vertices to calculate the motion of all vertices based on the boundary motion. The equation is solved directly on vertices as doing it on volumes wasn't satisfactory. Additionally, to create a valid mesh, we need to guarantee that no "cross-overs" in the mesh will be created when executing mesh motion. After a bit of analysis, this turns out to be a boundedness condition on the solution of the motion equation, which is provided by using a teerahedral finite element solver in FOAM (the solver performs an automatic decomposition of a polyhedral cell into test on the fly - you don't need to worry about it). The result is a bounded and accurate mesh motion which is easy to set up and easy to use.
As for the progress on topological changes, you can have a look at the first iteration of my private web site (www.h.jasak.dial.pipex.com), where in FOAM WIP there is a few examples of what FOAM can do at the moment. We are planning the release of FOAM 2.2 in the first quarter of next year.
How to decide NBO in iprep file
hi , i am a new kiva user.. can any one explain how to decide which points need NBO>0...and how to decide these i,j and x,y for these points
waiting for reply
|All times are GMT -4. The time now is 10:33.|