The forces
function object generates aerodynamic force and moment
data for surfaces and porous regions, with optional
- inclusion of porous drag
- local co-ordinate system
- data binning
Forces comprise normal pressure
\[\vec{F}_p = \sum_i \rho_i \vec{s}_{f,i} \left(p_i - p_{\ref}\right)\]and tangential viscous contributions:
\[\vec{F}_v = \sum_i s_{f,i} \dprod \left(\mu \tensor{R_{\mathrm{dev}}} \right)\]Where \(\rho\) is the density, \(\vec{s}_{f,i}\) the face area vector, \(p\) the pressure\(\mu\) the dynamic viscosity and \(\tensor{R_{\mathrm{dev}}}\) the deviatoric stress tensor.
Usage🔗
Basic operation of the forces
function object comprises:
forces1
{
type forces;
libs ("libforces.so");
patches (<list of patch names>);
}
For more complete control, the full set of input entries includes:
forces1
{
// Mandatory entries
type forces;
libs ("libforces.so");
patches (<list of patch names>);
// Optional entries
// Field names
p p;
U U;
rho rho;
// Reference pressure [Pa]
pRef 0;
// Include porosity effects?
porosity no;
// Store and write volume field representations of forces and moments
writeFields yes;
// Centre of rotation for moment calculations
CofR (0 0 0);
// Spatial data binning
// - extents given by the bounds of the input geometry
binData
{
nBin 20;
direction (1 0 0);
cumulative yes;
}
}
Default behaviour assumes that the case is compressible. For incompressible
cases, i.e. solved using the
kinematic pressure
the rho
entry can be used to set the free stream density:
rho rhoInf;
rhoInf 100000;
Sample output🔗
Text reporting:
-
integrated force and moment data divided into total, pressure, viscous and porous contributions
Sum of forces Total : xxx Pressure : xxx Viscous : xxx Porous : xxx Sum of moments Total : xxx Pressure : xxx Viscous : xxx Porous : xxx
Stored properties🔗
Reduced data🔗
The following data are stored by the function object, and can be used by other function objects:
-
normalForce
: total normal force -
tangentialForce
: total tangential force -
porousForce
: total porous force -
normalMoment
: total normal moment -
tangentialMoment
: total tangential moment -
porousMoment
: total porous moment
Fields🔗
Optional storing and writing of force and moment fields:
-
forces
: forces -
moments
: moments
Further information🔗
Related:
- force coefficients function object
Source code:
API:
Example usage:
-
pimpleFoam
propeller
tutorial: $FOAM_TUTORIALS/incompressible/pimpleFoam/RAS/propeller