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/)
-   -   programming of GGI RPM (https://www.cfd-online.com/Forums/openfoam-pre-processing/107322-programming-ggi-rpm.html)

A.Wendy September 24, 2012 05:18

programming of GGI RPM
 
Hi Folks,

i am trying to create a simulation with autorotation with the uses OF 1.6 extend and the GGI. Now i was trying to do some small changes in the rotation speed of my mesh but it will not work.
for the beginning i tried do amke the speed time dependent by using the equation:
rpm 10*sin(pi*time);

but there was no effect. it was allways the rpm of 10 used. so i used some more easy expression:

dynamicMeshDict:
Quote:

/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.3 |
| \\ / A nd | Web: http://www.openfoam.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/

FoamFile
{
version 2.0;
format ascii;
class dictionary;
object dynamicMeshDict;
}

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

dynamicFvMeshLib "libtopoChangerFvMesh.so";
dynamicFvMesh mixerGgiFvMesh;
roundperminute 10 + 10;

mixerGgiFvMeshCoeffs
{
coordinateSystem
{
type cylindrical;
origin (0 0 0);
axis (0 0 1);
direction (1 0 0);
}

rpm $roundperminute;

slider
{
moving (insideSlider);
static (outsideSlider);
}
}

// ************************************************** *********************** //
Result:
Quote:

.
.
.
Create time

Create dynamic mesh for time = 0

Selecting dynamicFvMesh mixerGgiFvMesh
Initializing the GGI interpolator between master/shadow patches: outsideSlider/insideSlider
Time = 0
Adding zones and modifiers to the mesh
Copying existing face zones
Number of cells in the moving region: 5000
Adding point, face and cell zones
Mixer mesh:
origin: (0 0 0)
axis : (0 0 1)
rpm : 10
.
.
.
also i tried:
dynamicMeshDict:
Quote:

dynamicFvMeshLib "libtopoChangerFvMesh.so";
dynamicFvMesh mixerGgiFvMesh;
roundperminute 10+10;

mixerGgiFvMeshCoeffs
{
coordinateSystem
{
type cylindrical;
origin (0 0 0);
axis (0 0 1);
direction (1 0 0);
}

rpm $roundperminute;

slider
{
moving (insideSlider);
static (outsideSlider);
}
}
but the result was always a rotational speed of 10 rpm. how can i "force" OpenFoam to do the calculations an not only to include the first number of the equation?

best wishes

Andy

philippose September 25, 2012 00:16

Hi there,

A Good day to you!

If I remember right, and if things are still the same as they were (which I am quite positive is the case), you cannot use expressions in your OpenFOAM dictionary files.

For example, "10 + 10" does not work, because when OpenFOAM processes the dictionary files, it needs to recognise the fact that "10 + 10" actually is a mathematical expression, and then "solve" or "evaluate" the expression.... This functionality is not directly available within OpenFOAM.

This could be the reason why you are always getting "10" as the RPM.

Wishing you a great day ahead!


Philippose


All times are GMT -4. The time now is 04:56.