Added new propellerInfo function object
Calculates propeller performance and wake field properties.
Controlled by executeControl:
- Propeller performance
- Thrust coefficient, Kt
- Torque coefficient, 10*Kq
- Advance coefficient, J
- Open water efficiency, etaO
- Written to postProcessing//
Controlled by writeControl:
- Wake field text file
- Wake: 1 - UzMean/URef
- Velocity in cylindrical coordinates at xyz locations
- Written to postProcessing//
- Axial wake field text file
- 1 - Uz/URef at r/R and angle
- Written to postProcessing//
- Velocity surface
- Written to postProcessing//surfaces/time>/disk.
Example wake field - Courtesy of Yannick Eberhard, Promarin GmbH
Usage
Example of function object specification:
propellerInfo1
{
type propellerInfo;
libs (forces);
writeControl writeTime;
patches ("propeller.*");
URef 5; // Function1 type; 'constant' form shown here
rho rhoInf; // incompressible
rhoInf 1.2;
// Optionally write propeller performance data
writePropellerPerformance yes;
// Propeller data:
// Radius
radius 0.1;
rotationMode specified; // specified | MRF
// rotationMode = specified:
origin (0 -0.1 0);
n 25.15;
axis (0 1 0);
// Optional reference direction for angle (alpha) = 0
alphaAxis (1 0 0);
//// rotationMode = mrf
//// MRF MRFZoneName;
//// (origin, n and axis retrieved from MRF model)
// Optionally write wake text files
// Note: controlled by writeControl
writeWakeFields yes;
// Sample plane (disk) properties
// Note: controlled by writeControl
sampleDisk
{
surfaceWriter vtk;
r1 0.05;
r2 0.2;
nTheta 36;
nRadial 10;
interpolationScheme cellPoint;
errorOnPointNotFound false;
}
}
Where the entries comprise:
| Property | Description | Required | Deflt value |
|---|---|---|---|
| type | Type name: propellerInfo | yes | |
| log | Write to standard output | no | no |
| patches | Patches included in the forces calculation | yes | |
| p | Pressure field name | no | p |
| U | Velocity field name | no | U |
| rho | Density field name | no | rho |
| URef | Reference velocity | yes | |
| rotationMode | Rotation mode (see below) | yes | |
| origin | Sample disk centre | no* | |
| n | Revolutions per second | no* | |
| axis | Propeller axis | no* | |
| alphaAxis | Axis that defines alpha=0 dir | no | |
| MRF | Name of MRF zone | no* | |
| originOffset | Origin offset for MRF mode | no | (0 0 0) |
| writePropellerPerformance | Write propeller performance text file | yes | |
| writeWakeFields | Write wake field text files | yes | |
| surfaceWriter | Sample disk surface writer | no* | |
| r1 | Sample disk inner radius | no | 0 |
| r2 | Sample disk outer radius | no* | |
| nTheta | Divisions in theta direction | no* | |
| nRadial | Divisions in radial direction | no* | |
| interpolationScheme | Sampling interpolation scheme | no* | cell |
Note
-
URefis a scalarFunction1type, i.e. supportsconstant,table, lookup values -
rotationModeis used to set the origin, axis and revolutions per second- if set to
specifiedall 3 entries are required- note:
originis the sample disk origin
- note:
- if set to
MRFonly the MRF entry is required- to move the sample disk away from the MRF origin, use the
originOffset
- to move the sample disk away from the MRF origin, use the
- if set to
- if
writePropellerPerformanceis set to on|true:-
propellerPerformancetext file will be written
-
- if
writeWakeFieldsis set to on|true:- wake and
axialWaketext files will be written
- wake and
- if the
surfaceWriterentry is set, the sample disk surface will be written- extents set according to the
r1andr2entries - discretised according to the
nThetaandnRadialentries
- extents set according to the
Note: sign-off in EP 1719
Edited by Andrew Heather
