MBSVT 1.0
Functions/Subroutines | Variables
SOLIDS Module Reference

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 $ {\bf A}^* =\left[\begin{array}{c c} {\bf R} & {\bf p}_0 \\ {\bf 0} & 1 \end{array}\right] $.
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

Detailed Description

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


Function/Subroutine Documentation

subroutine,public SOLIDS::ADDbody ( INTEGER,intent(out)  body,
REAL(8),dimension(3)  rg0,
REAL(8),dimension(4)  eu0 
)

Adds a body to the model.

Parameters:
bodyoutput variable that stores the id of the body. The user should keep it unchanged for future requests to the library.
rg0initial guess for the coordinates of the center of mass of the body
eu0initial guess for the Euler parameters of the body

Here is the call graph for this function:

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.

Parameters:
bodybody involved.
massvalue of the mass.
rg_loccenter of mass of the body in the local reference frame of the body.
v_Igcomponents of the inertia tensor in the local reference frame of the body, with respect to its center of mass, given in the compact form: $ {\bf I}_g =\left[\begin{array}{c c c c c c} I_x & I_y & I_z & P_{xy} & P_{xz} & P_{yz}\end{array}\right] $
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.

Parameters:
bodybody involved.
pt_loclocal coordinates of the point.

Here is the call graph for this function:

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.

Parameters:
bodybody involved.
pt_loclocal coordinates of the point.

Here is the call graph for this function:

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.

Parameters:
bodybody involved.
pt_loclocal coordinates of the point.

Here is the call graph for this function:

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.

Parameters:
bodybody involved.
vc_loclocal coordinates of the vector.

Here is the call graph for this function:

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.

Parameters:
bodybody involved.
vc_loclocal coordinates of the vector.

Here is the call graph for this function:

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.

Parameters:
bodybody involved.
pt_loclocal coordinates of the point.

Here is the call graph for this function:

REAL(8),public SOLIDS::MatTrans ( INTEGER,intent(in)  body)

Function to calculate the transformation matrix of a body $ {\bf A}^* =\left[\begin{array}{c c} {\bf R} & {\bf p}_0 \\ {\bf 0} & 1 \end{array}\right] $.

Parameters:
bodybody involved.

Here is the call graph for this function:

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.

Parameters:
bodybody involved.
pt_loclocal coordinates of the point.

Here is the call graph for this function:

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.

Parameters:
bodybody involved.
pt_globglobal coordinates of the point.

Here is the call graph for this function:

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.

Parameters:
bodybody involved.
pt_loclocal coordinates of the point.

Here is the call graph for this function:

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.

Parameters:
bodybody involved.
vc_loclocal coordinates of the vector.

Here is the call graph for this function:

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.

Parameters:
bodybody involved.
vc_globglobal coordinates of the vector.

Here is the call graph for this function:

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.

Parameters:
bodybody involved.
vc_loclocal coordinates of the vector.

Here is the call graph for this function:


Variable Documentation

INTEGER,parameter,public SOLIDS::ground = 0
INTEGER,public SOLIDS::nSOLID = 0
INTEGER,dimension(:),allocatable,public SOLIDS::PROTECTED
TYPE(SOLID),dimension(:),allocatable,public SOLIDS::SOLIDlist