MBSVT 1.0
Functions/Subroutines | Variables
CONSTANTS Module Reference

Module of solver parameters. More...

Functions/Subroutines

subroutine initialize_CONSTANTS (formulation, integrator, time_step, penaltycoef, psicoef, omegacoef, gravity)
 Inicialization of solver constants and parameters.
subroutine initialize_CALLBACKS (forces, stiffness, damping, PQbarPrho, PMbarPrhoVdot, dgdy, dgdp, AdjInit, gfun, guiada, normal_collision)
 Initialization of solver callbacks: the user provides the subtoutines that the solver calls if necessary. It needs a previous call to constants::initialize_CONSTANTS.
subroutine setDIM (newDIM)
subroutine setNRT (newNRT)
subroutine setNMT (newNMT)
subroutine setNIN (newNIN)

Variables

REAL(8), dimension(3), pointer PROTECTED
REAL(8), dimension(3) g = (/0.d0,0.d0,-9.81d0/)
REAL(8) dt = 1.d-2
REAL(8) alfa = 1.d9
REAL(8) psi = 1.d0
REAL(8) omega = 10.d0
REAL(8) tolNRppos = 1.d-10
REAL(8) pivgdlval = 1.d15
INTEGER maxiteppos = 1000
INTEGER, parameter Dynamics = 1
INTEGER, parameter Kinematics = 2
INTEGER, parameter Sensitivity_ADJ = 3
INTEGER, parameter Sensitivity_TLM = 4
INTEGER, parameter E_RK = 1
INTEGER, parameter I_RK = 2
INTEGER, parameter I_RK_ADJ = 3
INTEGER, parameter I_RK_TLM = 4
INTEGER SWFORM = Dynamics
INTEGER SWINT = E_RK
INTEGER DIM = 0
INTEGER NRT = 0
INTEGER NIN = 0
INTEGER NMT = 0
PROCEDURE(callback_forces), pointer pforces_user
PROCEDURE(callback_stiffness),
pointer 
pstiffness_user
PROCEDURE(callback_damping),
pointer 
pdamping_user
PROCEDURE(callback_PQbarPrho),
pointer 
pqro_user
PROCEDURE(callback_PMbarPrhoVdot),
pointer 
pmpv_user
PROCEDURE(callback_dgdy), pointer pdgdy_user
PROCEDURE(callback_dgdp), pointer pdgdp_user
PROCEDURE(callback_AdjInit),
pointer 
padjinit_user
PROCEDURE(callback_gfun), pointer pgfun_user
PROCEDURE(callback_guiada), pointer pguiada
PROCEDURE(callback_normal_collision),
pointer 
pnormal_collision

Detailed Description

Module of solver parameters.


Function/Subroutine Documentation

subroutine CONSTANTS::initialize_CALLBACKS ( PROCEDURE(callback_forces),optional  forces,
PROCEDURE(callback_stiffness),optional  stiffness,
PROCEDURE(callback_damping),optional  damping,
PROCEDURE(callback_PQbarPrho),optional  PQbarPrho,
PROCEDURE(callback_PMbarPrhoVdot),optional  PMbarPrhoVdot,
PROCEDURE(callback_dgdy),optional  dgdy,
PROCEDURE(callback_dgdp),optional  dgdp,
PROCEDURE(callback_AdjInit),optional  AdjInit,
PROCEDURE(callback_gfun),optional  gfun,
PROCEDURE(callback_guiada),optional  guiada,
PROCEDURE(callback_normal_collision),optional  normal_collision 
)

Initialization of solver callbacks: the user provides the subtoutines that the solver calls if necessary. It needs a previous call to constants::initialize_CONSTANTS.

Parameters:
forcespointer to the subrutine of user forces. If it is not provided, MBSVT understands that user forces are not present and no call is performed.
PQbarPrho${\bar Q}_{\rho}$.
PMbarPrhoVdot${\bar M}_{\rho}{\dot v}$.
normal_colision,pointerto subroutine of colission detection.
subroutine CONSTANTS::initialize_CONSTANTS ( INTEGER,intent(in),optional  formulation,
INTEGER,intent(in),optional  integrator,
REAL(8),intent(in),optional  time_step,
REAL(8),intent(in),optional  penaltycoef,
REAL(8),intent(in),optional  psicoef,
REAL(8),intent(in),optional  omegacoef,
REAL(8),dimension(3),intent(in),optional  gravity 
)

Inicialization of solver constants and parameters.

Parameters:
formulationthere is only constants::Kinematics and constants::Dynamics.
integratornumerical integrator for the dynamics. MBSVT uses FATODE integrators. The supported integrators are ERK so far.
time_steppaso de tiempo.
penaltycoef,psicoef,omegacoefcoeficientes para los términos de penalización.
gravityaceleración de la gravedad (vector).
subroutine CONSTANTS::setDIM ( INTEGER,intent(in)  newDIM)
subroutine CONSTANTS::setNIN ( INTEGER,intent(in)  newNIN)
subroutine CONSTANTS::setNMT ( INTEGER,intent(in)  newNMT)
subroutine CONSTANTS::setNRT ( INTEGER,intent(in)  newNRT)

Variable Documentation

REAL(8) CONSTANTS::alfa = 1.d9
INTEGER CONSTANTS::DIM = 0
REAL(8) CONSTANTS::dt = 1.d-2
INTEGER,parameter CONSTANTS::Dynamics = 1
INTEGER,parameter CONSTANTS::E_RK = 1
REAL(8),dimension(3) CONSTANTS::g = (/0.d0,0.d0,-9.81d0/)
INTEGER,parameter CONSTANTS::I_RK = 2
INTEGER,parameter CONSTANTS::I_RK_ADJ = 3
INTEGER,parameter CONSTANTS::I_RK_TLM = 4
INTEGER,parameter CONSTANTS::Kinematics = 2
INTEGER CONSTANTS::maxiteppos = 1000
INTEGER CONSTANTS::NIN = 0
INTEGER CONSTANTS::NMT = 0
INTEGER CONSTANTS::NRT = 0
REAL(8) CONSTANTS::omega = 10.d0
PROCEDURE(callback_guiada),pointer CONSTANTS::pguiada
REAL(8) CONSTANTS::pivgdlval = 1.d15
PROCEDURE(callback_normal_collision),dimension(3),pointer CONSTANTS::PROTECTED
REAL(8) CONSTANTS::psi = 1.d0
INTEGER,parameter CONSTANTS::Sensitivity_ADJ = 3
INTEGER,parameter CONSTANTS::Sensitivity_TLM = 4
REAL(8) CONSTANTS::tolNRppos = 1.d-10