|
| | CableRM (const std::string &simObjectName, ISimObjectCreator *const creator) |
| | Reads parameters, registers states, input/output ports and shared resources.
|
| |
| void | OdeFcn (const double T, const double *const X, double *const XDot) const |
| | Computes object derivatives as a function of time, states and input ports.
|
| |
|
void | InitialConditionSetup (const double T, const double *const currentIC, double *const updatedIC, ISimObjectCreator *const creator) |
| |
|
void | FinalSetup (const double T, const double *const X, ISimObjectCreator *const creator) |
| |
|
void | PreOdeFcn (const double T, const double *const X, IStateUpdater *const updater) override |
| | Takes the other objects' wakes at the centres of all elements for the step (MARE-0223).
|
| |
| const double * | forceA (const double T, const double *const X) |
| | Output port. Returns current force in endpoint A of cable.
|
| |
| const double * | forceB (const double T, const double *const X) |
| | Output port. Returns current force in endpoint B of cable.
|
| |
| void | calculations (const double T, const double *const X) |
| | Performs a series of computations within the cable object.
|
| |
|
void | calculationsCommon (const double T, const double *const X) const |
| |
|
|
PrintDuringExec * | m_print |
| |
|
environment::EnvironmentProvider * | m_environment |
| |
|
environment::wake::WakeReceiver | m_wakes |
| | The other objects' wakes at the element centres, per step (MARE-0223).
|
| |
|
std::vector< double > | m_elementCentres |
| | The centres of all elements at the last take, 3 per element.
|
| |
|
int | m_numElements |
| |
|
double | m_totalLength |
| |
|
double | m_radius |
| |
|
double | m_weight |
| |
|
double | m_alphaN |
| |
|
double | m_betaN |
| |
|
double | m_epsilonN |
| |
|
double | m_alphaM |
| |
|
double | m_betaM |
| |
|
double | m_epsilonM |
| |
|
double | m_alphaT |
| |
|
double | m_betaT |
| |
|
double | m_epsilonT |
| |
|
double | m_bending_epsilon [3] |
| |
|
double | m_length |
| |
|
double | m_mass |
| |
|
double | m_Ixy |
| |
|
double | m_Iz |
| |
|
bool | m_kelp |
| |
|
double | m_wKelp |
| |
|
element * | m_el |
| |
|
ISignalPort * | m_posA |
| |
|
ISignalPort * | m_posB |
| |
|
ISignalPort * | m_velA |
| |
|
ISignalPort * | m_velB |
| |
|
ISignalPort * | m_retractedLengthA |
| |
|
ISignalPort * | m_retractedLengthB |
| |
|
ISignalPort * | m_retractedSpeedA |
| |
|
ISignalPort * | m_retractedSpeedB |
| |
|
int | m_retractedNodesA |
| |
|
int | m_retractedNodesB |
| |
|
int | m_numFreeNodes |
| |
|
vec3 | m_ka |
| |
|
vec3 | m_kb |
| |
|
ICommonComputation * | m_calcDynamics |
| |
|
Eigen::Matrix< double, Eigen::Dynamic, 1 > | m_lambda |
| |
|
Eigen::Matrix< double, Eigen::Dynamic, 1 > | m_F_MDotV |
| |
|
Eigen::Matrix< double, Eigen::Dynamic, 1 > | m_B |
| |
|
double | m_forceA [3] |
| |
|
double | m_forceB [3] |
| |
- Author
- Jørgen Haavind Jensen
Simobject name for use in input file: Cable.
Retains the same structural properties as the simObject CFlexibleBottomRing, but has a simpler interface where Young's and shear moduluses are provided rather than using the \(\alpha\), \(\beta\) and \(\epsilon\) values used in CFlexibleBottomRing.
- Parameters
| Parameter | Default | Comment |
| cableLength | - | total length of the cable [m] |
| numElements | - | number of rigid elements in the cable [#] |
| diameter | - | diameter of the cable. [m] |
| cableWeight | - | weight of the cable [kg/m] |
| E-modulus | - | Young's modulus for cable material [Pa] (used as given in the compliance formulas of the class description) |
| G-modulus | \(\frac{E-modulus}{2.6}\) | shear modulus for cable material [Pa] |
| damping | 1 | structural damping in the cable [-] |
| updateFreq | - | parameter which preserves simulation stability [-] |
| stabilityFactor | - | parameter which preserves simulation stability [-] |
| ExternalWakeUpdate | Step<td>Step takes the other objects' wakes at the element centres once per integrator step (in PreOdeFcn) and holds them for the step; Evaluation composes them live in every evaluation (MARE-0223)
|
- Input ports
| Tag | Size | Comment |
| PositionA | 3 | position of end-connection point A |
| PositionB | 3 | position of end-connection point B |
| VelocityA | 3 | velocity of end-connection point A |
| VelocityB | 3 | velocity of end-connection point B |
| RetractedLengthA | 1 | length of cable retracted on side A |
| RetractedLengthB | 1 | length of cable retracted on side B |
| RetractedSpeedA | 1 | retraction rate of cable retracted on side A |
| RetractedSpeedB | 1 | retraction rate of cable retracted on side B |
- Output ports
| Tag | Size | Comment |
| ForceA | 3 | Reaction force on side A |
| ForceB | 3 | Reaction force on side B |
- States
| Tag | Size | Comment |
| pos<i> | 3 | Position (x,y,z) of element with index <i> |
| vel<i> | 3 | Velocity of element with index <i> |
| theta<i> | 4 | Quaternion of element with index <i> |
| omega<i> | 3 | Angular derivatives of element (?) <i>
|
- Note
- The hydrodynamic load model does not currently support the effect of added mass (MARE-0314). Above the seabed each element's load is that of water for its wet fraction f against the wave surface (a cylinder between its ends, gated by MaxWaveElevation) and that of air for 1 - f, and in waves it takes the Froude-Krylov force rho f V a_n normal to its axis (owner ruling R104,
CableRMWaterLoad.h). It was all water or all air by its centre's side of the surface. The other objects' wakes are taken once per integrator step, in PreOdeFcn, at the centres of all elements and held for the step; the current and the waves stay live (MARE-0223).
- Revision history:
- Q3 2011 JHJ: Initial version.