Marine systems simulation
CNetCableElementTestSpec.h
1
10
11#ifndef CNetCableElementTestSpec_H
12#define CNetCableElementTestSpec_H
13#include <string>
14#include <vector>
15
16//Class definition
18{
19public:
20 enum NodePosition
21 {
22 NODE_ON_EDGE=1001
23 };
24
27
30
33
35 bool Divide(int aiNodes[2], int iNewNode, int iNewElementID, CNetCableElementTestSpec** pSNewCable, double dDistance=0.5);
36
37 void DeleteSpheresAndDisks();
38
39 void AddSpheres(double* adD, double* adMass, double* adPos, std::vector<std::string> VsSphereMaterial, int iNum);
40 void AddDisks(double* adD, double* adThickness, double* adMass, double* adPos, std::vector<std::string> VsDiskMaterial, int iNum);
41 NodePosition NodesDefineEdge( int aiNodes[2]);
42
45 int m_fromNodes[2];
46 int m_iID;
47 std::string m_sCableName;
48 int m_conn[2];
51 double* m_adSphereD;
53 double* m_adSpherePos;
55 double* m_adDiskD;
57 double* m_adDiskMass;
58 double* m_adDiskPos;
59 //double m_dAddedWeightInWater; ///< The weight in water added to the element.
60 std::vector<std::string> m_VsDiskMeshName;
61 std::vector<std::string> m_VsSphereMeshName;
62
63
64 double m_dL0;
65 double m_dD;
66 double m_dDhyd;
67 double m_dE;
68 double m_dRho;
69 // double m_dDampingRatio; ///< The relative damping ratio of the cable.
70
71#ifdef FH_VISUALIZATION
72 std::string m_sMaterialName;
73 int m_iCableFaces;
74 double m_dDrawScale;
75#endif
76#ifdef FH_VISUALIZATION
77#endif
78
79protected:
80
81 // Constants
85};
86
87
88#endif
Class containing a cable element object, allowing for disks and spheres to be connected.
Definition: CNetCableElementTestSpec.h:18
CNetCableElementTestSpec()
The constructor.
double * m_adSphereMass
The mass of the connected spheres.
Definition: CNetCableElementTestSpec.h:52
double * m_adDiskPos
The position of the connected disks.
Definition: CNetCableElementTestSpec.h:58
int m_foldingPoints
The number of knuckle points on the cable.
Definition: CNetCableElementTestSpec.h:49
double m_dDragCoeffSphere
The drag coefficient of a sphere.
Definition: CNetCableElementTestSpec.h:82
std::vector< std::string > m_VsDiskMeshName
The names of the materials of the attached disks.
Definition: CNetCableElementTestSpec.h:60
CNetCableElementTestSpec(const CNetCableElementTestSpec *pOld)
The copy constructor.
double m_dRho
The density of the element material.
Definition: CNetCableElementTestSpec.h:68
double m_nodeOffsetA
The offset between the original nodes of the added node of this cable.
Definition: CNetCableElementTestSpec.h:43
double * m_adDiskMass
The mass of the connected disks.
Definition: CNetCableElementTestSpec.h:57
double m_dNormalDragCoeffDisk
The normal drag coefficient of a disk.
Definition: CNetCableElementTestSpec.h:83
double m_dE
The Young modulus of the element.
Definition: CNetCableElementTestSpec.h:67
double m_dD
The diameter of the element.
Definition: CNetCableElementTestSpec.h:65
double * m_adDiskThickness
The thickness of the connected disks.
Definition: CNetCableElementTestSpec.h:56
double * m_adSphereD
The diameter of the connected spheres.
Definition: CNetCableElementTestSpec.h:51
double * m_adDiskD
The diameter of the connected disks.
Definition: CNetCableElementTestSpec.h:55
std::string m_sCableName
The name of the parent cable.
Definition: CNetCableElementTestSpec.h:47
int m_conn[2]
The node numbers that the element is connected to.
Definition: CNetCableElementTestSpec.h:48
double m_dDhyd
The hydrodynamic diameter of the element.
Definition: CNetCableElementTestSpec.h:66
bool Divide(int aiNodes[2], int iNewNode, int iNewElementID, CNetCableElementTestSpec **pSNewCable, double dDistance=0.5)
Divides the element in two.
~CNetCableElementTestSpec()
The destructor.
int m_iNumDisks
The number of disks connected.
Definition: CNetCableElementTestSpec.h:54
int m_iID
The ID of the element.
Definition: CNetCableElementTestSpec.h:46
double m_dTangentialFrictionCoeffDisk
The normal friction coefficient of a disk.
Definition: CNetCableElementTestSpec.h:84
std::vector< std::string > m_VsSphereMeshName
The names of the materials of the attached spheres.
Definition: CNetCableElementTestSpec.h:61
double m_nodeOffsetB
The offset between the original nodes of the added node of this cable.
Definition: CNetCableElementTestSpec.h:44
int m_iNumSpheres
The number of spheres connected.
Definition: CNetCableElementTestSpec.h:50
int m_fromNodes[2]
The nodes which this cable is constructed by dividing.
Definition: CNetCableElementTestSpec.h:45
double m_dL0
The relaxed length of the element.
Definition: CNetCableElementTestSpec.h:64
double * m_adSpherePos
The position of the connected spheres.
Definition: CNetCableElementTestSpec.h:53