Robotran C Documentation
Data Types | Functions/Subroutines
externalmbs Module Reference

Data Types

interface  f_add_rAux
 
interface  f_add_reac
 
interface  f_comp_vAux_Iaux
 
interface  f_comp_vAux_Ireac
 
interface  f_compute_dof
 
interface  f_compute_free_vlocy
 
interface  f_finalize
 
interface  f_get_vAux
 
interface  f_get_vBeg
 
interface  f_get_vFree
 
interface  f_increment
 
interface  f_initialize
 
interface  f_nullify_rAux
 
interface  f_nullify_reac
 
interface  f_nullify_vAux
 
interface  f_nullify_vFree
 
interface  f_update_dof
 
interface  f_update_nodes_2D
 
interface  f_update_nodes_3D
 

Functions/Subroutines

subroutine, public initialize ()
 Initialize all mbs. More...
 
subroutine, public increment (tbegin)
 Increment time step and save the current configuration of all mbs. More...
 
subroutine, public compute_free_vlocy (h, theta)
 Compute the free velocity of all mbs. More...
 
subroutine, public update_nodes_3d (i_mbs, coorTT, localFrameTT, storage)
 Update the kinematics of 3D nodes belonging to the specified mbs. More...
 
subroutine, public update_nodes_2d (i_mbs, coorTT, storage)
 Update the kinematics of 2D nodes belonging to the specified mbs. More...
 
subroutine, public nullify_reac (i_mbs, storage)
 Reset the specified reaction to zero for the specified mbs. More...
 
subroutine, public add_reac_3d (i_mbs, i_node, reac, storage, LFTT)
 Add the given node reaction contribution to the reaction of the global mbs in 3D simulation. More...
 
subroutine, public add_reac_2d (i_mbs, i_node, reac, storage)
 Add the given node reaction contribution to the reaction of the global mbs in 2D simulation. More...
 
subroutine, public nullify_vlocy (i_mbs, storage)
 Reset the specified velocity to zero for the specified mbs. More...
 
subroutine, public comp_vlocy (i_mbs, storage)
 Compute the generalized velocities. More...
 
subroutine, public get_vlocy_3d (i_mbs, i_node, vlocy, storage, LFTT)
 Compute and set the velocity of a node in 3D simulation. More...
 
subroutine, public get_vlocy_2d (i_mbs, i_node, vlocy, storage)
 Compute and set the velocity of a node in 2D simulation. More...
 
subroutine, public compute_dof (h, theta)
 Compute the new value of the generalized velocity and position for all mbs. More...
 
subroutine, public update_dof ()
 Finalize time step: update vBeg field for all mbs. More...
 
subroutine, public finalize ()
 Save final configuration, free the memory and finalize the process. More...
 

Function/Subroutine Documentation

◆ add_reac_2d()

subroutine, public externalmbs::add_reac_2d ( integer(kind=4), intent(in)  i_mbs,
integer(kind=4), intent(in)  i_node,
real(kind=8), dimension(3)  reac,
integer(kind=4), intent(in)  storage 
)

Add the given node reaction contribution to the reaction of the global mbs in 2D simulation.

Parameters
[in]i_mbsthe index of the mbs for which the reaction must be applied
[in]i_nodethe index of the node on which the reaction is applied
[in]reacreaction to add with the forces and torque expressed in global frame
[in]storageflag to communicate the state of the computation

◆ add_reac_3d()

subroutine, public externalmbs::add_reac_3d ( integer(kind=4), intent(in)  i_mbs,
integer(kind=4), intent(in)  i_node,
real(kind=8), dimension(6)  reac,
integer(kind=4), intent(in)  storage,
real(kind=8), dimension(3,3)  LFTT 
)

Add the given node reaction contribution to the reaction of the global mbs in 3D simulation.

Parameters
[in]i_mbsthe index of the mbs for which the reaction must be applied
[in]i_nodethe index of the node on which the reaction is applied
[in]reacreaction to add with the forces expressed in global frame and torque in body frame
[in]storageFlag to communicate the state of the computation
[in]LFTTrotation matrix to pass from global frame to body frame

◆ comp_vlocy()

subroutine, public externalmbs::comp_vlocy ( integer(kind=4), intent(in)  i_mbs,
integer(kind=4), intent(in)  storage 
)

Compute the generalized velocities.

Parameters
[in]i_mbsthe index of the mbs for which the generalized velocities are computed. First Mbs is index 1.
[in]storageFlag to communicate the state of the computation.

◆ compute_dof()

subroutine, public externalmbs::compute_dof ( real(kind=8), intent(in)  h,
real(kind=8), intent(in)  theta 
)

Compute the new value of the generalized velocity and position for all mbs.

Parameters
[in]hThe time step size
[in]thetaParameter for the $ \theta $-integration scheme

◆ compute_free_vlocy()

subroutine, public externalmbs::compute_free_vlocy ( real(kind=8), intent(in)  h,
real(kind=8), intent(in)  theta 
)

Compute the free velocity of all mbs.

Parameters
[in]hThe time step size
[in]thetaParameter for the $ \theta $-integration scheme

◆ finalize()

subroutine, public externalmbs::finalize

Save final configuration, free the memory and finalize the process.

◆ get_vlocy_2d()

subroutine, public externalmbs::get_vlocy_2d ( integer(kind=4), intent(in)  i_mbs,
integer(kind=4), intent(in)  i_node,
real(kind=8), dimension(3)  vlocy,
integer(kind=4), intent(in)  storage 
)

Compute and set the velocity of a node in 2D simulation.

Parameters
[in]i_mbsThe index of the mbs for which the velocity is get. First Mbs is index 1.
[in]i_nodeThe index of the node for which the velocity is computed. First node is index 1.
[out]vlocyVelocity expressed in global frame.
[in]storageFlag to communicate the state of the computation.

◆ get_vlocy_3d()

subroutine, public externalmbs::get_vlocy_3d ( integer(kind=4), intent(in)  i_mbs,
integer(kind=4), intent(in)  i_node,
real(kind=8), dimension(6)  vlocy,
integer(kind=4), intent(in)  storage,
real(kind=8), dimension(3,3)  LFTT 
)

Compute and set the velocity of a node in 3D simulation.

Parameters
[in]i_mbsThe index of the mbs for which the velocity is get. First Mbs is index 1.
[in]i_nodeThe index of the node for which the velocity is computed. First node is index 1.
[out]vlocyVelocity with linear velocities expressed in global frame and angular in body frame.
[in]storageFlag to communicate the state of the computation.
[out]LFTTrotation matrix to pass from global frame to body frame

◆ increment()

subroutine, public externalmbs::increment ( real(kind=8), intent(in)  tbegin)

Increment time step and save the current configuration of all mbs.

Parameters
[in]tbeginvalue of simulation time at the begining of the current time step

◆ initialize()

subroutine, public externalmbs::initialize

Initialize all mbs.

◆ nullify_reac()

subroutine, public externalmbs::nullify_reac ( integer(kind=4), intent(in)  i_mbs,
integer(kind=4), intent(in)  storage 
)

Reset the specified reaction to zero for the specified mbs.

Parameters
[in]i_mbsthe index of the mbs for which the reaction is modified. First Mbs is index 1.
[in]storageFlag to communicate the reaction to reset.

◆ nullify_vlocy()

subroutine, public externalmbs::nullify_vlocy ( integer(kind=4), intent(in)  i_mbs,
integer(kind=4), intent(in)  storage 
)

Reset the specified velocity to zero for the specified mbs.

Parameters
[in]i_mbsthe index of the mbs for which the velocity is modified. First Mbs is index 1.
[in]storageFlag to communicate the velocity to reset.

◆ update_dof()

subroutine, public externalmbs::update_dof

Finalize time step: update vBeg field for all mbs.

◆ update_nodes_2d()

subroutine, public externalmbs::update_nodes_2d ( integer(kind=4), intent(in)  i_mbs,
real(kind=8), dimension(:,:), pointer  coorTT,
integer(kind=4), intent(in)  storage 
)

Update the kinematics of 2D nodes belonging to the specified mbs.

Parameters
[in]i_mbsThe index of the mbs for which the reaction is modified. First Mbs is index 1.
[out]coorTTThe array in which the position of nodes must be copied.
[in]storageFlag to communicate the computation status.

◆ update_nodes_3d()

subroutine, public externalmbs::update_nodes_3d ( integer(kind=4), intent(in)  i_mbs,
real(kind=8), dimension(:,:), pointer  coorTT,
real(kind=8), dimension(:,:), pointer  localFrameTT,
integer(kind=4), intent(in)  storage 
)

Update the kinematics of 3D nodes belonging to the specified mbs.

Parameters
[in]i_mbsThe index of the mbs for which the reaction is modified. First Mbs is index 1.
[out]coorTTThe array in which the position of nodes must be copied.
[out]localFrameTTThe array in which the rotation matrix of nodes must be copied.
[in]storageFlag to communicate the computation status.