FhSim  3.1.0
Marine systems simulation
Loading...
Searching...
No Matches
RBCEngine Class Reference

Class containing a Rigid Bar Cable (RBC) calculation engine. More...

#include <RBCEngine.h>

Public Member Functions

 RBCEngine (int nofBarElements, double barMass, double length, double omegaNL, double omegaN, double zetaNL, double zetaN, bool fixedFixed, double kei, double ked, double kep)
 The constructor.
 
 ~RBCEngine ()
 The destructor cleans up dynamically allocated memory.
 
bool GetInitialStates (const double *const posA, const double *const posB, const double *const velA, const double *const velB, double *vecB, double *vecR, double *vecBdot, double *vecRdot, double *endNodeSum)
 
bool StateUpdate (const double *const posA, const double *const posB, const double *const velA, const double *const velB, const double *const vecB, const double *const vecR, const double *const vecBdot, const double *const vecRdot, const double *const endNodeSum, double *addedMass, double *nodeForces, const double dT)
 
bool GetAccelerations (double *dotDot, double *rDotDot)
 Get functions are based on the last StateUpdate call.
 
bool GetEndForces (double *forceA, double *forceB)
 (dim: 3)
 
bool GetNodePositions (double *nodePosition)
 (dim: 3(N+1))
 
bool GetNodeVelocities (double *nodeVelocities)
 (dim: 3(N+1))
 
bool GetEndNodeSum (double *endNodeSum)
 (dim: 3)
 

Detailed Description

Author
Nina A H Madsen

Constructor & Destructor Documentation

◆ RBCEngine()

RBCEngine::RBCEngine ( int  nofBarElements,
double  barMass,
double  length,
double  omegaNL,
double  omegaN,
double  zetaNL,
double  zetaN,
bool  fixedFixed,
double  kei,
double  ked,
double  kep 
)
Parameters
nofBarElementsThe number of bar elements in the cable
barMassThe mass of one bar of the cable.
lengthLength of a bar
omegaNLThe natural frequency, length constrain
omegaNThe natural frequency, node constrain
zetaNLRelative damping ratio, length constrain
zetaNRelative damping ratio, node constrain
fixedFixedIs the model fixated in both cable ends
keiParameter for FixedFixed
kedParameter for FixedFixed
kepParameter for FixedFixed

Member Function Documentation

◆ GetAccelerations()

bool RBCEngine::GetAccelerations ( double *  dotDot,
double *  rDotDot 
)

(dim: 3N

◆ GetInitialStates()

bool RBCEngine::GetInitialStates ( const double *const  posA,
const double *const  posB,
const double *const  velA,
const double *const  velB,
double *  vecB,
double *  vecR,
double *  vecBdot,
double *  vecRdot,
double *  endNodeSum 
)
Parameters
posAPosition A (dim:3)
posBPosition B (dim:3)
velAVelocity A (dim:3)
velBVelocity B (dim:3)
vecBState vector B (dim:3N) where N is the number of bar elements in the cable
vecRState vector R (dim:3N)
vecBdotState vector B time derived(dim:3N)
vecRdotState vector R time derived (dim:3N)
endNodeSumState vector EndNodeSum (dim:3)

◆ StateUpdate()

bool RBCEngine::StateUpdate ( const double *const  posA,
const double *const  posB,
const double *const  velA,
const double *const  velB,
const double *const  vecB,
const double *const  vecR,
const double *const  vecBdot,
const double *const  vecRdot,
const double *const  endNodeSum,
double *  addedMass,
double *  nodeForces,
const double  dT 
)

StateUpdate is to be called when the next time step is happening

Parameters
posA(dim: 3)
posB(dim: 3)
velA(dim: 3)
velB(dim: 3)
vecB(dim: 3N)
vecR(dim: 3N)
vecBdot(dim: 3N)
vecRdot(dim: 3N)
endNodeSum(dim: 3)
addedMass(dim: 3N)
nodeForces(dim: 6N))
dTtime

The documentation for this class was generated from the following file: