The wallShearStress
function object computes the wall-shear stress at selected wall patches.
\[ \vec \tau = \vec R \cdot \vec n \]
where
\( \vec \tau \) | = | Wall shear stress vector [m2/s2] |
\( \vec R \) | = | Shear-stress symmetric tensor (retrieved from turbulence model) |
\( \vec n \) | = | Patch normal vector (into the domain) |
Operand | Type | Location |
---|---|---|
input | - | - |
output file | dat | $FOAM_CASE/postProcessing/<FO>/<time>/<field> |
output field | volVectorField (only boundaryField) | $FOAM_CASE/<time>/<outField> |
Example of the wallShearStress
function object by using functions
sub-dictionary in system/controlDict
file:
wallShearStress1 { // Mandatory entries (unmodifiable) type wallShearStress; libs (fieldFunctionObjects); // Optional entries (runtime modifiable) patches (<patch1> ... <patchN>); // (wall1 "(wall2|wall3)"); // Optional (inherited) entries writePrecision 8; writeToFile true; useUserTime true; region region0; enabled true; log true; timeStart 0; timeEnd 1000; executeControl timeStep; executeInterval 1; writeControl timeStep; writeInterval 1;
}
where the entries mean:
Property | Description | Type | Required | Default |
---|---|---|---|---|
type | Type name: wallShearStress | word | yes | - |
libs | Library name: fieldFunctionObjects | word | yes | - |
patches | Names of operand patches | wordList | no | all wall patches |
The inherited entries are elaborated in:
Example by using the postProcess
utility:
<solver> -postProcess -func wallShearStress
Tutorial:
Source code:
History