CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Pre-Processing (https://www.cfd-online.com/Forums/openfoam-pre-processing/)
-   -   oscillating cylinder dynamic mesh (https://www.cfd-online.com/Forums/openfoam-pre-processing/131044-oscillating-cylinder-dynamic-mesh.html)

Scabbard March 7, 2014 14:01

oscillating cylinder dynamic mesh
 
Dear Foamers,

I just start to learn how to use openFoam and now I want to use the dynamic mesh to simulate a flow past an oscillating cylinder. However, for the dynamic mesh, I can only let the cylinder go one direction like the following dynamicMeshDict document.


/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.3.0 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "constant";
object dynamicMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

dynamicFvMesh solidBodyMotionFvMesh;

motionSolverLibs ( "libfvMotionSolvers.so" );

solidBodyMotionFvMeshCoeffs
{
cellZone Fluid;

solidBodyMotionFunction linearMotion;
linearMotionCoeffs
{
velocity (0 -1 0);
}
}


// ************************************************** *********************** //

Could you tell me how to make the cylinder oscillating specifically in the flow?

Thank you so much for your help.

Maimouna March 24, 2014 09:53

Dear Scabbard

I just started working in free vibration of cylinder in the flow. Do you get idea how to work in the dynamic cylinder?

Scabbard March 24, 2014 11:39

Quote:

Originally Posted by Maimouna (Post 481790)
Dear Scabbard

I just started working in free vibration of cylinder in the flow. Do you get idea how to work in the dynamic cylinder?

Dear Maimouna

If you give more detail about your question, it will be better:)

I think you need add on pointDisplacement in your 0 docunment.

However, now I still could not run the case successful. Because it is always diverge. I do not know too much about pimplefoam...

Maimouna March 24, 2014 11:47

1 Attachment(s)
Many thanks for your reply.

I already finished the case about flow past a circular cylinder (case attached). Now I would like to make cylinder goes up and down. What are the changes I have to add to my case to get what I'm looking?

Any idea would be welcomed.

Scabbard March 24, 2014 12:03

Quote:

Originally Posted by Maimouna (Post 481812)
Many thanks for your reply.

I already finished the case about flow past a circular cylinder (case attached). Now I would like to make cylinder goes up and down. What are the changes I have to add to my case to get what I'm looking?

Any idea would be welcomed.

Dear Mainmouna,

I think you need to add on a piontDisplacement in your 0 document to define the cylinder's motion

Quote:

/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.3.0 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class pointVectorField;
object pointDisplacement;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

dimensions [0 1 0 0 0 0 0];

internalField uniform (0 0 0);

boundaryField
{
inlet
{
type fixedValue;
value uniform (0 0 0);
}
outlet
{
type fixedValue;
value uniform (0 0 0);
}
top
{
type fixedValue;
value uniform (0 0 0);
}
bottom
{
type fixedValue;
value uniform (0 0 0);
}
walls
{
type zeroGradient;
}

cylinder
{
type oscillatingDisplacement;
amplitude (0.1 0 0);
omega 1;
value uniform (0 0 0);
}
}


// ************************************************** *********************** //
and in your constant floder, you need add on a dynamicMeshDict



However, I am not sure could it run successfully, but actually

cylinder
{
type oscillatingDisplacement;
amplitude (0.1 0 0);
omega 1;
value uniform (0 0 0);
}
is defining your cylinder's motions

Hope it help

Maimouna March 24, 2014 12:22

Many thanks. I will try that you post.

Maimouna March 25, 2014 05:29

Dear Scabbard,

just to make sure what's inside dynamicMeshDict file?


My dynamicMeshDict file is shown below
Code:

/*--------------------------------*- C++ -*----------------------------------*\
| =========                |                                                |
| \\      /  F ield        | OpenFOAM: The Open Source CFD Toolbox          |
|  \\    /  O peration    | Version:  1.6                                  |
|  \\  /    A nd          | Web:      www.OpenFOAM.org                      |
|    \\/    M anipulation  |                                                |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version    2.0;
    format      ascii;
    class      dictionary;
    location    "constant";
    object      dynamicMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

dynamicFvMesh  dynamicInkJetFvMesh;//dynamicMotionSolverFvMesh;

motionSolverLibs ( "libfvMotionSolvers.so" );

//solver          velocityComponentLaplacian;

//velocityComponentLaplacianCoeffs
//{
//    component      x;
//    diffusivity    directional ( 1 200 0 );
//}

dynamicInkJetFvMeshCoeffs
{
amplitude 0.1; //0.5;
frequency 1; //2;
refPlaneX 0;

}

// ************************************************************************* //

But the problem is it stopped at time 19 while the running still complete but never coming after that. It seems to me that is happened because of the divergence problem. Am I right? How could I solve my problem? Any help please...

Scabbard March 25, 2014 07:50

Dear Maimouna,

Sry my friend, I am still looking for the meaning of the dynamicMeshDict... If I got any idea, I will post on the forums.

Maimouna March 25, 2014 08:31

Many thanks. I'm looking forward your post.

If I got any I will post it too.

All the best

Maimouna March 25, 2014 10:16

1 Attachment(s)
Dear Bruno,

I was working in flow past a circular cylinder in OpenFOAM 2.2.2. I just finished my case (attached). Now, I'm looking for how to make that cylinder oscillate (up and down)?

What should I changed on my case for free vibration of cylinder in flow. I knew that I have to add pointDisplacement in 0 folder
Code:

/*--------------------------------*- C++ -*----------------------------------*\
| =========                |                                                |
| \\      /  F ield        | foam-extend: Open Source CFD                    |
|  \\    /  O peration    | Version:  3.0                                  |
|  \\  /    A nd          | Web:        http://www.extend-project.de      |
|    \\/    M anipulation  |                                                |
\*---------------------------------------------------------------------------*/

FoamFile
{
version  2.0;
format    ascii;
class    pointVectorField;
object    pointDisplacement;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

dimensions [0 1 0 0 0 0 0];

internalField uniform (0 0 0);

boundaryField
{
      inlet
{
    type fixedValue;
    value uniform (1 0 0);
}
    outlet
{
    type fixedValue;
    value uniform (0 0 0);
}
    top
{
    type empty;//fixedValue;
    //value uniform (0 0 0);
}
    bottom
{
    type empty;//fixedValue;
    //value uniform (0 0 0);
}
    walls
{
    type slip; //zeroGradient;
}

    cylinder
{
    type oscillatingDisplacement;
    amplitude (0.1 0 0);
    omega 1;
    value uniform (0 0 0);
}
}



// ************************************************************************* //

Is pointDisplacement file ok?

Also, I need to add dynamicMeshDict in constant folder. What's included?:confused:
Shall I changed my solver from pimpleFoam to pimpleDyMFoam?

Looking forward you help please

Maimouna April 1, 2014 07:45

Dear Scabbard,

did you get any idea about how making cylinder moving up and down? If any shearing me your idea please.

Maimouna April 2, 2014 11:27

1 Attachment(s)
Dear OF users,

I need your help please to give me hint of how to make cylinder oscillating in the attached case. I spent for that more than 3 weeks and I didn't get the result till today. So, I'm waiting your help my friends.

In that case:
- Mesh was generated by Gmsh.
- U = 1m/s^2, D= 1m, Re = 100.
- Other information in the attached folder.

I'm looking forward to get your help please.

wyldckat April 5, 2014 11:59

1 Attachment(s)
Greetings to all!

I don't have enough time today to look into this, but I think Maimouna is in the right track.

First of all, let me make a reference to the list of useful threads Maimouna had posted on and I then moved the posts to this thread, for keeping the topic in a single thread:

Let's see... the "pointDisplacement" is meant to be used by only a certain group of mesh motion solvers... If you look for "displacementMotionSolver" in the source code documentation page - http://foam.sourceforge.net/docs/cpp/ - you'll see that there are a few motion solvers that use the "pointDisplacement" field, as shown in the first attached image.
The candidates are:
  • displacementLaplacianFvMotionSolver
  • displacementSBRStressFvMotionSolver
  • sixDoFRigidBodyMotionSolver
Using the boundary condition that Maimouna is using in the "pointDisplacement" field, along with one of these motion solvers, should do the trick.
If we use this command:
Code:

find $FOAM_TUTORIALS -name dynamicMeshDict
it's possible to find all existing tutorials that have a "dynamicMeshDict" file.

In addition, you can use the moveDynamicMesh solver, which only moves the mesh and does not do any flow simulation. This is useful for figuring out how the mesh is moving along time.
Oh, and there was a thread that had a neat example case... where instead of a cylinder, it was a moving wall... actually, here's two:

Beyond this, I'll have to test things myself and that will take quite some time.

Best regards,
Bruno

Maimouna April 5, 2014 14:39

Dear Bruno,

many thanks for your post. I'm going to try what you post and I will post if any new result.

Waiting your trying as well.

Best regards

Scabbard April 11, 2014 14:25

Quote:

Originally Posted by Maimouna (Post 484046)
Dear Bruno,

many thanks for your post. I'm going to try what you post and I will post if any new result.

Waiting your trying as well.

Best regards

Dear Maimouna,

Sorry for the late reply, I am still try to get it oscillating, because I am simulating in turbulence so now still the programme can start run but can not converge always got error. so I am not sure now... Sorry

Hope you have already solve the problem.

Best wishes

Maimouna April 11, 2014 17:38

Dear Scabbard,

yes, I solve my oscillating problem in laminar flow for forced vibration but not in natural vibration. I'm still working to get the result to make comparison between both. Once finished, I'm going to post them both.

All the best.

Maimouna

Kind regards

Mojtaba.a April 12, 2014 09:49

Hello all,
I hope you have a good day.
I am trying to simulate the same thing.
Dear Maimounda, by natural vibration of the cylinder, you mean the vortex induced vibrations causing cylinder to oscillate?

With all the best,
Mojtaba

Maimouna April 12, 2014 12:11

Dear Mojtaba,

exactly, in the natural vibration don't need to specify a motion for the cylinder. Let the cylinder (within certain constraints) move accordingly to how the forces caused by the fluid act on it.

The difference between forced and natural vibrations is essentially the boundary condition on the cylinder in pointDisplacement file in 0 directory.

I hope that help.

Maimouna

jherb April 17, 2014 08:19

I think you are looking for "fluid solid interaction" simulations using OpenFOAM. Googling for it, here are some links I found:
http://www.cfd-online.com/Forums/ope...-openfoam.html
http://openfoam-extend.sourceforge.n...re_Interaction
http://training.uhem.itu.edu.tr/file...50927-file.pdf
http://www.personal.psu.edu/rlc138/r...ell_thesis.pdf

At them moment, it looks like it is not supported in standard OpenFOAM but in the extended project.

Scabbard April 19, 2014 09:06

Quote:

Originally Posted by jherb (Post 486708)
I think you are looking for "fluid solid interaction" simulations using OpenFOAM. Googling for it, here are some links I found:
http://www.cfd-online.com/Forums/ope...-openfoam.html
http://openfoam-extend.sourceforge.n...re_Interaction
http://training.uhem.itu.edu.tr/file...50927-file.pdf
http://www.personal.psu.edu/rlc138/r...ell_thesis.pdf

At them moment, it looks like it is not supported in standard OpenFOAM but in the extended project.

Thank you so much for your help.


All times are GMT -4. The time now is 01:37.