MBSVT 1.0
|
Solids module that adds and manages the bodies of the system. More...
Functions/Subroutines | |
subroutine, public | ADDbody (body, rg0, eu0) |
Adds a body to the model. | |
subroutine, public | ADDmassgeom (body, mass, rg_loc, v_Ig) |
Subroutine to add mass, center of masses and inertia tensor with respect to the center of mass to a body. | |
REAL(8), public | MatTrans (body) |
Function to calculate the transformation matrix of a body ![]() | |
REAL(8), dimension(3), public | r (body, pt_loc) |
Function to evaluate the global position of a point belonging to a body. | |
REAL(8), dimension(3), public | rp (body, pt_loc) |
Function to evaluate the global velocity of a point belonging to a body. | |
REAL(8), dimension(3), public | v (body, vc_loc) |
Function to evaluate the global coordinates of a vector belonging to a body. | |
REAL(8), dimension(3), public | vp (body, vc_loc) |
Function to evaluate the global velocity of a vector belonging to a body. | |
REAL(8), dimension(3), public | rloc (body, pt_glob) |
Function to evaluate the local position of a global point as belonging to a body. | |
REAL(8), dimension(3) | vloc (body, vc_glob) |
Function to evaluate the local coordinates of a global vector as belonging to a body. | |
REAL(8), dimension(3, 7), public | drdq (body, pt_loc) |
Function to evaluate the derivative of the position of a point belonging to a body wrt to the generalized coordinates of the body. | |
REAL(8), dimension(3, 7), public | dvdq (body, vc_loc) |
Function to evaluate the derivative of the position of a vector belonging to a body wrt to the generalized coordinates of the body. | |
REAL(8), dimension(3, 7), public | drpdq (body, pt_loc) |
Function to evaluate the derivative of the velocity of a point belonging to a body wrt to the generalized coordinates of the body. | |
REAL(8), dimension(3, 7), public | dvpdq (body, vc_loc) |
Function to evaluate the derivative of the velocity of a vector belonging to a body wrt to the generalized coordinates of the body. | |
REAL(8), dimension(3, 7), public | drpdqp (body, pt_loc) |
Function to evaluate the derivative of the velocity of a point belonging to a body wrt to the generalized coordinates of the body. | |
REAL(8), dimension(3, 7), public | dvpdqp (body, vc_loc) |
Function to evaluate the derivative of the velocity of a point belonging to a body wrt to the generalized coordinates of the body. | |
Variables | |
TYPE(SOLID), dimension(:), allocatable, public | PROTECTED |
TYPE(SOLID), dimension(:), allocatable, public | SOLIDlist |
INTEGER, parameter, public | ground = 0 |
INTEGER, public | nSOLID = 0 |
Solids module that adds and manages the bodies of the system.
This module:
1)Adds bodies to the model.
2)Adds mass, center of mass and intertia tensor to the existing bodies.
3)Manages the creation of the vector of variables of the model
subroutine,public SOLIDS::ADDbody | ( | INTEGER,intent(out) | body, |
REAL(8),dimension(3) | rg0, | ||
REAL(8),dimension(4) | eu0 | ||
) |
Adds a body to the model.
body | output variable that stores the id of the body. The user should keep it unchanged for future requests to the library. |
rg0 | initial guess for the coordinates of the center of mass of the body |
eu0 | initial guess for the Euler parameters of the body |
subroutine,public SOLIDS::ADDmassgeom | ( | INTEGER,intent(in) | body, |
REAL(8),intent(in) | mass, | ||
REAL(8),dimension(3),intent(in) | rg_loc, | ||
REAL(8),dimension(6),intent(in) | v_Ig | ||
) |
Subroutine to add mass, center of masses and inertia tensor with respect to the center of mass to a body.
body | body involved. |
mass | value of the mass. |
rg_loc | center of mass of the body in the local reference frame of the body. |
v_Ig | components of the inertia tensor in the local reference frame of the body, with respect to its center of mass, given in the compact form: ![]() |
REAL(8),dimension(3,7),public SOLIDS::drdq | ( | INTEGER,intent(in) | body, |
REAL(8),dimension(3),intent(in) | pt_loc | ||
) |
Function to evaluate the derivative of the position of a point belonging to a body wrt to the generalized coordinates of the body.
body | body involved. |
pt_loc | local coordinates of the point. |
REAL(8),dimension(3,7),public SOLIDS::drpdq | ( | INTEGER,intent(in) | body, |
REAL(8),dimension(3),intent(in) | pt_loc | ||
) |
Function to evaluate the derivative of the velocity of a point belonging to a body wrt to the generalized coordinates of the body.
body | body involved. |
pt_loc | local coordinates of the point. |
REAL(8),dimension(3,7),public SOLIDS::drpdqp | ( | INTEGER,intent(in) | body, |
REAL(8),dimension(3),intent(in) | pt_loc | ||
) |
Function to evaluate the derivative of the velocity of a point belonging to a body wrt to the generalized coordinates of the body.
body | body involved. |
pt_loc | local coordinates of the point. |
REAL(8),dimension(3,7),public SOLIDS::dvdq | ( | INTEGER,intent(in) | body, |
REAL(8),dimension(3),intent(in) | vc_loc | ||
) |
Function to evaluate the derivative of the position of a vector belonging to a body wrt to the generalized coordinates of the body.
body | body involved. |
vc_loc | local coordinates of the vector. |
REAL(8),dimension(3,7),public SOLIDS::dvpdq | ( | INTEGER,intent(in) | body, |
REAL(8),dimension(3),intent(in) | vc_loc | ||
) |
Function to evaluate the derivative of the velocity of a vector belonging to a body wrt to the generalized coordinates of the body.
body | body involved. |
vc_loc | local coordinates of the vector. |
REAL(8),dimension(3,7),public SOLIDS::dvpdqp | ( | INTEGER,intent(in) | body, |
REAL(8),dimension(3),intent(in) | vc_loc | ||
) |
Function to evaluate the derivative of the velocity of a point belonging to a body wrt to the generalized coordinates of the body.
body | body involved. |
pt_loc | local coordinates of the point. |
REAL(8),public SOLIDS::MatTrans | ( | INTEGER,intent(in) | body | ) |
Function to calculate the transformation matrix of a body .
body | body involved. |
REAL(8),dimension(3),public SOLIDS::r | ( | INTEGER,intent(in) | body, |
REAL(8),dimension(3),intent(in) | pt_loc | ||
) |
Function to evaluate the global position of a point belonging to a body.
body | body involved. |
pt_loc | local coordinates of the point. |
REAL(8),dimension(3),public SOLIDS::rloc | ( | INTEGER,intent(in) | body, |
REAL(8),dimension(3),intent(in) | pt_glob | ||
) |
Function to evaluate the local position of a global point as belonging to a body.
body | body involved. |
pt_glob | global coordinates of the point. |
REAL(8),dimension(3),public SOLIDS::rp | ( | INTEGER,intent(in) | body, |
REAL(8),dimension(3),intent(in) | pt_loc | ||
) |
Function to evaluate the global velocity of a point belonging to a body.
body | body involved. |
pt_loc | local coordinates of the point. |
REAL(8),dimension(3),public SOLIDS::v | ( | INTEGER,intent(in) | body, |
REAL(8),dimension(3),intent(in) | vc_loc | ||
) |
Function to evaluate the global coordinates of a vector belonging to a body.
body | body involved. |
vc_loc | local coordinates of the vector. |
REAL(8),dimension(3) SOLIDS::vloc | ( | INTEGER,intent(in) | body, |
REAL(8),dimension(3),intent(in) | vc_glob | ||
) |
Function to evaluate the local coordinates of a global vector as belonging to a body.
body | body involved. |
vc_glob | global coordinates of the vector. |
REAL(8),dimension(3),public SOLIDS::vp | ( | INTEGER,intent(in) | body, |
REAL(8),dimension(3),intent(in) | vc_loc | ||
) |
Function to evaluate the global velocity of a vector belonging to a body.
body | body involved. |
vc_loc | local coordinates of the vector. |
INTEGER,parameter,public SOLIDS::ground = 0 |
INTEGER,public SOLIDS::nSOLID = 0 |
INTEGER,dimension(:),allocatable,public SOLIDS::PROTECTED |
TYPE(SOLID),dimension(:),allocatable,public SOLIDS::SOLIDlist |