Marine systems simulation
Loading...
Searching...
No Matches
CFlexibleBottomRing.h
1
11#pragma once
12#include "CRing.h"
13#include <sfh/text.h>
14#include "sfh/math.h"
15#include "EnvironmentProvider.h"
16
17
18namespace System {
143 public CRing
144{
145public:
146
158 CFlexibleBottomRing(string simobjectname, ISimObjectCreator* creator);
160 virtual void FinalSetup(const double T, const double* const X, ISimObjectCreator* const pCreator);
161
170 void GetExternalForces(const double T, const double* const X, double* m_extlForce, int index);
171
182 const double* outNetConnectorPos(const double T, const double* const X, const int index);
183
194 const double* outNetConnectorVel(const double T, const double* const X, const int index);
195
206 const double* outChainConnectorPos(const double T, const double* const X, const int index);
207
218 const double* outChainConnectorVel(const double T, const double* const X, const int index);
219
220
221
222
223protected:
228
229 double m_Cd_t;
230 double m_Cd_n;
231 double m_Cm_diff;
232
233 ISignalPort** m_aIINetForce;
234 ISignalPort** m_aIIChainForce;
235
240
241 environment::EnvironmentProvider* m_Environment;
242};
243
244} // namespace
SimObject representing a continuous bottom ring.
Definition CFlexibleBottomRing.h:144
CFlexibleBottomRing(string simobjectname, ISimObjectCreator *creator)
Reads parameters, registers states, input/output ports and shared resources.
double ** m_aadChainConnectorVel
Local array for storing output velocities.
Definition CFlexibleBottomRing.h:239
int m_ElementsPerChainConnector
number of elements between chain connector positions (must be an int; check perfomed in constructor)
Definition CFlexibleBottomRing.h:227
const double * outChainConnectorPos(const double T, const double *const X, const int index)
Output port. Returns the position of indexed chain connection point.
int m_numNetConnectors
number of connectors to the net structure
Definition CFlexibleBottomRing.h:224
double ** m_aadNetConnectorPos
Local array for storing output positions.
Definition CFlexibleBottomRing.h:236
int m_numChainConnectors
number of connectors to the bottom ring chains
Definition CFlexibleBottomRing.h:225
double m_Cd_n
Drag coefficient. Normal drag.
Definition CFlexibleBottomRing.h:230
const double * outNetConnectorVel(const double T, const double *const X, const int index)
Output port. Returns the velocity of indexed net connection point.
double m_Cm_diff
Added mass coefficient for diffraction force.
Definition CFlexibleBottomRing.h:231
int m_ElementsPerNetConnector
number of elements between net connector positions (must be an int; check perfomed in constructor)
Definition CFlexibleBottomRing.h:226
void GetExternalForces(const double T, const double *const X, double *m_extlForce, int index)
Returns the external forces at indexed element.
double ** m_aadNetConnectorVel
Local array for storing output velocities.
Definition CFlexibleBottomRing.h:237
ISignalPort ** m_aIIChainForce
Array of indices to chain connector forces.
Definition CFlexibleBottomRing.h:234
double m_Cd_t
Drag coefficient. Tangential drag.
Definition CFlexibleBottomRing.h:229
const double * outChainConnectorVel(const double T, const double *const X, const int index)
Output port. Returns the velocity of indexed chain connection point.
environment::EnvironmentProvider * m_Environment
Pointer to Environment.
Definition CFlexibleBottomRing.h:241
ISignalPort ** m_aIINetForce
Array of indices to net connector forces.
Definition CFlexibleBottomRing.h:233
const double * outNetConnectorPos(const double T, const double *const X, const int index)
Output port. Returns the position of indexed net connection point.
double ** m_aadChainConnectorPos
Local array for storing output positions.
Definition CFlexibleBottomRing.h:238
Definition CRing.h:21
double m_extlForce[3]
Array for holding current value of external force at a given node.
Definition CRing.h:87
Class modelling a flexible bottom ring, inheriting from CRing in RMCable lib.
Definition CCable.h:139