Marine systems simulation
Ship::Propeller4Q Class Reference
+ Inheritance diagram for Ship::Propeller4Q:
+ Collaboration diagram for Ship::Propeller4Q:

Classes

struct  Curve4Q
 

Public Types

enum  VentilationTheory { Ruth = 666 , Smogeli }
 
enum  PropellerType { Open , Ducted , Tunnel }
 

Public Member Functions

 Propeller4Q (const string simObjectName, ISimObjectCreator *const creator)
 
void FinalSetup (const double T, const double *const X, ISimObjectCreator *const creator)
 
void OdeFcn (const double T, const double *const X, double *const XDot, const bool bIsMajorTimeStep)
 
void GetCurrent (const double T, const double *const X, const double position[3], double *currentVelocity)
 
const double * Us (const double T, const double *const X)
 
const double * Rs (const double T, const double *const X)
 
const double * BetaT (const double T, const double *const X)
 
const double * BetaQ (const double T, const double *const X)
 
const double * Ct (const double T, const double *const X)
 
const double * Cq (const double T, const double *const X)
 
const double * ForceNED (const double T, const double *const X)
 
const double * TorqueNED (const double T, const double *const X)
 
const double * ForceBody (const double T, const double *const X)
 
const double * TorqueBody (const double T, const double *const X)
 
const double * BetaH (const double T, const double *const X)
 
const double * PDCurrent (const double T, const double *const X)
 
const double * ForceCorrectedBody (const double T, const double *const X)
 
const double * TorqueCorrectedBody (const double T, const double *const X)
 
const double * ForceCorrectedNED (const double T, const double *const X)
 
const double * TorqueCorrectedNED (const double T, const double *const X)
 
const double * ShaftTorqueCorrectedBody (const double T, const double *const X)
 
const double * ShaftTorqueBody (const double T, const double *const X)
 
const double * ShaftPowerCorrected (const double T, const double *const X)
 
const double * ShaftPower (const double T, const double *const X)
 
void Compute (const double T, const double *const X)
 

Protected Attributes

ICommonComputation * m_compute
 
Eigen::Vector3d m_ForceNED
 
Eigen::Vector3d m_ForceBody
 
Eigen::Vector3d m_TorqueNED
 
Eigen::Vector3d m_TorqueBody
 
Eigen::Vector3d m_ForceCorrectedNED
 
Eigen::Vector3d m_ForceCorrectedBody
 
Eigen::Vector3d m_TorqueCorrectedNED
 
Eigen::Vector3d m_TorqueCorrectedBody
 
double m_shaftTorque
 
double m_shaftTorqueCorrected
 
double m_shaftPower
 
double m_shaftPowerCorrected
 
double m_shaftPowerScaling
 
double m_propellerThrustScaling
 
bool m_lowSpeedJet
 
double m_Us
 
double m_Rs
 
double m_betaT
 
double m_betaQ
 
double m_beta_h
 
double m_PDcur
 
ISignalPort * m_InOrientationNED
 
ISignalPort * m_InMyRPM
 
ISignalPort * m_InMyPD
 
ISignalPort * m_InVelocityNED
 
ISignalPort * m_InPositionNED
 
CEnvironmentm_environment
 
PropellerType m_PropellerType
 
VentilationTheory m_VentilationTheory
 
int m_IndexVentialtionStateQ
 
int m_IndexVentialtionStateT
 
int m_IndexAxialFlowStateLow
 
int m_IndexAxialFlowStateHigh
 
int m_IndexRotationalFlowState1
 
int m_IndexRotationalFlowState2
 
double m_D
 
int m_numPD
 
double * m_PD
 
Curve4Qm_curve
 
double m_Cq
 
double m_Ct
 
double m_deltaBetaPlus
 
double m_deltaBetaMinus
 
double m_U
 
double m_WakeFraction
 
double m_ThrustDeduction
 
bool m_azimuthinMainLoss
 

Member Enumeration Documentation

◆ PropellerType

List of propeller types

◆ VentilationTheory

List of ventilation theories

Member Function Documentation

◆ BetaH()

const double * Ship::Propeller4Q::BetaH ( const double  T,
const double *const  X 
)

Current hydrodynamic angle of attack

◆ BetaQ()

const double * Ship::Propeller4Q::BetaQ ( const double  T,
const double *const  X 
)

The percentage of torque loss due to ventilation [-]

◆ BetaT()

const double * Ship::Propeller4Q::BetaT ( const double  T,
const double *const  X 
)

The percentage of thrust loss due to ventilation [-]

◆ Cq()

const double * Ship::Propeller4Q::Cq ( const double  T,
const double *const  X 
)

Currently used torque coefficient

◆ Ct()

const double * Ship::Propeller4Q::Ct ( const double  T,
const double *const  X 
)

Currently used thrust coefficient

◆ ForceBody()

const double * Ship::Propeller4Q::ForceBody ( const double  T,
const double *const  X 
)

The force produced by the propeller in body coordinates

◆ ForceCorrectedBody()

const double * Ship::Propeller4Q::ForceCorrectedBody ( const double  T,
const double *const  X 
)

Force corrected for loss effects in body frame

◆ ForceCorrectedNED()

const double * Ship::Propeller4Q::ForceCorrectedNED ( const double  T,
const double *const  X 
)

The force produced by the propeller in north-east-down coordinates

◆ ForceNED()

const double * Ship::Propeller4Q::ForceNED ( const double  T,
const double *const  X 
)

The force produced by the propeller in north-east-down coordinates

◆ GetCurrent()

void Ship::Propeller4Q::GetCurrent ( const double  T,
const double *const  X,
const double  position[3],
double *  currentVelocity 
)
virtual

Implements ICurrentField.

◆ PDCurrent()

const double * Ship::Propeller4Q::PDCurrent ( const double  T,
const double *const  X 
)

Current propeller PD value

◆ Rs()

const double * Ship::Propeller4Q::Rs ( const double  T,
const double *const  X 
)

The radius of the propeller downstream jet in meters

◆ ShaftPower()

const double * Ship::Propeller4Q::ShaftPower ( const double  T,
const double *const  X 
)

Shaft power consumed

◆ ShaftPowerCorrected()

const double * Ship::Propeller4Q::ShaftPowerCorrected ( const double  T,
const double *const  X 
)

Shaft power consumed corrected for losses

◆ ShaftTorqueBody()

const double * Ship::Propeller4Q::ShaftTorqueBody ( const double  T,
const double *const  X 
)

Shaft torque in body frame

◆ ShaftTorqueCorrectedBody()

const double * Ship::Propeller4Q::ShaftTorqueCorrectedBody ( const double  T,
const double *const  X 
)

Shaft torque corrected for losses in body frame

◆ TorqueBody()

const double * Ship::Propeller4Q::TorqueBody ( const double  T,
const double *const  X 
)

The torque produced by the propeller in body coordinates

◆ TorqueCorrectedBody()

const double * Ship::Propeller4Q::TorqueCorrectedBody ( const double  T,
const double *const  X 
)

The torque produced by the propeller in body coordinates

◆ TorqueCorrectedNED()

const double * Ship::Propeller4Q::TorqueCorrectedNED ( const double  T,
const double *const  X 
)

The torque produced by the propeller in north-east-down coordinates

◆ TorqueNED()

const double * Ship::Propeller4Q::TorqueNED ( const double  T,
const double *const  X 
)

The torque produced by the propeller in north-east-down coordinates

◆ Us()

const double * Ship::Propeller4Q::Us ( const double  T,
const double *const  X 
)

The propeller induced velocity on the water particle traveling through the propeller disk in m/s

Member Data Documentation

◆ m_beta_h

double Ship::Propeller4Q::m_beta_h
protected

Hydrodynamic angle of attack

◆ m_betaQ

double Ship::Propeller4Q::m_betaQ
protected

Fraction of torque due to ventilation

◆ m_betaT

double Ship::Propeller4Q::m_betaT
protected

Fraction of thrust available due to ventilation

◆ m_Cq

double Ship::Propeller4Q::m_Cq
protected

Current torque coefficient

◆ m_Ct

double Ship::Propeller4Q::m_Ct
protected

Current thrust coefficient

◆ m_curve

Curve4Q* Ship::Propeller4Q::m_curve
protected

Ct and Cq curves for each PD value

◆ m_D

double Ship::Propeller4Q::m_D
protected

Propeller diameter

◆ m_deltaBetaMinus

double Ship::Propeller4Q::m_deltaBetaMinus
protected

Maximum change rate for ventilation state in negative direction

◆ m_deltaBetaPlus

double Ship::Propeller4Q::m_deltaBetaPlus
protected

Maximum change rate for ventilation state in positive direction

◆ m_environment

CEnvironment* Ship::Propeller4Q::m_environment
protected

The environment object in the simulation

◆ m_ForceBody

Eigen::Vector3d Ship::Propeller4Q::m_ForceBody
protected

Output variable for force in local frame

◆ m_ForceCorrectedBody

Eigen::Vector3d Ship::Propeller4Q::m_ForceCorrectedBody
protected

Output variable for force corrected for losses in local frame

◆ m_ForceCorrectedNED

Eigen::Vector3d Ship::Propeller4Q::m_ForceCorrectedNED
protected

Output variable for force corrected for losses in global frame

◆ m_ForceNED

Eigen::Vector3d Ship::Propeller4Q::m_ForceNED
protected

Output variable for force in global frame

◆ m_IndexAxialFlowStateHigh

int Ship::Propeller4Q::m_IndexAxialFlowStateHigh
protected

State index for high-speed axial induced propeller flow model

◆ m_IndexAxialFlowStateLow

int Ship::Propeller4Q::m_IndexAxialFlowStateLow
protected

State index for low-speed axial induced propeller flow model

◆ m_IndexVentialtionStateQ

int Ship::Propeller4Q::m_IndexVentialtionStateQ
protected

State index for ventilation torque correction

◆ m_IndexVentialtionStateT

int Ship::Propeller4Q::m_IndexVentialtionStateT
protected

State index for ventilation force correction

◆ m_InMyPD

ISignalPort* Ship::Propeller4Q::m_InMyPD
protected

The current pitch/diameter ratio of the propeller

◆ m_InMyRPM

ISignalPort* Ship::Propeller4Q::m_InMyRPM
protected

The rotational speed of the propeller in RPM

◆ m_InOrientationNED

ISignalPort* Ship::Propeller4Q::m_InOrientationNED
protected

The unit vector along the propeller thrust direction

◆ m_InPositionNED

ISignalPort* Ship::Propeller4Q::m_InPositionNED
protected

The position of the propeller in north-east-down coordinates

◆ m_InVelocityNED

ISignalPort* Ship::Propeller4Q::m_InVelocityNED
protected

The linear velocity which the propeller travels through the water in north-east-down coordinates

◆ m_lowSpeedJet

bool Ship::Propeller4Q::m_lowSpeedJet
protected

Only use low speed propeller jet formulation

◆ m_numPD

int Ship::Propeller4Q::m_numPD
protected

Number of PD values in use

◆ m_PD

double* Ship::Propeller4Q::m_PD
protected

Vector of PD values

◆ m_PDcur

double Ship::Propeller4Q::m_PDcur
protected

Current PD value

◆ m_propellerThrustScaling

double Ship::Propeller4Q::m_propellerThrustScaling
protected

Linear scale applied to thrust output

◆ m_PropellerType

PropellerType Ship::Propeller4Q::m_PropellerType
protected

Type op propeller(used for ventilation model)

◆ m_Rs

double Ship::Propeller4Q::m_Rs
protected

Propeller jet stream radius "downstream"

◆ m_shaftPower

double Ship::Propeller4Q::m_shaftPower
protected

Output variable for shaft power

◆ m_shaftPowerCorrected

double Ship::Propeller4Q::m_shaftPowerCorrected
protected

Output variable for shaft power corrected for losses and ventilation

◆ m_shaftPowerScaling

double Ship::Propeller4Q::m_shaftPowerScaling
protected

Linear scale applied to shaft power output

◆ m_shaftTorque

double Ship::Propeller4Q::m_shaftTorque
protected

Output variable for shaft torque

◆ m_shaftTorqueCorrected

double Ship::Propeller4Q::m_shaftTorqueCorrected
protected

Output variable for shaft torque corrected for losses and ventilation

◆ m_ThrustDeduction

double Ship::Propeller4Q::m_ThrustDeduction
protected

Thrust deduction factor (reduction in effective thrust from low pressure region generated on hull by propeller)

◆ m_TorqueBody

Eigen::Vector3d Ship::Propeller4Q::m_TorqueBody
protected

Output variable for in local frame

◆ m_TorqueCorrectedBody

Eigen::Vector3d Ship::Propeller4Q::m_TorqueCorrectedBody
protected

Output variable for torque corrected for losses in local frame

◆ m_TorqueCorrectedNED

Eigen::Vector3d Ship::Propeller4Q::m_TorqueCorrectedNED
protected

Output variable for torque corrected for losses in global frame

◆ m_TorqueNED

Eigen::Vector3d Ship::Propeller4Q::m_TorqueNED
protected

Output variable for torque in global frame

◆ m_U

double Ship::Propeller4Q::m_U
protected

Inflow velocity

◆ m_Us

double Ship::Propeller4Q::m_Us
protected

Induced velocity in propeller jet stream

◆ m_VentilationTheory

VentilationTheory Ship::Propeller4Q::m_VentilationTheory
protected

Ventilation theory in use

◆ m_WakeFraction

double Ship::Propeller4Q::m_WakeFraction
protected

Hull wake fraction (decrease in inflow velocity vs free stream velocity)


The documentation for this class was generated from the following file: