The flowType function object computes the flow type indicator of an input velocity field.
The flow type indicator is obtained according to the following equation:
\[ \lambda = \frac{\mag{\tensor D} - \mag{\tensor \Omega}}{ \mag{\tensor D} + \mag{\tensor \Omega}} \]
where
| \( \lambda \) | = | Flow type indicator |
| \( \tensor D \) | = | Symmetric part of the gradient tensor of velocity |
| \( \tensor \Omega \) | = | Skew-symmetric part of the gradient tensor of velocity |
The flow type indicator values mean:
-1 = rotational flow 0 = simple shear flow 1 = planar extensional flow
| Operand | Type | Location |
|---|---|---|
| input | volVectorField | $FOAM_CASE/<time>/<inpField> |
| output file | - | - |
| output field | volScalarField | $FOAM_CASE/<time>/<outField> |
Example of the flowType function object by using functions sub-dictionary in system/controlDict file:
flowType1
{
// Mandatory entries (unmodifiable)
type flowType;
libs (fieldFunctionObjects);
// Optional (inherited) entries
field <field>;
result <fieldResult>;
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: flowType | word | yes | - |
| libs | Library name: fieldFunctionObjects | word | yes | - |
The inherited entries are elaborated in:
Example by using the postProcess utility:
postProcess -func flowType
Tutorial:
Source code:
History