Marine systems simulation
membrane::CConstantStrainTriangle Class Reference
+ Inheritance diagram for membrane::CConstantStrainTriangle:
+ Collaboration diagram for membrane::CConstantStrainTriangle:

Public Member Functions

EIGEN_MAKE_ALIGNED_OPERATOR_NEW CConstantStrainTriangle (std::string sSimObjectName, ISimObjectCreator *pCreator)
 
virtual void FinalSetup (const double dT, const double *const adX, ISimObjectCreator *const pCreator)
 
virtual void OdeFcn (const double dT, const double *const adX, double *const adXDot, const bool bIsMajorTimeStep)
 
EIGEN_MAKE_ALIGNED_OPERATOR_NEW CConstantStrainTriangle (std::string sSimObjectName, ISimObjectCreator *pCreator)
 
virtual void FinalSetup (const double dT, const double *const adX, ISimObjectCreator *const pCreator)
 
virtual void OdeFcn (const double dT, const double *const adX, double *const adXDot, const bool bIsMajorTimeStep)
 

Protected Member Functions

virtual const double * VolumeCL (const double dT, const double *const adX)
 A pointer to the input force (bottom). More...
 
virtual const double * DragCOE (const double dT, const double *const adX)
 
virtual const double * StressMX (const double dT, const double *const adX)
 
virtual const double * TopOutForce (const double dT, const double *const adX, int iTop)
 
virtual const double * BotOutPos (const double dT, const double *const adX, int iBot)
 
virtual const double * BotOutVel (const double dT, const double *const adX, int iBot)
 
virtual const double * BotOutPosM (const double dT, const double *const adX)
 
virtual const double * BotOutVelM (const double dT, const double *const adX)
 
virtual const double * VolumeCL (const double dT, const double *const adX)
 A pointer to the input force (bottom). More...
 
virtual const double * DragCOE (const double dT, const double *const adX)
 
virtual const double * StressMX (const double dT, const double *const adX)
 
virtual const double * TopOutForce (const double dT, const double *const adX, int iTop)
 
virtual const double * BotOutPos (const double dT, const double *const adX, int iBot)
 
virtual const double * BotOutVel (const double dT, const double *const adX, int iBot)
 
virtual const double * BotOutPosM (const double dT, const double *const adX)
 
virtual const double * BotOutVelM (const double dT, const double *const adX)
 

Protected Attributes

ISignalPort * m_pInForce
 Input ports.
 
ISignalPort * m_pInForce_B
 A pointer to the input force.
 
int m_TopConnectNum
 A pointer to the input force (bottom).
 
ISignalPort ** m_TopInPos
 
ISignalPort ** m_TopInVel
 
int m_BotConnectNum
 
int * m_BotConnectNode
 
ISignalPort ** m_BotInForce
 
ISignalPort * m_BotInForceM
 
double * m_TopOutForce
 
double * m_BotOutPos
 
double * m_BotOutVel
 
double m_BotOutPosM [3]
 
double m_BotOutVelM [3]
 
int m_IStatePos
 States.
 
int m_IStateVel
 Index of the global position in the state vector.
 
CEnvironmentm_Environment
 Index of the global velocity in the state vector. More...
 
int m_Rows
 Pointer to DeepSeaGravityWaves -> CEnvironment.
 
int m_Columns
 Number of rows [#].
 
int m_Nodes
 Number of columns [#].
 
int m_Triangles
 Number of nodes [#].
 
double m_TStart [3]
 Number of triangles [#].
 
double m_TEnd [3]
 NED location of the starting point of the top row [m].
 
double m_BStart [3]
 NED location of the ending point of the top row [m].
 
double m_Rmesh
 NED location of the starting point of the bottom row [m].
 
double m_Cmesh
 Mesh size of rows [m].
 
string m_Shape
 Mesh size of columns [m].
 
int m_Bottom
 Shape.
 
double m_BDepth
 Bottom.
 
double m_Radians [2]
 Depth of bottom [m].
 
double m_Depth
 Radians.
 
double m_Filling
 Column depth.
 
double m_Damp [3]
 Filling percentage.
 
double m_Drag
 Damping coefficients[#].
 
double m_Thickness
 Drag coefficient[#].
 
double m_Density
 Thickness of the membrane elements [m].
 
double m_Youngs
 Density of the membrane elements [kg/m^3].
 
double m_Poissons
 Elastic modulus of the membrane elements [N/m^2].
 
double m_CArea
 Poisson¡¯s ratio of the membrane elements [#].
 
double m_Volume [2]
 Cross area of a closed structure [m^3].
 
double m_MStrain [3]
 Volume of a closed structure [m^3].
 
double m_MStress [4]
 Maximum strain.
 
double m_Indt
 Maximum stress.
 
Eigen::Matrix< double, 3, 3 > m_D
 Initial time step.
 
int * m_CI
 Material matrix.
 
int * m_BI
 Index of the corner nodes in Node matrix.
 
int * m_TI
 Index of the bottom nodes in Node matrix.
 
double * m_NodeM
 Index of the triangle nodes in Node matrix.
 
double * m_NodeA
 Node matrix.
 
double * m_TC
 Node acceleration matrix.
 
Eigen::Matrix< double, 3, 1 > * m_N
 Initial local locations of the triangle nodes.
 
Eigen::Matrix< double, 3, 6 > * m_B
 Normal matrix of the triangles.
 
Eigen::Matrix< double, 6, 3 > * m_Bt
 Shape matrix of the triangles.
 
Eigen::Matrix< double, 6, 6 > * m_K
 Transpose Shape matrix of the triangles.
 
Eigen::Matrix< double, 6, 6 > * m_KA
 Stiffness matrix of the triangles.
 
Eigen::Matrix< double, 3, 1 > * m_Strain
 Mass matrix of the triangles.
 
Eigen::Matrix< double, 3, 1 > * m_Stress
 Strain matrix of the triangles.
 
double * m_VMStress
 Stress matrix of the triangles.
 
double * m_RAngle
 von Mises stress of the triangles.
 

Member Function Documentation

◆ OdeFcn()

virtual void membrane::CConstantStrainTriangle::OdeFcn ( const double  dT,
const double *const  adX,
double *const  adXDot,
const bool  bIsMajorTimeStep 
)
virtual

Calculates the state derivatives.

Parameters
[in]dT-> current simulation time
[in]adX-> current simulation state
[out]adXDot-> state derivatives
[in]bIsMajorTimeStep-> Is this a major time step?

◆ VolumeCL() [1/2]

virtual const double * membrane::CConstantStrainTriangle::VolumeCL ( const double  dT,
const double *const  adX 
)
protectedvirtual

Output ports.

◆ VolumeCL() [2/2]

virtual const double * membrane::CConstantStrainTriangle::VolumeCL ( const double  dT,
const double *const  adX 
)
protectedvirtual

Output ports.

Member Data Documentation

◆ m_Environment

CEnvironment * CConstantStrainTriangle::m_Environment
protected

Member variables


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