Marine systems simulation
CFlexibleBottomRing.h
1
11#pragma once
12#include "CRing.h"
13#include <sfh/text.h>
14#include "sfh/math.h"
15#include "CEnvironment.h"
16//#include "../environment/DeepSeaGravityWaves.h"
17
18
19namespace System {
144 public CRing
145{
146public:
147
159 CFlexibleBottomRing(string simobjectname, ISimObjectCreator* creator);
161 virtual void FinalSetup(const double T, const double* const X, ISimObjectCreator* const pCreator);
162
171 void GetExternalForces(const double T, const double* const X, double* m_extlForce, int index);
172
183 const double* outNetConnectorPos(const double T, const double* const X, const int index);
184
195 const double* outNetConnectorVel(const double T, const double* const X, const int index);
196
207 const double* outChainConnectorPos(const double T, const double* const X, const int index);
208
219 const double* outChainConnectorVel(const double T, const double* const X, const int index);
220
221
222
223
224protected:
229
230 double m_Cd_t;
231 double m_Cd_n;
232 double m_Cm_diff;
233
234 ISignalPort** m_aIINetForce;
235 ISignalPort** m_aIIChainForce;
236
241
243};
244
245} // namespace
Definition: CEnvironment.h:10
SimObject representing a continuous bottom ring.
Definition: CFlexibleBottomRing.h:145
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:240
CEnvironment * m_Environment
Pointer to DeepSeaGravityWaves, CEnvironment.
Definition: CFlexibleBottomRing.h:242
int m_ElementsPerChainConnector
number of elements between chain connector positions (must be an int; check perfomed in constructor)
Definition: CFlexibleBottomRing.h:228
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:225
double ** m_aadNetConnectorPos
Local array for storing output positions.
Definition: CFlexibleBottomRing.h:237
int m_numChainConnectors
number of connectors to the bottom ring chains
Definition: CFlexibleBottomRing.h:226
double m_Cd_n
Drag coefficient. Normal drag.
Definition: CFlexibleBottomRing.h:231
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:232
int m_ElementsPerNetConnector
number of elements between net connector positions (must be an int; check perfomed in constructor)
Definition: CFlexibleBottomRing.h:227
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:238
ISignalPort ** m_aIIChainForce
Array of indices to chain connector forces.
Definition: CFlexibleBottomRing.h:235
double m_Cd_t
Drag coefficient. Tangential drag.
Definition: CFlexibleBottomRing.h:230
const double * outChainConnectorVel(const double T, const double *const X, const int index)
Output port. Returns the velocity of indexed chain connection point.
ISignalPort ** m_aIINetForce
Array of indices to net connector forces.
Definition: CFlexibleBottomRing.h:234
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:239
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:142