CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Post-Processing (https://www.cfd-online.com/Forums/openfoam-post-processing/)
-   -   wall pressure (https://www.cfd-online.com/Forums/openfoam-post-processing/98296-wall-pressure.html)

danny123 March 7, 2012 11:28

wall pressure
 
Hello,

I have a relatively simple problem, but I could not figure out an easy solution by googling and the like. I have calculated my CFD using MRFSimpleFoam as solver. Now I need to extract some tangible results from this calculation.
This is a rotating domain, so the shaft torque of the rotor is one value that can be easily measured. There is a function called wallShearStress plotting the shear stress on any patch, e.g. the interface to the rotor. The wall shear stress is the force acting in parallel to the surface on which it applies (according to what I recall from hydrodynamic books). There is an orthogonal force on that surface, which is the pressure. Even though this pressure is supposely small in my case, I would like to quantify it.
Is the pressure force part of the wallShearStress or is there a tool like wallShearStress to retrieve the pressure?:confused: Obviously, I could take the pressure in the cell close to that wall, but this requires a lot of data shuffling. A simple tool applying to the patches only would be easier.

Regards,
Daniel

sail March 7, 2012 12:50

Hi Daniel.

Usinng the forcelib while performing your calculations will give you forces and moments (so torque as well) referenced to the 3axis.

Forces and moments are outputted as viscous, pressure and total.

I'm not shure if it might comes handy but doing one more iteration could be simpler than trying to integrate your pressure. Iirc there isn't an utility that does that out of the box.

danny123 March 8, 2012 05:12

forcelib.so
 
Hi Vieri,

Thanks for the quick reply. What I understand from some posts is that I would need to change the controlDict file and include some lines such as:

forces
{
type forces;
functionObjectLibs ("libforces.so");
Linux
patches (rotor);
rhoInf 1.0; // meaning that you need to multiply result with your assumed density in kg/m3 in order to get N m
CofR (0 0 0.108); //Origin for moment calculations
}

Then I have to re-run the case and get the file containing the torque on the axis. This is correct? I assume that OpenFoam will set the torque level to 0 at (0 0 0) and add up the torque along the rotation axis until position CofR. This is correct too? Where to put this change to the controlDict file, at the end after "runTimeModifiable yes;"? The result will the forces fx, fy, fz, Mx, My, Mz whereas Mz is my shaft drive torque, the others shaft bending torque. This is correct too? Do I need to alter OpenFoam source code and recompile it or is libforces.so part of the 2.0.1 package?

Thanks for your help. Regards,

Daniel

sail March 9, 2012 09:07

Quote:

Originally Posted by danny123 (Post 348313)
Hi Vieri,

Thanks for the quick reply. What I understand from some posts is that I would need to change the controlDict file and include some lines such as:

forces
{
type forces;
functionObjectLibs ("libforces.so");
Linux
patches (rotor);
rhoInf 1.0; // meaning that you need to multiply result with your assumed density in kg/m3 in order to get N m
CofR (0 0 0.108); //Origin for moment calculations
}

Then I have to re-run the case and get the file containing the torque on the axis. This is correct? I assume that OpenFoam will set the torque level to 0 at (0 0 0) and add up the torque along the rotation axis until position CofR. This is correct too? Where to put this change to the controlDict file, at the end after "runTimeModifiable yes;"? The result will the forces fx, fy, fz, Mx, My, Mz whereas Mz is my shaft drive torque, the others shaft bending torque. This is correct too? Do I need to alter OpenFoam source code and recompile it or is libforces.so part of the 2.0.1 package?

Thanks for your help. Regards,

Daniel

Hi Daniel

You i think your observations are correct. The forces come up out of the box with your version of OF, you won't need to recompile anything.

Actually, you won't need to rerun the case, just add the lines to the controlDict and run few more iterations, that should suffice.

Also, i'm not shure about the position of the COM and the z axis as the torque, but possibly is due to your geometry. Are you simulationg a vertical axis turbine? If so it is correct.

The moments are calculted integrating the viscous and pressure forces multiplied by the distance from the center.

Good luck.

s.q May 28, 2013 15:50

Quote:

Originally Posted by sail (Post 348554)
Hi Daniel

You i think your observations are correct. The forces come up out of the box with your version of OF, you won't need to recompile anything.

Actually, you won't need to rerun the case, just add the lines to the controlDict and run few more iterations, that should suffice.

Also, i'm not shure about the position of the COM and the z axis as the torque, but possibly is due to your geometry. Are you simulationg a vertical axis turbine? If so it is correct.

The moments are calculted integrating the viscous and pressure forces multiplied by the distance from the center.

Good luck.



hi vieri
i had simulated a wind turbine using fluent and now i want to calculate the output power of turbine using torque.

would you plz guide me how calculate the torque using integrals as you mentioned in this forum.
i used the report forces-moments... but its amounts are 10 times bigger than real amounts.:confused:

danny123 May 30, 2013 02:43

Hello s.q.,

This thread is about OpenFOAM software. For Fluent, you should file your request in the Fluent forum.

Regards,

Daniel

Tobias Adam December 3, 2013 07:45

wallpressure
 
I guess Daniel doesn´t need this info any more, but it might be useful for someone else.
The pressure on the wall can be calulated by adding this to the functions of the controldict:

Code:

wallPressure
{
type surfaces;
functionObjectLibs ("libsampling.so");
surfaceFormat raw; // vtk;
outputControl outputTime;
interpolationScheme cellPoint;

fields (
p
);
surfaces
(
airfoil_airfoil
{
type patch;
patches ("airfoil.*");
interpolate true;
triangulate false;
}


this post for the visualisation of the pressure may help too: http://www.cfd-online.com/Forums/ope...tml#post423664

regards
Tobi


All times are GMT -4. The time now is 08:16.