proteus  1.8.1
C/C++/Fortran libraries
Public Member Functions | Public Attributes | List of all members
cppRigidBody Class Reference

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

Collaboration diagram for cppRigidBody:
[legend]

Public Member Functions

 cppRigidBody (cppSystem *system)
 
ChVector< double > 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 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 (ChVector<> pos_node, double *dist_n)
 
void getTriangleMeshVel (double *x, double dt, double *vel)
 
void updateTriangleMeshVisualisationPos ()
 

Public Attributes

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

Detailed Description

Definition at line 32 of file ProtChBody.h.

Constructor & Destructor Documentation

◆ cppRigidBody()

cppRigidBody::cppRigidBody ( cppSystem system)

Definition at line 165 of file ProtChBody.h.

Member Function Documentation

◆ addPrismaticLinksWithSpring()

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

Definition at line 461 of file ProtChBody.h.

◆ addPrismaticLinkX()

void cppRigidBody::addPrismaticLinkX ( double *  pris1)

Definition at line 447 of file ProtChBody.h.

◆ addSpring()

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

Definition at line 423 of file ProtChBody.h.

◆ calculate_init()

void cppRigidBody::calculate_init ( )

Definition at line 240 of file ProtChBody.h.

◆ getTriangleMeshSDF()

void cppRigidBody::getTriangleMeshSDF ( ChVector<>  pos_node,
double *  dist_n 
)

Definition at line 524 of file ProtChBody.h.

◆ getTriangleMeshVel()

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

Definition at line 552 of file ProtChBody.h.

◆ hx()

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

Definition at line 216 of file ProtChBody.h.

◆ hxyz()

ChVector< double > cppRigidBody::hxyz ( double *  x,
double  t 
)

Definition at line 201 of file ProtChBody.h.

◆ hy()

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

Definition at line 224 of file ProtChBody.h.

◆ hz()

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

Definition at line 232 of file ProtChBody.h.

◆ poststep()

void cppRigidBody::poststep ( )

Definition at line 302 of file ProtChBody.h.

◆ prestep()

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

Definition at line 258 of file ProtChBody.h.

◆ setConstraints()

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

Definition at line 418 of file ProtChBody.h.

◆ setName()

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

Definition at line 520 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 321 of file ProtChBody.h.

◆ setPrescribedMotionPoly()

void cppRigidBody::setPrescribedMotionPoly ( double  coeff1)

Definition at line 387 of file ProtChBody.h.

◆ setPrescribedMotionSine()

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

Definition at line 403 of file ProtChBody.h.

◆ updateTriangleMeshVisualisationPos()

void cppRigidBody::updateTriangleMeshVisualisationPos ( )

Definition at line 188 of file ProtChBody.h.

Member Data Documentation

◆ acc

ChVector cppRigidBody::acc

Definition at line 46 of file ProtChBody.h.

◆ acc_last

ChVector cppRigidBody::acc_last

Definition at line 47 of file ProtChBody.h.

◆ angacc

ChVector cppRigidBody::angacc

Definition at line 50 of file ProtChBody.h.

◆ angacc_last

ChVector cppRigidBody::angacc_last

Definition at line 51 of file ProtChBody.h.

◆ angvel

ChVector cppRigidBody::angvel

Definition at line 48 of file ProtChBody.h.

◆ angvel_last

ChVector cppRigidBody::angvel_last

Definition at line 49 of file ProtChBody.h.

◆ body

std::shared_ptr<ChBody> cppRigidBody::body

Definition at line 70 of file ProtChBody.h.

◆ F

ChVector cppRigidBody::F

Definition at line 57 of file ProtChBody.h.

◆ F_last

ChVector cppRigidBody::F_last

Definition at line 58 of file ProtChBody.h.

◆ free_r

ChVector cppRigidBody::free_r

Definition at line 35 of file ProtChBody.h.

◆ free_x

ChVector cppRigidBody::free_x

Definition at line 34 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 67 of file ProtChBody.h.

◆ lock_motion

std::shared_ptr<ChLinkLockLock> cppRigidBody::lock_motion

Definition at line 61 of file ProtChBody.h.

◆ lock_motion_t_max

double cppRigidBody::lock_motion_t_max

Definition at line 62 of file ProtChBody.h.

◆ M

ChVector cppRigidBody::M

Definition at line 59 of file ProtChBody.h.

◆ M_last

ChVector cppRigidBody::M_last

Definition at line 60 of file ProtChBody.h.

◆ mass

double cppRigidBody::mass

Definition at line 63 of file ProtChBody.h.

◆ mooring_restlength

double cppRigidBody::mooring_restlength

Definition at line 64 of file ProtChBody.h.

◆ pos

ChVector cppRigidBody::pos

Definition at line 36 of file ProtChBody.h.

◆ pos0

ChVector cppRigidBody::pos0

Definition at line 38 of file ProtChBody.h.

◆ pos0_trimesh

ChVector cppRigidBody::pos0_trimesh

Definition at line 42 of file ProtChBody.h.

◆ pos_last

ChVector cppRigidBody::pos_last

Definition at line 37 of file ProtChBody.h.

◆ rotm

ChMatrix33<double> cppRigidBody::rotm

Definition at line 52 of file ProtChBody.h.

◆ rotm_last

ChMatrix33<double> cppRigidBody::rotm_last

Definition at line 53 of file ProtChBody.h.

◆ rotq

ChQuaternion<double> cppRigidBody::rotq

Definition at line 54 of file ProtChBody.h.

◆ rotq0

ChQuaternion<double> cppRigidBody::rotq0

Definition at line 56 of file ProtChBody.h.

◆ rotq0_trimesh

ChQuaternion cppRigidBody::rotq0_trimesh

Definition at line 43 of file ProtChBody.h.

◆ rotq_last

ChQuaternion<double> cppRigidBody::rotq_last

Definition at line 55 of file ProtChBody.h.

◆ spring

std::shared_ptr<ChLinkSpring> cppRigidBody::spring

Definition at line 65 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<ChVector<> > cppRigidBody::trimesh_pos

Definition at line 39 of file ProtChBody.h.

◆ trimesh_pos0

std::vector<ChVector<> > cppRigidBody::trimesh_pos0

Definition at line 41 of file ProtChBody.h.

◆ trimesh_pos_last

std::vector<ChVector<> > cppRigidBody::trimesh_pos_last

Definition at line 40 of file ProtChBody.h.

◆ vel

ChVector cppRigidBody::vel

Definition at line 44 of file ProtChBody.h.

◆ vel_last

ChVector cppRigidBody::vel_last

Definition at line 45 of file ProtChBody.h.


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