Marine systems simulation
Loading...
Searching...
No Matches
CFlexibleBottomRing.h
1#pragma once
2
14
15#include <RMCable/CRing.h>
16#include <sfh/text.h>
17#include "sfh/math.h"
18#include <EnvironmentProvider.h>
19
20
21using namespace RbCable;
22namespace Netcage {
145 public CRing
146{
147public:
148
160 CFlexibleBottomRing(const string& simObjectName, ISimObjectCreator* const creator);
162 virtual void FinalSetup(const double T, const double* const X, ISimObjectCreator* const pCreator);
163
172 void GetExternalForces(const double T, const double* const X, double* m_extlForce, int index);
173
184 const double* outNetConnectorPos(const double T, const double* const X, const int index);
185
196 const double* outNetConnectorVel(const double T, const double* const X, const int index);
197
208 const double* outChainConnectorPos(const double T, const double* const X, const int index);
209
220 const double* outChainConnectorVel(const double T, const double* const X, const int index);
221
222
223
224
225protected:
230
231 double m_Cd_t;
232 double m_Cd_n;
233 double m_Cm_diff;
234
235 ISignalPort** m_aIINetForce;
236 ISignalPort** m_aIIChainForce;
237
242
243 environment::EnvironmentProvider* m_Environment;
244};
245
246} // namespace
SimObject representing a continuous bottom ring.
Definition CFlexibleBottomRing.h:146
int m_ElementsPerChainConnector
number of elements between chain connector positions (must be an int; check perfomed in constructor)
Definition CFlexibleBottomRing.h:229
double m_Cm_diff
Added mass coefficient for diffraction force.
Definition CFlexibleBottomRing.h:233
environment::EnvironmentProvider * m_Environment
Pointer to marenv environment.
Definition CFlexibleBottomRing.h:243
ISignalPort ** m_aIIChainForce
Array of indices to chain connector forces.
Definition CFlexibleBottomRing.h:236
ISignalPort ** m_aIINetForce
Array of indices to net connector forces.
Definition CFlexibleBottomRing.h:235
CFlexibleBottomRing(const string &simObjectName, ISimObjectCreator *const creator)
Reads parameters, registers states, input/output ports and shared resources.
double m_Cd_n
Drag coefficient. Normal drag.
Definition CFlexibleBottomRing.h:232
double ** m_aadChainConnectorVel
Local array for storing output velocities.
Definition CFlexibleBottomRing.h:241
const double * outNetConnectorPos(const double T, const double *const X, const int index)
Output port. Returns the position of indexed net connection point.
int m_numChainConnectors
number of connectors to the bottom ring chains
Definition CFlexibleBottomRing.h:227
int m_numNetConnectors
number of connectors to the net structure
Definition CFlexibleBottomRing.h:226
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_aadChainConnectorPos
Local array for storing output positions.
Definition CFlexibleBottomRing.h:240
double ** m_aadNetConnectorVel
Local array for storing output velocities.
Definition CFlexibleBottomRing.h:239
void GetExternalForces(const double T, const double *const X, double *m_extlForce, int index)
Returns the external forces at indexed element.
int m_ElementsPerNetConnector
number of elements between net 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.
double ** m_aadNetConnectorPos
Local array for storing output positions.
Definition CFlexibleBottomRing.h:238
const double * outChainConnectorVel(const double T, const double *const X, const int index)
Output port. Returns the velocity of indexed chain connection point.
double m_Cd_t
Drag coefficient. Tangential drag.
Definition CFlexibleBottomRing.h:231
Definition CRing.h:105
double m_extlForce[3]
Array for holding current value of external force at a given node.
Definition CRing.h:171
Class modelling a Net cage.
Definition CBottomRing.h:35