CFD Online Discussion Forums

CFD Online Discussion Forums (
-   OpenFOAM Running, Solving & CFD (
-   -   dynamic mesh motion (angularOscillatingDisplacement) in OF1.6 ( May 12, 2010 11:29

dynamic mesh motion (angularOscillatingDisplacement) in OF1.6
Dear Foamers,

I'd like to simulate the flow around an oscillating cross-section. The shape is very simple it is almost like a rectangle. I had to define very fine boundary layer resolution in order to stay below y+<1. The chord length of my shape is 1 [m] and the first cell next to the wall is 0.04e-3 [m].

My constant/dynamicMeshDict looks like:

dynamicFvMesh    dynamicMotionSolverFvMesh;
solver                  displacementLaplacian;
motionSolverLibs    ("");
diffusivity            quadratic inverseDistance 1(fixedWalls);
// **************************************** //

I have defined 0/pointDisplacement like the following:

    [inlet, outlet, frontAndBack description]
        type            angularOscillatingDisplacement;
        //  angle = angle0_ + amplitude_*sin(omega_*t.value());
        axis            (0 0 1);                //  direction
        origin          (0 0 0);
        angle0        0;
        amplitude    0.17453;              //  10 deg in rad
        omega        6.2832;              //  1Hz * (2pi)
        value          uniform (0 0 0);    //  ???
// ********************************************* //

Using this configuration and moveDynamicMesh utililty severely non-orthogonal faces appear at angle = 0.59 and runs until the following error at angle = 1.83:

Mesh non-orthogonality Max: 179.989 average: 7.45988
  *Number of severely non-orthogonal faces: 318.
 ***Number of non-orthogonality errors: 50.
 ***Error in face pyramids: 204 faces are incorrectly oriented.

In the next timestep OF exits and the mesh looks like in the following figure. The boundary layer mesh should remain parallel to the wall during the whole cycle.

Do you have any idea how to avoid this?
1) Maybe using different diffusivity fields? According to Jasak and Tukovic paper [1] I should try diffusivity proportional to the distortion energy. But none of the available diffusivity keywords sound like dist. energy in OF1.6:


2) Shall I define different sets for near field (BL mesh) and far field then rotate the near field set rigidly? I have found a similar case [2] but it was used in OF1.3. There is no subsetMotionSolverFvMesh in dynamicFvMesh keyword list in OF1.6:

dynamicMotionSolverFvMesh    // I'm using this one
staticFvMesh                          //  mesh has no motion

Any idea is appreciated! Thanks in advance.

ps: my time step is sufficiently small, I think: 2e-4


egp May 13, 2010 05:43

Why not look at 1.5-dev? subsetMotionSolverFvMesh is there for you to use, or at least learn what to do and then re-implement in 1.6.

kev4573 May 13, 2010 10:53

If you can conform your mesh around the body to a circle, you could use GGI to oscillate the body, which would avoid mesh deformation. Take a look at the mixerGGI example and code, it is fairly easy to change the driving function to a cosine signal.

If you don't want to change your mesh or simply cannot conform the mesh surrounding the body to a circle, I would look into the subset motion as Eric mentioned or RBF mesh motion.

egp May 13, 2010 11:16

But Kevin, GGI is only in 1.5-dev, and the OP is using 1.6....

kev4573 May 13, 2010 12:22

Ah, you are correct.

All times are GMT -4. The time now is 02:36.