CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Running, Solving & CFD (https://www.cfd-online.com/Forums/openfoam-solving/)
-   -   Solution dependent mesh movement (https://www.cfd-online.com/Forums/openfoam-solving/89793-solution-dependent-mesh-movement.html)

Van de Leur June 22, 2011 11:50

Solution dependent mesh movement
 
Dear users,

With dynamic meshing I want to make a boundary that moves depending on the flow velocity over this boundary. The movement of the boundary will then become solution dependent.

To achieve this I would like to use the velocityLaplacianFvMotionSolver.
However, the movement of a boundary in this solver is constant and read from the files 'pointMotionU' and 'cellMotionU'.
Instead of reading the displacement velocity from a file I would like to use the velocities in the domain.

The question is if the current input for velocityLaplacianFvMotionSolver.C:

pointMotionU_
(
IOobject
(
"pointMotionU",
fvMesh_.time().timeName(),
fvMesh_,
IOobject::MUST_READ,
IOobject::AUTO_WRITE
),
pointMesh::New(fvMesh_)
),

can be replaced by something along the lines of:

pointMotionU_ = U.boundaryField()[patchi]

So far I have not been successful, does anyone have a suggestion?

Kind regards,

Kevin

philippose June 25, 2011 15:41

Hello Kevin,

A Good Evening to you :-)!

I had looked into this about two years ago, and adapted some of the common solvers (turbFoam and simpleFoam) to handle solution based motion of boundaries.

You need to search this forum with the following phrase "turbulent solver rigid body dynamics", and you will find a topic with three pages worth of discussions, and multiple downloads for solvers, and examples.

Since I have not looked into it for a long time now, you might have to make some small modifications to get it running on OpenFOAM-1.6-ext (Or maybe OpenFOAM-1.7.x)....

If you have any questions, I could try and help you out :-)!

Have a great weekend ahead!

Philippose

Van de Leur June 28, 2011 16:30

Hey Philippose,

Thanks a lot for the reference, very useful.
I'll let you know if I have some questions, or nice results.

Regards,

Kevin

Van de Leur September 27, 2011 16:26

Philippose,

I've been following your advice and it helps me a lot.
Regarding the code you've written I do not fully understand the following line from the file solveForceBalance.H:

scalar calcVelocityX = calcVelocity * (aVector & dirVector1);

If I'm not mistaken aVector gives the velocity after multiplication with calcVelocity and dirVector1 gives the direction of this velocity. Mu question is, why is the directional vector also multiplied with calcVelocity?

Regards,

Kevin

Detian Liu January 13, 2014 08:00

Dear Philippose and Kevin,
I am very interesting in your great work, and I want to implement the functionality in which dynamic mesh motion is based on the velocity solution, that means if U is less than U0, the mesh will become a part of boundary, if U is large than U0, the mesh will become a part of computational demain, whether I can use the Foam you mentioned before called "turbForceFoam" to implement this functionality? Or is there some inbuilt solvers in OpenFOAM2.2.2 can achieve this goal?
Thank you in advance for the help!
Best regards,

detian
2014.1.13


All times are GMT -4. The time now is 10:34.