FhSim  3.1.0
Marine systems simulation
Loading...
Searching...
No Matches
CableElDynStiff.h
1
10
11#ifndef CCableElDynStiff_H
12#define CCableElDynStiff_H
13
14// Includes
15// #include <string>
16#include "cable/subroutines/CableElBasics.h"
17
18
19// #define USE_OLD_MEAN_TENSION_CALC
20#define CCableElDynStiff_USE_MEAN_TENSION_FILTER
21
22#ifdef FH_VISUALIZATION
23# include "Ogre.h"
24
25# include "sfh/ogre/CDynamicLines.h"
26
27#endif
28
29// Class definition
31{
32public:
35
38
40 virtual bool CheckAndInitialize();
41
43 virtual void UpdateLength(double newLength, bool forceUpdate = false);
44
46 void UpdateMeanTension(double step);
47
59 void UpdateMeanTensionAt(const double adPosA[3], const double adPosB[3], double step);
60
62 double GetEFactor() const { return m_eFactor; }
63
66
67 double m_maxStep;
71 // protected: HACK kga
73 virtual void AddStructuralForces(double adForceA[3], double adForceB[3]);
74
75protected:
76 double ma_dEps;
77 double m_eFactor;
79 // double m_meanTensionProp; ///< The mean tension of the cable element.
80
81 double ma_adMeanTensionForceA[3];
82 double ma_dAdaptationDamping;
83};
84
85
86#endif
Class containing a fundamental cable element object.
Definition CableElBasics.h:38
double ma_dDampingCoeff
A intermediate damping calculation to increase the computational efficiency.
Definition CableElBasics.h:246
double m_eA
The linear stiffness of the element.
Definition CableElBasics.h:191
double m_maxTension
The maximum tension in the element.
Definition CableElBasics.h:187
double m_dL0
The relaxed length of the element.
Definition CableElBasics.h:84
Definition CableElDynStiff.h:31
double m_meanTensionDamp
The damping of the development of the mean tension.
Definition CableElDynStiff.h:78
double m_eAdaptationPeriod
The time constant of the adaptation of the mean tension.
Definition CableElDynStiff.h:69
double m_stepSafetyFactor
The safety factor when calculating the Young modulus of the element.
Definition CableElDynStiff.h:70
double GetEFactor() const
Returns the current stiffness reduction factor (1 = full stiffness, <1 = reduced for numerical stabil...
Definition CableElDynStiff.h:62
void UpdateMeanTensionAt(const double adPosA[3], const double adPosB[3], double step)
double ma_dEps
The stretching of the cable.
Definition CableElDynStiff.h:76
~CableElDynStiff()
The destructor.
double m_maxStep
The maximum step of the integration routine.
Definition CableElDynStiff.h:67
cable_axial_law::Element AxialElement() const
The element's properties for the axial law (CableAxialLaw.h), as they are now.
Definition CableElDynStiff.h:65
virtual bool CheckAndInitialize()
Does the initialization and checking to make sure that the element is ready for simulation.
double m_eFactor
The factor multiplied by the Young modulus.
Definition CableElDynStiff.h:77
CableElDynStiff()
The constructor.
virtual void AddStructuralForces(double adForceA[3], double adForceB[3])
Adds the forces from tension and internal damping to the nodes. CalcFoundation must be run first.
void UpdateMeanTension(double step)
Updates the mean tension of the cable element.
double m_meanTension
The mean tension of the cable element.
Definition CableElDynStiff.h:68
virtual void UpdateLength(double newLength, bool forceUpdate=false)
Updates the length of the cable element, and its dependant properties; not the mean tension.
The axial properties of one element at one evaluation (CableElDynStiff::AxialElement).
Definition CableAxialLaw.h:32