Curle
Description
The Curle function object computes the acoustic
pressure based on Curle's analogy.
Curle's analogy is implemented as:
where:
: Curle's acoustic pressure [Pa] or [Pa (m3/kg)]
: Reference speed of sound [m/s]
: Distance vector to observer locations [m]
: Force [N] or [N (m3/kg)]
: Time [s]
Operands
| Operand | Type | Location |
|---|---|---|
| input | - | - |
| output file 1 | dat | $FOAM_CASE/postProcessing/<FO>/<time>/<file> |
| output file 2 | surface file | $FOAM_CASE/<outputDir>/<time>/<surfaceName> |
| output field | - | - |
Usage
Example of the Curle function object
by using functions sub-dictionary in system/controlDict file:
Curle1
{
// Mandatory entries (unmodifiable)
type Curle;
libs (fieldFunctionObjects);
input <point|surface>;
output <point|surface>;
patches (<patch1> <patch2> ... <patchN>);
c0 343;
// Conditional mandatory entries (runtime modifiable)
// if input=point
observerPositions (<point1> <point2> ... <pointN>);
// if input=surface
surface <surfaceFileName>; // "inputSurface.obj";
// if output=surface
surfaceType <surfaceType>; // ensight;
formatOptions
{
vtk
{
format ascii;
}
}
// Optional entries (runtime modifiable)
p p;
// 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: Curle | word | yes | - |
| libs | Library name: fieldFunctionObjects | word | yes | - |
| patches | Sound generation patch names | wordList | yes | - |
| c0 | Reference speed of sound | scalar | yes | - |
| input | Input type | word | yes | - |
| output | Output type | word | yes | - |
| p | Pressure field name | word | no | p |
| observerPositions | List of observer positions (x y z) | pointList | conditional | - |
| surface | Input surface file name | word | conditional | - |
| surfaceType | Output surface type | word | conditional | - |
| formatOptions | Dictionary of surface format options | dictionary | conditional | - |
The inherited entries are elaborated in:
Options for the input and output entries:
point | Operand is a set of points
surface | Operand is a surface
Usage by the postProcess utility is not available.
Notes on entries
- Only the normal-pressure force is included in the force calculation.
Further information
Tutorial:
Source code:
API:
History: Introduced in version v1706