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

Related:

Source code:

API:

Example usage: