proteus 1.9.0
C/C++/Fortran libraries
Loading...
Searching...
No Matches
cppRigidBody Class Reference

#include </work/cekees/proteus/proteus/mbd/ProtChBody.h>

Collaboration diagram for cppRigidBody:
[legend]

Public Member Functions

 cppRigidBody (cppSystem *system)
ChVector3d hxyz (double *x, double t)
double hx (double *x, double t)
double hy (double *x, double t)
double hz (double *x, double t)
void calculate_init ()
void addAccumulators ()
void prestep (double *force, double *torque)
void poststep ()
void setConstraints (double *free_x, double *free_y)
void addSpring (double stiffness, double damping, double *fairlead, double *anchor, double rest_length)
void addPrismaticLinksWithSpring (double *pris1, double *pris2, double stiffness, double damping, double rest_length)
void addPrismaticLinkX (double *pris1)
void setName (std::string name)
void setPrescribedMotionPoly (double coeff1)
void setPrescribedMotionSine (double a, double f)
void setPrescribedMotionCustom (std::vector< double > t, std::vector< double > x, std::vector< double > y, std::vector< double > z, std::vector< double > ang, std::vector< double > ang2, std::vector< double > ang3, double t_max)
void getTriangleMeshSDF (ChVector3d pos_node, double *dist_n)
void getTriangleMeshVel (double *x, double dt, double *vel)
void updateTriangleMeshVisualisationPos ()

Public Attributes

ChVector3d free_x
ChVector3d free_r
ChVector3d pos
ChVector3d pos_last
ChVector3d pos0
std::vector< ChVector3d > trimesh_pos
std::vector< ChVector3d > trimesh_pos_last
std::vector< ChVector3d > trimesh_pos0
ChVector3d pos0_trimesh
ChQuaternion rotq0_trimesh
ChVector3d vel
ChVector3d vel_last
ChVector3d acc
ChVector3d acc_last
ChVector3d angvel
ChVector3d angvel_last
ChVector3d angacc
ChVector3d angacc_last
ChMatrix33< double > rotm
ChMatrix33< double > rotm_last
ChQuaternion< double > rotq
ChQuaternion< double > rotq_last
ChQuaternion< double > rotq0
ChVector3d F
ChVector3d F_last
ChVector3d M
ChVector3d M_last
std::shared_ptr< ChLinkLockLock > lock_motion
double lock_motion_t_max
double mass
double mooring_restlength
std::shared_ptr< ChLinkTSDA > spring
double * inertia
unsigned int accumulator_force_idx
unsigned int accumulator_torque_idx
shared_ptr< ChTriangleMeshConnected > trimesh
bool has_trimesh
std::shared_ptr< ChBody > body
cppSystemsystem

Detailed Description

Definition at line 31 of file ProtChBody.h.

Constructor & Destructor Documentation

◆ cppRigidBody()

cppRigidBody::cppRigidBody ( cppSystem * system)

Definition at line 165 of file ProtChBody.h.

Member Function Documentation

◆ addAccumulators()

void cppRigidBody::addAccumulators ( )

Definition at line 197 of file ProtChBody.h.

◆ addPrismaticLinksWithSpring()

void cppRigidBody::addPrismaticLinksWithSpring ( double * pris1,
double * pris2,
double stiffness,
double damping,
double rest_length )

Definition at line 475 of file ProtChBody.h.

◆ addPrismaticLinkX()

void cppRigidBody::addPrismaticLinkX ( double * pris1)

Definition at line 459 of file ProtChBody.h.

◆ addSpring()

void cppRigidBody::addSpring ( double stiffness,
double damping,
double * fairlead,
double * anchor,
double rest_length )

Definition at line 437 of file ProtChBody.h.

◆ calculate_init()

void cppRigidBody::calculate_init ( )

Definition at line 254 of file ProtChBody.h.

◆ getTriangleMeshSDF()

void cppRigidBody::getTriangleMeshSDF ( ChVector3d pos_node,
double * dist_n )

Definition at line 540 of file ProtChBody.h.

◆ getTriangleMeshVel()

void cppRigidBody::getTriangleMeshVel ( double * x,
double dt,
double * vel )

Definition at line 568 of file ProtChBody.h.

◆ hx()

double cppRigidBody::hx ( double * x,
double t )

Definition at line 230 of file ProtChBody.h.

◆ hxyz()

ChVector3d cppRigidBody::hxyz ( double * x,
double t )

Definition at line 215 of file ProtChBody.h.

◆ hy()

double cppRigidBody::hy ( double * x,
double t )

Definition at line 238 of file ProtChBody.h.

◆ hz()

double cppRigidBody::hz ( double * x,
double t )

Definition at line 246 of file ProtChBody.h.

◆ poststep()

void cppRigidBody::poststep ( )

Definition at line 317 of file ProtChBody.h.

◆ prestep()

void cppRigidBody::prestep ( double * force,
double * torque )

Definition at line 272 of file ProtChBody.h.

◆ setConstraints()

void cppRigidBody::setConstraints ( double * free_x,
double * free_y )

Definition at line 432 of file ProtChBody.h.

◆ setName()

void cppRigidBody::setName ( std::string name)

Definition at line 536 of file ProtChBody.h.

◆ setPrescribedMotionCustom()

void cppRigidBody::setPrescribedMotionCustom ( std::vector< double > t,
std::vector< double > x,
std::vector< double > y,
std::vector< double > z,
std::vector< double > ang,
std::vector< double > ang2,
std::vector< double > ang3,
double t_max )

Definition at line 336 of file ProtChBody.h.

◆ setPrescribedMotionPoly()

void cppRigidBody::setPrescribedMotionPoly ( double coeff1)

Definition at line 402 of file ProtChBody.h.

◆ setPrescribedMotionSine()

void cppRigidBody::setPrescribedMotionSine ( double a,
double f )

Definition at line 417 of file ProtChBody.h.

◆ updateTriangleMeshVisualisationPos()

void cppRigidBody::updateTriangleMeshVisualisationPos ( )

Definition at line 206 of file ProtChBody.h.

Member Data Documentation

◆ acc

ChVector3d cppRigidBody::acc

Definition at line 45 of file ProtChBody.h.

◆ acc_last

ChVector3d cppRigidBody::acc_last

Definition at line 46 of file ProtChBody.h.

◆ accumulator_force_idx

unsigned int cppRigidBody::accumulator_force_idx

Definition at line 67 of file ProtChBody.h.

◆ accumulator_torque_idx

unsigned int cppRigidBody::accumulator_torque_idx

Definition at line 67 of file ProtChBody.h.

◆ angacc

ChVector3d cppRigidBody::angacc

Definition at line 49 of file ProtChBody.h.

◆ angacc_last

ChVector3d cppRigidBody::angacc_last

Definition at line 50 of file ProtChBody.h.

◆ angvel

ChVector3d cppRigidBody::angvel

Definition at line 47 of file ProtChBody.h.

◆ angvel_last

ChVector3d cppRigidBody::angvel_last

Definition at line 48 of file ProtChBody.h.

◆ body

std::shared_ptr<ChBody> cppRigidBody::body

Definition at line 70 of file ProtChBody.h.

◆ F

ChVector3d cppRigidBody::F

Definition at line 56 of file ProtChBody.h.

◆ F_last

ChVector3d cppRigidBody::F_last

Definition at line 57 of file ProtChBody.h.

◆ free_r

ChVector3d cppRigidBody::free_r

Definition at line 34 of file ProtChBody.h.

◆ free_x

ChVector3d cppRigidBody::free_x

Definition at line 33 of file ProtChBody.h.

◆ has_trimesh

bool cppRigidBody::has_trimesh

Definition at line 69 of file ProtChBody.h.

◆ inertia

double* cppRigidBody::inertia

Definition at line 66 of file ProtChBody.h.

◆ lock_motion

std::shared_ptr<ChLinkLockLock> cppRigidBody::lock_motion

Definition at line 60 of file ProtChBody.h.

◆ lock_motion_t_max

double cppRigidBody::lock_motion_t_max

Definition at line 61 of file ProtChBody.h.

◆ M

ChVector3d cppRigidBody::M

Definition at line 58 of file ProtChBody.h.

◆ M_last

ChVector3d cppRigidBody::M_last

Definition at line 59 of file ProtChBody.h.

◆ mass

double cppRigidBody::mass

Definition at line 62 of file ProtChBody.h.

◆ mooring_restlength

double cppRigidBody::mooring_restlength

Definition at line 63 of file ProtChBody.h.

◆ pos

ChVector3d cppRigidBody::pos

Definition at line 35 of file ProtChBody.h.

◆ pos0

ChVector3d cppRigidBody::pos0

Definition at line 37 of file ProtChBody.h.

◆ pos0_trimesh

ChVector3d cppRigidBody::pos0_trimesh

Definition at line 41 of file ProtChBody.h.

◆ pos_last

ChVector3d cppRigidBody::pos_last

Definition at line 36 of file ProtChBody.h.

◆ rotm

ChMatrix33<double> cppRigidBody::rotm

Definition at line 51 of file ProtChBody.h.

◆ rotm_last

ChMatrix33<double> cppRigidBody::rotm_last

Definition at line 52 of file ProtChBody.h.

◆ rotq

ChQuaternion<double> cppRigidBody::rotq

Definition at line 53 of file ProtChBody.h.

◆ rotq0

ChQuaternion<double> cppRigidBody::rotq0

Definition at line 55 of file ProtChBody.h.

◆ rotq0_trimesh

ChQuaternion cppRigidBody::rotq0_trimesh

Definition at line 42 of file ProtChBody.h.

◆ rotq_last

ChQuaternion<double> cppRigidBody::rotq_last

Definition at line 54 of file ProtChBody.h.

◆ spring

std::shared_ptr<ChLinkTSDA> cppRigidBody::spring

Definition at line 64 of file ProtChBody.h.

◆ system

cppSystem* cppRigidBody::system

Definition at line 71 of file ProtChBody.h.

◆ trimesh

shared_ptr<ChTriangleMeshConnected> cppRigidBody::trimesh

Definition at line 68 of file ProtChBody.h.

◆ trimesh_pos

std::vector<ChVector3d> cppRigidBody::trimesh_pos

Definition at line 38 of file ProtChBody.h.

◆ trimesh_pos0

std::vector<ChVector3d> cppRigidBody::trimesh_pos0

Definition at line 40 of file ProtChBody.h.

◆ trimesh_pos_last

std::vector<ChVector3d> cppRigidBody::trimesh_pos_last

Definition at line 39 of file ProtChBody.h.

◆ vel

ChVector3d cppRigidBody::vel

Definition at line 43 of file ProtChBody.h.

◆ vel_last

ChVector3d cppRigidBody::vel_last

Definition at line 44 of file ProtChBody.h.


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