11#ifndef CConstantStrainTriangle_H
12#define CConstantStrainTriangle_H
19#include "CEnvironment.h"
20#include "sfh/constants.h"
36 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
39 virtual void FinalSetup(
const double dT,
const double*
const adX, ISimObjectCreator*
const pCreator);
42#ifdef FH_VISUALIZATION
44 virtual void RenderInit(Ogre::Root*
const ogreRoot, ISimObjectCreator*
const creator);
47 virtual void RenderUpdate(
const double dT,
const double*
const adX);
50 void DrawBody(Ogre::SceneNode* renderNode, Ogre::SceneManager* sceneMgr);
62 virtual void OdeFcn(
const double dT,
const double*
const adX,
double*
const adXDot,
const bool bIsMajorTimeStep);
69 ISignalPort** m_TopInPos;
70 ISignalPort** m_TopInVel;
72 int* m_BotConnectNode;
73 ISignalPort** m_BotInForce;
74 ISignalPort* m_BotInForceM;
77 virtual const double*
VolumeCL(
const double dT,
const double*
const adX);
78 virtual const double* DragCOE(
const double dT,
const double*
const adX);
79 virtual const double* StressMX(
const double dT,
const double*
const adX);
81 double* m_TopOutForce;
82 virtual const double* TopOutForce(
const double dT,
const double*
const adX,
int iTop);
85 virtual const double* BotOutPos(
const double dT,
const double*
const adX,
int iBot);
86 virtual const double* BotOutVel(
const double dT,
const double*
const adX,
int iBot);
87 double m_BotOutPosM[3];
88 double m_BotOutVelM[3];
89 virtual const double* BotOutPosM(
const double dT,
const double*
const adX);
90 virtual const double* BotOutVelM(
const double dT,
const double*
const adX);
129 Eigen::Matrix<double,3,3>
m_D;
137 Eigen::Matrix<double,3,1>*
m_N;
138 Eigen::Matrix<double,3,6>*
m_B;
139 Eigen::Matrix<double,6,3>*
m_Bt;
140 Eigen::Matrix<double,6,6>*
m_K;
141 Eigen::Matrix<double,6,6>*
m_KA;
142 Eigen::Matrix<double,3,1>*
m_Strain;
143 Eigen::Matrix<double,3,1>*
m_Stress;
147#ifdef FH_VISUALIZATION
149 vector<Ogre::SceneNode*> m_RenderNodes;
150 Ogre::SceneManager* m_SceneMgr;
151 vector<Ogre::ManualObject*> m_Manual;
Definition: CEnvironment.h:10
double m_Youngs
Density of the membrane elements [kg/m^3].
Definition: CConstantStrainTriangle.h:112
double m_TStart[3]
Number of triangles [#].
Definition: CConstantStrainTriangle.h:95
string m_Shape
Mesh size of columns [m].
Definition: CConstantStrainTriangle.h:100
Eigen::Matrix< double, 6, 6 > * m_K
Transpose Shape matrix of the triangles.
Definition: CConstantStrainTriangle.h:131
double m_Indt
Maximum stress.
Definition: CConstantStrainTriangle.h:118
CEnvironment * m_Environment
Index of the global velocity in the state vector.
Definition: CConstantStrainTriangle.h:88
double m_TEnd[3]
NED location of the starting point of the top row [m].
Definition: CConstantStrainTriangle.h:96
double m_Depth
Radians.
Definition: CConstantStrainTriangle.h:104
virtual void OdeFcn(const double dT, const double *const adX, double *const adXDot, const bool bIsMajorTimeStep)
double m_Density
Thickness of the membrane elements [m].
Definition: CConstantStrainTriangle.h:111
Eigen::Matrix< double, 3, 1 > * m_N
Initial local locations of the triangle nodes.
Definition: CConstantStrainTriangle.h:128
Eigen::Matrix< double, 3, 3 > m_D
Initial time step.
Definition: CConstantStrainTriangle.h:120
double m_Cmesh
Mesh size of rows [m].
Definition: CConstantStrainTriangle.h:99
double m_BStart[3]
NED location of the ending point of the top row [m].
Definition: CConstantStrainTriangle.h:97
int m_Bottom
Shape.
Definition: CConstantStrainTriangle.h:101
Eigen::Matrix< double, 3, 1 > * m_Stress
Strain matrix of the triangles.
Definition: CConstantStrainTriangle.h:134
int * m_TI
Index of the bottom nodes in Node matrix.
Definition: CConstantStrainTriangle.h:124
Eigen::Matrix< double, 3, 6 > * m_B
Normal matrix of the triangles.
Definition: CConstantStrainTriangle.h:129
double m_CArea
Poisson¡¯s ratio of the membrane elements [#].
Definition: CConstantStrainTriangle.h:114
double m_MStress[4]
Maximum strain.
Definition: CConstantStrainTriangle.h:117
double m_Volume[2]
Cross area of a closed structure [m^3].
Definition: CConstantStrainTriangle.h:115
Eigen::Matrix< double, 6, 6 > * m_KA
Stiffness matrix of the triangles.
Definition: CConstantStrainTriangle.h:132
double * m_TC
Node acceleration matrix.
Definition: CConstantStrainTriangle.h:127
int * m_CI
Material matrix.
Definition: CConstantStrainTriangle.h:122
ISignalPort * m_pInForce_B
A pointer to the input force.
Definition: CConstantStrainTriangle.h:58
double m_Filling
Column depth.
Definition: CConstantStrainTriangle.h:105
int m_Rows
Pointer to DeepSeaGravityWaves -> CEnvironment.
Definition: CConstantStrainTriangle.h:90
double m_BDepth
Bottom.
Definition: CConstantStrainTriangle.h:102
double * m_NodeM
Index of the triangle nodes in Node matrix.
Definition: CConstantStrainTriangle.h:125
double m_Poissons
Elastic modulus of the membrane elements [N/m^2].
Definition: CConstantStrainTriangle.h:113
Eigen::Matrix< double, 3, 1 > * m_Strain
Mass matrix of the triangles.
Definition: CConstantStrainTriangle.h:133
int m_Nodes
Number of columns [#].
Definition: CConstantStrainTriangle.h:92
int m_Columns
Number of rows [#].
Definition: CConstantStrainTriangle.h:91
double m_Thickness
Drag coefficient[#].
Definition: CConstantStrainTriangle.h:110
int m_TopConnectNum
A pointer to the input force (bottom).
Definition: CConstantStrainTriangle.h:59
Eigen::Matrix< double, 6, 3 > * m_Bt
Shape matrix of the triangles.
Definition: CConstantStrainTriangle.h:130
virtual const double * VolumeCL(const double dT, const double *const adX)
A pointer to the input force (bottom).
double m_Radians[2]
Depth of bottom [m].
Definition: CConstantStrainTriangle.h:103
double m_Rmesh
NED location of the starting point of the bottom row [m].
Definition: CConstantStrainTriangle.h:98
double m_Drag
Damping coefficients[#].
Definition: CConstantStrainTriangle.h:108
double * m_RAngle
von Mises stress of the triangles.
Definition: CConstantStrainTriangle.h:136
ISignalPort * m_pInForce
Input ports.
Definition: CConstantStrainTriangle.h:57
double * m_NodeA
Node matrix.
Definition: CConstantStrainTriangle.h:126
double m_Damp[3]
Filling percentage.
Definition: CConstantStrainTriangle.h:107
int * m_BI
Index of the corner nodes in Node matrix.
Definition: CConstantStrainTriangle.h:123
int m_IStateVel
Index of the global position in the state vector.
Definition: CConstantStrainTriangle.h:85
double m_MStrain[3]
Volume of a closed structure [m^3].
Definition: CConstantStrainTriangle.h:116
int m_Triangles
Number of nodes [#].
Definition: CConstantStrainTriangle.h:93
double * m_VMStress
Stress matrix of the triangles.
Definition: CConstantStrainTriangle.h:135
int m_IStatePos
States.
Definition: CConstantStrainTriangle.h:84
Includes.
Definition: CConstantStrainTriangle.h:22