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/)
-   -   SolidBodyMotion in RhoCentralDyMFoam (https://www.cfd-online.com/Forums/openfoam-solving/112491-solidbodymotion-rhocentraldymfoam.html)

rmoreno January 29, 2013 21:56

SolidBodyMotion in RhoCentralDyMFoam
 
Hi everyone,

I have been trying to run some simulations moving the whole mesh as a rigid body using pimpleDyMFoam as starting point. I can run simple oscillating cases in pimpleDyMFoam and the results agree with the analytical values (i.e. Theodorsen function for an oscillating airfoil).

I want to move now to rhoCentralDyMFoam, as I have been working with it for a while already. If I deform the mesh, I get similar results to what I was getting in pimpleDyMFoam. However, when I try to move the mesh as a rigid body, rhoCentralDyMFoam still asks for a solver, and even if I provide one I think it is mixing the two approaches.

Taking a look at rhoCentralDyMFoam.c I have seen that it calls motionSolver.H and CreateMesh.H, instead of dynamicFvMesh.H and CreateDynamicFvMesh.H. So, it seems that when it was programmed it was not intended to use all the capabilities available in some other solvers.

Can anybody put some light into this?. I have started to modify the code to make it work with solid body motions, but maybe there was a good reason not to do this at the original time and I might just be wasting my time...

Thanks a lot and best regards

immortality January 30, 2013 05:06

hi
Im going to run a mesh with solid body motion.but i don't know how to start in rhoPimpleFoam.could you send me your case?
Another question i didn't get its answer is abot residualControl in rhoPimpleFoam.whats it's duty when we can set tolerances in related dictionaries in fvSolution?

immortality January 30, 2013 05:07

hi
Im going to run a mesh with solid body motion.but i don't know how to start in PimpleDYMFoam.could you send me your case?
Another question i didn't get its answer is abot residualControl in rhoPimpleFoam.whats it's duty when we can set tolerances in related dictionaries in fvSolution?
Thanks.

rmoreno January 30, 2013 06:27

Quote:

Originally Posted by immortality (Post 404976)
hi
Im going to run a mesh with solid body motion.but i don't know how to start in rhoPimpleFoam.could you send me your case?
Another question i didn't get its answer is abot residualControl in rhoPimpleFoam.whats it's duty when we can set tolerances in related dictionaries in fvSolution?

Hi, I do not know about rhoPimpleFoam, I have never used it, only pimpleDymFoam. This is how the constant/dynamicMeshDict file looks

Code:

dynamicFvMesh      solidBodyMotionFvMesh;

motionSolverLibs ("libfvMotionSolvers.so");

solidBodyMotionFvMeshCoeffs
{

solidBodyMotionFunction oscillatingRotatingMotion;
oscillatingRotatingMotionCoeffs
{
CofG        (0.25 0.007 0.125);
amplitude    (0 0 0.573);
omega            30.;
}
}


immortality January 30, 2013 09:21

sorry.i corrected it.how can specify which cells are moving and which are stationary ones? Could you send me necessary files?thanks.

rmoreno January 30, 2013 18:06

Quote:

Originally Posted by immortality (Post 405051)
sorry.i corrected it.how can specify which cells are moving and which are stationary ones? Could you send me necessary files?thanks.

The dynamicMeshDict file I shared is all you need to move the mesh rigidly, it all moves as a solid. If you want to specify only certain zones I think you need to use AMI, but I have never done it...

immortality January 31, 2013 12:32

2 Attachment(s)
thanks.these show what i want to model.

immortality February 4, 2013 01:47

does anyone could help on how can it be simulated?how to start?

immortality February 5, 2013 14:30

Ruben do you know how can i set in the dictionary you wrote for a linear displacement solid body motion?

rmoreno February 6, 2013 19:06

Quote:

Originally Posted by immortality (Post 406169)
Ruben do you know how can i set in the dictionary you wrote for a linear displacement solid body motion?

It should simply be oscillatingLinearMotion, you can see the dictionary and any other available solidbody functions in

src/dynamicFvMesh/solidBodyMotionFvMesh/solidBodyMotionFunctions/*

immortality February 12, 2013 12:34

thanks.but i dont want oscillating motion.how to set linear constant velocity motion?

yardsail March 16, 2016 14:29

Solid Body Motion rhoCentralDyMFoam ACMI
 
Hello,

I just tried the same thing, starting with the tutorial oscillatingInletACMI2D and modifying it to use rhoCentralDyMFoam instead of pimpleDyMFoam.

Just like the OP, it asks for a solver even though it shouldn't use one for the prescribed solid body motion.

Here is my dynamicMeshDict file:

FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "constant";
object dynamicMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

dynamicFvMesh solidBodyMotionFvMesh;

motionSolverLibs ( "libfvMotionSolvers.so" );

solidBodyMotionFvMeshCoeffs
{
cellZone inletChannel;

solidBodyMotionFunction oscillatingLinearMotion;

oscillatingLinearMotionCoeffs
{
amplitude (0 0.5 0);
omega 3.14; // rad/s (.5 rps)
}
}

This is an old thread, but I wonder if anyone has found a workaround?

Thanks!

CHAYANIT October 31, 2018 05:29

Solid body motion function
 
For mesh movement my dynamicMeshDict file is as follow


dynamicFvMesh solidBodyMotionFvMesh;

motionSolverLibs ("libfvMotionSolvers.so");

solidBodyMotionFvMeshCoeffs
{

solidBodyMotionFunction oscillatingLinearMotion;
oscillatingLinearMotionCoeffs
{
amplitude (0 0 0.573);
omega 30;
}
}




It is working fine on airfoil pitching. But can anyone tell me what is meant by amplitude and omega in this file.What amplitude and omega is it referring to and is this fine to work on pitching foil?
Any reply would be appreciated.
regards
Chayanit


All times are GMT -4. The time now is 19:12.