FhSim  3.1.0
Marine systems simulation
Loading...
Searching...
No Matches
InternalCableWithAttractor.h
1
9
10#pragma once
11
12// Includes
13#include "AttractorBase.h"
14
15#include <cable/subroutines/InternalCableWithBottomContact.h>
16
17// Class definition
19{
20public:
22 InternalCableWithAttractor(ISimObjectCreator* creator, const SCableSpec& CableSpec, std::string attractorName);
23 virtual void FinalSetup(const double dT, const double* const adX, ISimObjectCreator* const creator);
24
26 void SetAttractor(AttractorBase* attractor);
27
29 virtual void OdeFcn(const double* const adPosA,
30 const double* const adVelA,
31 const double* const adPosB,
32 const double* const adVelB,
33 const double* const adX,
34 double* const adXDot,
35 double dT) const;
36
37protected:
39 void AddAttractorForces(const double* const adX) const;
40
42 void AddElementForce(int cableElement,
43 const double adPosA[3],
44 const double adVelA[3],
45 const double adPosB[3],
46 const double adVelB[3],
47 double adForceA[3],
48 double adForceB[3],
49 double dT);
50
51
52 std::string m_attractorName;
54};
Class modelling the interface of a general attractor.
Definition AttractorBase.h:17
Class containing a cable object to be part of larger cable structures.
Definition InternalCableWithAttractor.h:19
void SetAttractor(AttractorBase *attractor)
Sets the attractor to use.
virtual void OdeFcn(const double *const adPosA, const double *const adVelA, const double *const adPosB, const double *const adVelB, const double *const adX, double *const adXDot, double dT) const
Calculates the state derivatives and the end forces.
InternalCableWithAttractor(ISimObjectCreator *creator, const SCableSpec &CableSpec, std::string attractorName)
The constructor sets the pointer to the output object and the parser object.
AttractorBase * m_attractor
A pointer to the attractor to use.
Definition InternalCableWithAttractor.h:53
void AddElementForce(int cableElement, const double adPosA[3], const double adVelA[3], const double adPosB[3], const double adVelB[3], double adForceA[3], double adForceB[3], double dT)
Adds the forces from each cable element.
void AddAttractorForces(const double *const adX) const
Adds the attractor forces to each cable node.
Class containing a cable object to be part of other structures.
Definition InternalCableWithBottomContact.h:21
Contains some specifications used for simulating cables.
Definition InternalCable.h:33