Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • openfoam openfoam
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 420
    • Issues 420
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 7
    • Merge requests 7
  • Deployments
    • Deployments
    • Releases
  • Wiki
    • Wiki
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • Development
  • openfoamopenfoam
  • Merge requests
  • !519

Added new propellerInfo function object

  • Review changes

  • Download
  • Email patches
  • Plain diff
Merged Andrew Heather requested to merge feature-propeller-info into develop Dec 13, 2021
  • Overview 0
  • Commits 2
  • Changes 6

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///propellerPerformance.dat

Controlled by writeControl:

  • Wake field text file
    • Wake: 1 - UzMean/URef
    • Velocity in cylindrical coordinates at xyz locations
    • Written to postProcessing///wake.dat
  • Axial wake field text file
    • 1 - Uz/URef at r/R and angle
    • Written to postProcessing///axialWake.dat
  • Velocity surface
    • Written to postProcessing//surfaces/time>/disk.

Example wake field - Courtesy of Yannick Eberhard, Promarin GmbH

v2112-postProcessing-propellerInfo

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

  • URef is a scalar Function1 type, i.e. supports constant, table, lookup values
  • rotationMode is used to set the origin, axis and revolutions per second
    • if set to specified all 3 entries are required
      • note: origin is the sample disk origin
    • if set to MRF only the MRF entry is required
      • to move the sample disk away from the MRF origin, use the originOffset
  • if writePropellerPerformance is set to on|true:
    • propellerPerformance text file will be written
  • if writeWakeFields is set to on|true:
    • wake and axialWake text files will be written
  • if the surfaceWriter entry is set, the sample disk surface will be written
    • extents set according to the r1 and r2 entries
    • discretised according to the nTheta and nRadial entries

Note: sign-off in EP 1719

Edited Dec 14, 2021 by Andrew Heather
Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: feature-propeller-info