Automatic adjustment option for the propellerDisk momentum source. More...

Public Member Functions | |
| propellerDiskAdjustment (const propellerDisk &, const dictionary &dict) | |
| Construct from components. More... | |
| propellerDiskAdjustment (const propellerDiskAdjustment &)=delete | |
| Disallow default bitwise copy construction. More... | |
| ~propellerDiskAdjustment () | |
| Destructor. More... | |
| void | operator= (const propellerDiskAdjustment &)=delete |
| Disallow default bitwise assignment. More... | |
Protected Member Functions | |
| scalar | resistance () const |
| Return the ship resistance (for self-propulsion correction) More... | |
| scalar | n () const |
| Return the current rotation speed. More... | |
| void | correctn (const scalar T) const |
| Correct the rotation speed from the current propulsion force. More... | |
Protected Attributes | |
| const propellerDisk & | propellerDisk_ |
| Reference to the propellerDisk fvModel. More... | |
| autoPtr< functionObjects::forces > | forces_ |
| Function object to calculate the resistance force. More... | |
| scalar | startTime_ |
| Start time for rotation speed adjustment. More... | |
| scalar | deltaTStar_ |
| Relaxation time scale for rotation speed adjustment. More... | |
| scalar | nFraction_ |
| Maximum fractional change of rotation speed. More... | |
| scalar | Tmin_ |
| Minimum thrust for beta [N]. More... | |
| scalar | sfc_ |
| Skin friction correction for model-scale ship [N]. More... | |
| scalar | resistanceFraction_ |
| Resistance fraction for multi-propulsor configurations. More... | |
| vector | resistanceDirection_ |
| Resistance force direction. More... | |
| uniformDimensionedScalarField | n_ |
| Self-propulsion corrected rotational speed [1/s]. More... | |
Friends | |
| class | propellerDisk |
Automatic adjustment option for the propellerDisk momentum source.
A proportional-integral (PI) controller is used to adjust the propeller rotation speed to achieve balance between the propeller thrust and the hull resistance. A user-specified relaxation time is used to control the rate at which the porpeller speed is adjusted.
Reference:
Nuutinen, M. (2019).
Automated self-propulsion point search algorithm for ship performance
CFD simulations.
Sixth International Symposium on Marine Propulsors, SMP’19 Rome, Italy.
diskSource
{
type propellerDisk;
libs ("libpropellerDisk.so");
cellZone propeller;
normal (1 0 0); // Normal direction of the propeller
n 26.03; // Rotation speed [1/s]
dPropeller 0.203; // Propeller diameter
dHub 0.039179; // Hub diameter
// Automatic adjustment controls
adjustment yes;
startTime 0; // Start time of rotation speed adjustment
deltaTStar 0.1; // Relaxation time scaler [s]
nFraction 0.1; // Maximum fractional change of rotation speed
sfc 0; // Skin-friction correction [N]
Tmin 1; // Minimum thrust for beta [N]
resistanceFraction 1; // Defaults to 1
resistanceDirection $normal; // Defaults to $normal
forces
{
type forces;
libs ("libforces.so");
patches (pod pod_end napa napa_karki rako);
log on;
writeControl timeStep;
writeInterval 1;
CofR (0 0 0);
rho rhoInf;
rhoInf 998.8;
}
propellerCurve
{
type table;
// J Kt Kq
values
(
(0.10 (0.3267 0.03748))
(0.15 (0.3112 0.03629))
(0.20 (0.2949 0.03500))
(0.25 (0.2777 0.03361))
(0.30 (0.2598 0.03210))
(0.35 (0.2410 0.03047))
(0.40 (0.2214 0.02871))
(0.45 (0.2010 0.02682))
(0.50 (0.1798 0.02479))
(0.55 (0.1577 0.02261))
(0.60 (0.1349 0.02027))
(0.65 (0.1112 0.01777))
(0.70 (0.0867 0.01509))
(0.75 (0.0614 0.01224))
(0.80 (0.0353 0.00921))
);
}
}
Definition at line 134 of file propellerDiskAdjustment.H.
| propellerDiskAdjustment | ( | const propellerDisk & | pd, |
| const dictionary & | dict | ||
| ) |
Construct from components.
Definition at line 65 of file propellerDiskAdjustment.C.
References dict.
|
delete |
Disallow default bitwise copy construction.
|
inline |
Destructor.
Definition at line 212 of file propellerDiskAdjustment.H.
|
protected |
Return the ship resistance (for self-propulsion correction)
Definition at line 56 of file propellerDiskAdjustment.C.
|
inlineprotected |
Return the current rotation speed.
Definition at line 177 of file propellerDiskAdjustment.H.
References propellerDiskAdjustment::n_.
|
protected |
Correct the rotation speed from the current propulsion force.
Definition at line 91 of file propellerDiskAdjustment.C.
References primitiveMesh::cellVolumes(), TimeState::deltaT(), Foam::dimRate, Foam::gSum(), Foam::mag(), Foam::max(), mesh, Foam::min(), n, rho, Foam::sign(), Foam::sqr(), Foam::T(), fvMesh::time(), fvCellZone::V(), dimensioned< Type >::value(), and generatedCellZone::zone().

|
delete |
Disallow default bitwise assignment.
|
friend |
Definition at line 185 of file propellerDiskAdjustment.H.
|
protected |
Reference to the propellerDisk fvModel.
Definition at line 141 of file propellerDiskAdjustment.H.
|
mutableprotected |
Function object to calculate the resistance force.
Definition at line 144 of file propellerDiskAdjustment.H.
|
protected |
Start time for rotation speed adjustment.
Definition at line 147 of file propellerDiskAdjustment.H.
|
protected |
Relaxation time scale for rotation speed adjustment.
Definition at line 150 of file propellerDiskAdjustment.H.
|
protected |
Maximum fractional change of rotation speed.
Definition at line 153 of file propellerDiskAdjustment.H.
|
protected |
Minimum thrust for beta [N].
Definition at line 156 of file propellerDiskAdjustment.H.
|
protected |
Skin friction correction for model-scale ship [N].
Definition at line 159 of file propellerDiskAdjustment.H.
|
protected |
Resistance fraction for multi-propulsor configurations.
Definition at line 162 of file propellerDiskAdjustment.H.
|
protected |
Resistance force direction.
Definition at line 165 of file propellerDiskAdjustment.H.
|
mutableprotected |
Self-propulsion corrected rotational speed [1/s].
Definition at line 168 of file propellerDiskAdjustment.H.
Referenced by propellerDiskAdjustment::n().