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/)
-   -   Force and Force Coefficient (https://www.cfd-online.com/Forums/openfoam-post-processing/70193-force-force-coefficient.html)

ata November 17, 2009 01:59

Force and Force Coefficient
 
Hi Foamers
I have a problem with force and force coefficient plotting.
I add this to end of cavity tutorial controlDict file
forces
{
type forces;
functionObjectLibs ("libforces.so"); //Lib to load
patches (fixedWalls); // change to your patch name
rhoInf 1.225; //Reference density for fluid
CofR (0.25 0 0); //Origin for moment calculations
}
forceCoeffs
{
type forceCoeffs;
functionObjectLibs ("libforces.so");
patches (fixedWalls); //change to your patch name
rhoInf 1.225;
CofR (0 0 0);
liftDir (0 1 0);
dragDir (1 0 0);
pitchAxis (0.25 0 0);
magUInf 10.0;
lRef 1;
Aref 1;
}
and I solved it by icoFoam > log
and then when I type " gnuplot forceCoeffs -" I got this message
"forceCoeffs", line 10: warning: Skipping unreadable file "./forceCoeffs/0.0005/forceCoeffs.dat"
"forceCoeffs", line 10: warning: Skipping unreadable file "./forceCoeffs/0.0005/forceCoeffs.dat"
"forceCoeffs", line 10: No data in plot"
I think that I did not calculate force and force coefficient correctly.Can any one help me?
Thanks

Ata

jakaranda March 22, 2010 12:02

Hello Ata,

the force.dat file is not in the right format for Gnuplot.

forces.dat has ( and ) which gnuplot can not deal with. you need to remove those.

ata March 23, 2010 03:18

Hi jakaranda
Thank you very much for your reply. Can you explain more for me.
I do not understand what I must to do?
Best regards

jakaranda March 24, 2010 12:59

HEllo ata,

in order to hanve Gnuplot work you must remove all the parentheses.

Ru nthe following script

cat forces.dat | tr -d "("")" > forcesClean.dat

and that will create a forcesClean.dat file wihtout any parentheses which Gnuplot will read.

then wihtin gnuplot use plot "forcesClean.dat" using 1:2 to plot the numbers in the first 2 columns.

for Gnuplot info look at the following websites
http://www.duke.edu/~hpgavin/gnuplot.html
http://t16web.lanl.gov/Kawano/gnuplot/index-e.html

hope this helps

J

jms March 16, 2011 11:08

Dear all,

I am using this function that it is needed in controlDict in orer to get the lift, drag and moment coefficients for a computation of the flow around an airfoil. The results I get for the lift and drag coefficients are very good compared to the reference I am using for both lift and drag coefficients but they are very bad for the moment coefficients. I use CofR=0.25*chord.
Any idea why I am getting this bad results?

Thanks,

José

fisch March 22, 2011 05:45

Hello,

i have two questions about the probes utility.

1. Is the return value of the probe just the cell midpoint value at the cell where the given probe point lies inside or is it interpolated?

2. What about movingMeshes? Are the probes fixed in space or are they moving with the grid? Do i have to make something on the probes relative/absolute like for velocities in the solver?

Thanks,
rupert

gfoam February 5, 2012 12:35

Quote:

Originally Posted by jms (Post 299702)
Dear all,

I am using this function that it is needed in controlDict in orer to get the lift, drag and moment coefficients for a computation of the flow around an airfoil. The results I get for the lift and drag coefficients are very good compared to the reference I am using for both lift and drag coefficients but they are very bad for the moment coefficients. I use CofR=0.25*chord.
Any idea why I am getting this bad results?

Thanks,

José

The moment coefficient in libforces.so, is possitive under the rule of the right hand, while in aeronautics, the pitching moment is possitive nose up. I think this may the cause of your differences.
Gonzalo

buaawangwei April 8, 2012 06:54

Hi jakaranda,
now I use the function of "force",This is my function as follows:
forces
{
type forceCoeffs;
functionObjectLibs ( "libforces.so" );
outputControl timeStep;
outputInterval 1;

patches
(
MAIN
//FLAP
//SLATUP
//SLATDOWN
//SLATWEI
);

pName p;
UName U;
rhoName rho;
log true;
rhoInf 1;
CofR ( 0 0 0 );
liftDir ( -0.104528463 0.994521895 0 );
dragDir ( 0.994521895 0.104528463 0 );
pitchAxis ( 0 0 1 );
magUInf 68;
lRef 0.457;
Aref 1.2933;
}
I have a question at "Aref"and "rhoRef".because now I compute an airfoil,so "lref" is the chord length,but I don't know how to compute the "ARef".And this a "compressible"case,so I also don't know how to define the "rhoInf".Thank you

gfoam April 10, 2012 20:41

Aref is the chord of the airfoil by the lenght in the "z" direction of your problem. If your mesh is a 2D one then Aref=chord*1. The density is computed using the ideal gas law, with the pressure and temperature at freestream conditions.

gabrielfelix August 18, 2021 13:44

I wrote a code for plotting residuals, forces or both

You just gotta execute them at terminal:
Code:

./plotResiduals
./plotForces
./plotRF

plotResiduals:
Code:

#!/bin/bash

# Code for plotting residuals

foamLog log.simpleFoam >/dev/null

gnuplot -persist > /dev/null 2>&1 << EOF
set logscale y
set title "Residual vs. Iteration"
set xlabel "Iteration"
set ylabel "Residual"
plot "logs/Ux_0" with lines,\
"logs/Uy_0" with lines,\
"logs/Uz_0" with lines,\
"logs/p_0" with lines

EOF

plotForces:
Code:

#!/bin/bash

foamLog log.simpleFoam >/dev/null

gnuplot -persist > /dev/null 2>&1 << EOF
set logscale x
set title "Forces vs. Iteration"
set xlabel "Iteration"
set ylabel "Forces"
plot '<sed -e "s/[(,)]//g" ./postProcessing/forces/0/force_0.dat' using 1:2 with lines title 'Fx [N]',\
'<sed -e "s/[(,)]//g" ./postProcessing/forces/0/force_0.dat' using 1:3 with lines title 'Fy [N]',\
'<sed -e "s/[(,)]//g" ./postProcessing/forces/0/force_0.dat' using 1:4 with lines title 'Fz [N]'

EOF

plotRF:
Code:

#!/bin/bash

# Code for plotting residuals and forces

foamLog log.simpleFoam >/dev/null

cat ./postProcessing/forces/0/force_0.dat | tr -d "("")" > ./forceClean.dat

gnuplot -persist > /dev/null 2>&1 << EOF

set terminal wxt size 500,600

set multiplot
set size 1,0.5
set origin 0.0,0.5;
set logscale y
set logscale x
set title "Residual vs. Iteration"
set xlabel "Iteration"
set ylabel "Residual";
plot "logs/Ux_0" with lines,\
"logs/Uy_0" with lines,\
"logs/Uz_0" with lines,\
"logs/p_0" with lines;


set origin 0.0,0.0;
unset logscale y
set title "Forces vs. Iteration"
set xlabel "Iteration"
set ylabel "Forces";
plot '<sed -e "s/[(,)]//g" ./postProcessing/forces/0/force_0.dat' using 1:2 with lines title 'Fx [N]',\
'<sed -e "s/[(,)]//g" ./postProcessing/forces/0/force_0.dat' using 1:3 with lines title 'Fy [N]',\
'<sed -e "s/[(,)]//g" ./postProcessing/forces/0/force_0.dat' using 1:4 with lines title 'Fz [N]'
unset multiplot

EOF



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