Marine systems simulation
BuoyCable Class Reference
+ Inheritance diagram for BuoyCable:
+ Collaboration diagram for BuoyCable:

Public Member Functions

EIGEN_MAKE_ALIGNED_OPERATOR_NEW BuoyCable (CoRiBoDynamics::ConstraintSolver *solver, ISimObjectCreator *creator, double beta, string name)
 
virtual void ComputeConstraints (const double T, const double *const X)
 
virtual void InitialConditionSetup (double *const states, Eigen::Vector3d P0)
 
CoRiBoDynamics::StandardRigidElementGetPlate ()
 
CoRiBoDynamics::StandardRigidElementGetBuoy ()
 
double GetPlateDiameter ()
 
void AttachToPlate (int ix, const CoRiBoDynamics::Quat &null_angle)
 
virtual CollisionCheckInterface::GeometryVector CheckForContact (CoRiBoDynamics::CollisionManager::ExternalObject &object)
 
- Public Member Functions inherited from LineStructureGravityHydro
EIGEN_MAKE_ALIGNED_OPERATOR_NEW LineStructureGravityHydro (CoRiBoDynamics::ConstraintSolver *solver, ISimObjectCreator *creator, LineSpec spec, std::string name)
 
void setEnvironment (CEnvironment *e)
 
virtual void ComputeConstraints (const double T, const double *const X)
 
virtual CollisionCheckInterface::GeometryVector CheckForContact (CoRiBoDynamics::CollisionManager::ExternalObject &object)
 
double GetElementLength ()
 
- Public Member Functions inherited from CoRiBoDynamics::Structures::LineStructure
 LineStructure (ConstraintSolver *solver, ISimObjectCreator *creator, LineSpec spec, string name)
 
virtual void ComputeConstraints (const double T, const double *const X)
 
virtual void InitialConditionSetup (double *const states, const vec3 &P1, const vec3 &P2)
 
RigidElementgetElement (int i)
 
std::vector< RigidElement * > getElements ()
 
RigidElementgetFirstElement ()
 
RigidElementgetLastElement ()
 For use in project MarinSim. Otherwise commented out.
 
int getNumElements ()
 For use in project MarinSim. Otherwise commented out.
 
double getLength ()
 
double GammaN ()
 
double GammaMx ()
 
double GammaMy ()
 
double GammaT ()
 
- Public Member Functions inherited from CoRiBoDynamics::JointConstraint
 JointConstraint (ConstraintSolver *solver)
 
virtual void ComputeConstraints (const double T, const double *const X)
 
void addBallJointCoupling (int elementA, int elementB, vec3 vectorA, vec3 vectorB, double Beta, double Alpha, double Gamma)
 
void addHingeCoupling (int elementA, int elementB, vec3 vectorA, vec3 vectorB, vec3 axisA, vec3 axisB, double Beta, double Alpha, double Gamma, double AlphaFriction, double GammaFriction)
 
void addRigidCoupling (int elementA, int elementB, vec3 vectorA, vec3 vectorB, double BetaN, double AlphaN, double GammaN, const Quat &nullAngle, const Quat &BetaM, const Quat &AlphaM, const Quat &GammaM)
 
int addExternalBallJointCoupling (int element, vec3 vector, double Beta, double Alpha, double Gamma, const double *Position, const double *Velocity)
 
void updateExternalBallJointCoupling (int ballJointCoupling, const double *Position, const double *Velocity)
 
vec3 getExternalBallJointCouplingForce (int ballJointCoupling)
 
int addExternalRigidCoupling (int element, vec3 vectorExternalObject, vec3 vectorInternalObject, double BetaN, double AlphaN, double GammaN, const Quat &nullAngle, const Quat &BetaM, const Quat &AlphaM, const Quat &GammaM, const double *Position, const double *Velocity, const double *Orientation, const double *AngularVelocity)
 
void updateExternalRigidCoupling (int rigidCoupling, const double *Position, const double *Velocity, const double *Orientation, const double *AngularVelocity)
 
vec6 getExternalRigidCouplingForce (int rigidCoupling)
 
vec3 getExternalBallJointCouplingForce (ExternalBallJointCoupling &Constraint)
 
vec6 getExternalRigidCouplingForce (ExternalRigidCoupling &Constraint)
 
- Public Member Functions inherited from CoRiBoDynamics::ConstraintSet
 ConstraintSet (ConstraintSolver *solver)
 
virtual void ComputeConstraints (const double T, const double *const X)=0
 
virtual GeometryVector CheckForContact (CoRiBoDynamics::CollisionManager::ExternalObject &object)=0
 

Protected Attributes

CoRiBoDynamics::StandardRigidElementm_plate
 
CoRiBoDynamics::StandardRigidElementm_buoy
 
double m_plate_diameter
 
double m_plate_weight
 
double m_buoy_radius
 
double m_buoy_cone_height
 
double m_buoy_total_height
 
double m_buoy_weight
 
double m_buoy_max_buoyancy
 
CoRiBoDynamics::vec6 m_buoy_added_mass
 
CoRiBoDynamics::vec6 m_buoy_potential_damping
 
CoRiBoDynamics::vec6 m_buoy_hydro_drag
 
CoRiBoDynamics::vec6 m_buoy_linear_spring
 
- Protected Attributes inherited from LineStructureGravityHydro
CEnvironmentm_environment
 
double m_elemVolume
 
double m_elemArea
 
double m_elemProjArea
 
double m_elemDensity
 
double m_Cd_n
 Assumption that the line element is made up of nylon (rope)
 
double m_Cd_t
 Normal drag coefficient.
 
Eigen::Vector3d m_Ca
 Tangential drag coefficient.
 
- Protected Attributes inherited from CoRiBoDynamics::Structures::LineStructure
double m_Length
 
double m_elemLength
 
double m_elemDiameter
 element length [m]
 
std::vector< RigidElement * > m_elements
 
RigidCoupling m_base_coupling
 
- Protected Attributes inherited from CoRiBoDynamics::JointConstraint
std::vector< HingeCoupling,Eigen::aligned_allocator< HingeCoupling > > m_HingeCoupling
 
std::vector< BallJointCoupling,Eigen::aligned_allocator< BallJointCoupling > > m_BallJointCoupling
 BallJoint Coupling.
 
std::vector< RigidCoupling,Eigen::aligned_allocator< RigidCoupling > > m_RigidCoupling
 BallJoint Coupling.
 
std::vector< ExternalBallJointCoupling, Eigen::aligned_allocator< ExternalBallJointCoupling > > m_ExternalBallJointCoupling
 Rigid Coupling.
 
std::vector< ExternalRigidCoupling, Eigen::aligned_allocator< ExternalRigidCoupling > > m_ExternalRigidCoupling
 External Ball Joint Coupling.
 

Additional Inherited Members

- Public Types inherited from CollisionCheckInterface
typedef std::vector< CoRiBoDynamics::CollisionManager::InternalObject, Eigen::aligned_allocator< CoRiBoDynamics::CollisionManager::InternalObject > > GeometryVector
 
- Protected Member Functions inherited from LineStructureGravityHydro
 LineStructureGravityHydro (CoRiBoDynamics::ConstraintSolver *solver)
 
virtual void Init (CoRiBoDynamics::ConstraintSolver *solver, ISimObjectCreator *creator, LineSpec spec, std::string name)
 
- Protected Member Functions inherited from CoRiBoDynamics::Structures::LineStructure
 LineStructure (ConstraintSolver *solver)
 
virtual void Init (ConstraintSolver *solver, ISimObjectCreator *creator, LineSpec spec, std::string name)
 
- Protected Member Functions inherited from CoRiBoDynamics::JointConstraint
void ComputeHingeCoupling (HingeCoupling &Constraint)
 
void ComputeBallJointCoupling (BallJointCoupling &Constraint)
 
void ComputeRigidCoupling (RigidCoupling &Constraint)
 
void ComputeExternalBallJointCoupling (ExternalBallJointCoupling &Constraint)
 
void ComputeExternalVaryingBallJointCoupling (ExternalBallJointCoupling &Constraint, double vector_length_changerate)
 
void ComputeExternalRigidCoupling (ExternalRigidCoupling &Constraint)
 
- Protected Member Functions inherited from CoRiBoDynamics::ConstraintSet
const std::vector< RigidElement * > & ElementVector ()
 
void addConstraintResultantForce (int element, const vec6 &Force)
 
const vec3 Acceleration (int element)
 
const vec3 AngularAcceleration (int element)
 
const vec6 SecondDerivatives (int element)
 
void addMatrix (int i, int j, const mat6 &M)
 
- Static Protected Member Functions inherited from CoRiBoDynamics::JointConstraint
static mat4 QuaternionConstraint_Jacobian (const Quat &q)
 
static mat43 Quaternion_Kinematics (const Quat &q)
 

Member Function Documentation

◆ CheckForContact()

virtual CollisionCheckInterface::GeometryVector BuoyCable::CheckForContact ( CoRiBoDynamics::CollisionManager::ExternalObject object)
virtual

Reimplemented from LineStructureGravityHydro.

◆ ComputeConstraints()

virtual void BuoyCable::ComputeConstraints ( const double  T,
const double *const  X 
)
virtual

Computes and returns the constraint system matrix for the current states (T and X). Adds constraint forces.

Reimplemented from LineStructureGravityHydro.


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