Marine systems simulation
MooringSystemCoribo2.h
1#pragma once
2
7#include <string>
8#include <SimObject.h>
9
10#include "./RingStructureGravityHydro.h"
11#include "./Cable/LineStructureGravityHydro.h"
12#include "./Cable/BuoyCable.h"
13#include "./Cable/FrameCable.h"
14
15namespace Netcage {
16 class MooringSystemCoRiBo2 : public SimObject {
17 public:
18 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
19 MooringSystemCoRiBo2(const std::string& name, ISimObjectCreator* const creator);
21
22 virtual void OdeFcn(const double T, const double *const X, double *const XDot, const bool IsMajorTimeStep);
23 virtual void InitialConditionSetup(const double, const double *const, double* const updatedIC, ISimObjectCreator* const);
24 virtual void FinalSetup(const double T, const double *const X, ISimObjectCreator* const creator);
25
26 virtual void compute(const double T, const double * const X);
27
28#ifdef FH_VISUALIZATION
29 virtual void RenderInit(Ogre::Root* const ogreRoot, ISimObjectCreator* const creator);
30 virtual void RenderUpdate(const double T, const double* const X);
31#endif
32
33 virtual void PreOdeFcn(const double T, const double *const X, IStateUpdater* updater);
34
35 protected:
36
37
38
39 ICommonComputation* m_compute;
40 std::unique_ptr<CoRiBoDynamics::ConstraintSolver> m_solver;
41
42 int m_numU;
43 int m_numV;
44 int m_numLineU;
45 int m_numLineV;
46
47 std::vector<FrameCable*> m_U_cables;
48 std::vector<FrameCable*> m_V_cables;
49 std::vector<BuoyCable*> m_buoy_cables;
50 };
51}
Definition: MooringSystemCoribo2.h:16
Class modelling a Net cage.
Definition: CBottomRing.h:35