MBSVT 1.0
|
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 |
Module of solver parameters.
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.
forces | pointer 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 | ![]() |
PMbarPrhoVdot | ![]() |
normal_colision,pointer | to 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.
formulation | there is only constants::Kinematics and constants::Dynamics. |
integrator | numerical integrator for the dynamics. MBSVT uses FATODE integrators. The supported integrators are ERK so far. |
time_step | paso de tiempo. |
penaltycoef,psicoef,omegacoef | coeficientes para los términos de penalización. |
gravity | aceleració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 | ) |
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_AdjInit),pointer CONSTANTS::padjinit_user |
PROCEDURE(callback_damping),pointer CONSTANTS::pdamping_user |
PROCEDURE(callback_dgdp),pointer CONSTANTS::pdgdp_user |
PROCEDURE(callback_dgdy),pointer CONSTANTS::pdgdy_user |
PROCEDURE(callback_forces),pointer CONSTANTS::pforces_user |
PROCEDURE(callback_gfun),pointer CONSTANTS::pgfun_user |
PROCEDURE(callback_guiada),pointer CONSTANTS::pguiada |
REAL(8) CONSTANTS::pivgdlval = 1.d15 |
PROCEDURE(callback_PMbarPrhoVdot),pointer CONSTANTS::pmpv_user |
PROCEDURE(callback_normal_collision),pointer CONSTANTS::pnormal_collision |
PROCEDURE(callback_PQbarPrho),pointer CONSTANTS::pqro_user |
PROCEDURE(callback_normal_collision),dimension(3),pointer CONSTANTS::PROTECTED |
REAL(8) CONSTANTS::psi = 1.d0 |
PROCEDURE(callback_stiffness),pointer CONSTANTS::pstiffness_user |
INTEGER,parameter CONSTANTS::Sensitivity_ADJ = 3 |
INTEGER,parameter CONSTANTS::Sensitivity_TLM = 4 |
INTEGER CONSTANTS::SWFORM = Dynamics |
INTEGER CONSTANTS::SWINT = E_RK |
REAL(8) CONSTANTS::tolNRppos = 1.d-10 |