MBSVT 1.0
Functions/Subroutines | Variables
djacobdt_qp Module Reference

Module of derivatives of the Jacobian mutiplied by the velocity vector. It's NOT a user module, it's used by the solver. More...

Functions/Subroutines

subroutine djacobdt_qp_Setup
subroutine deallocfiqpqp
subroutine deallocfit
subroutine d_UnitEulParam (ir, iEul)
 $\dot{\bm \Phi}_{\bf q}\dot{\bf q}$, which is the derevative of jacobian with respect to time multiplies the velocity vector $\dot{\bm \Phi}_{\bf q}\dot{\bf q}$ of unitary Euler parameters
subroutine d_dot1GB (ir, iEul2, u, v)
 $\dot{\bm \Phi}_{\bf q}\dot{\bf q}$ of a dot-1 constraint attached on the ground
subroutine d_dot1 (ir, iEul1, iEul2, u, v)
 $\dot{\bm \Phi}_{\bf q}\dot{\bf q}$ of a dot-1 constraint.
subroutine d_sphericalGB (ir, irg2, iEul2, pt1, pt2)
 $\dot{\bm \Phi}_{\bf q}\dot{\bf q}$ of a spherical joint of a body attached to the ground
subroutine d_spherical (ir, irg1, irg2, iEul1, iEul2, pt1, pt2)
 $\dot{\bm \Phi}_{\bf q}\dot{\bf q}$ of a spherical joint between two bodies
subroutine d_revoluteGB (ir, irg2, iEul2, pt1, pt2, u1, v1, vec2)
 $\dot{\bm \Phi}_{\bf q}\dot{\bf q}$ of a revolute joint of a body attached to the ground
subroutine d_revolute (ir, irg1, irg2, iEul1, iEul2, pt1, pt2, u1, v1, vec2)
 $\dot{\bm \Phi}_{\bf q}\dot{\bf q}$ of a revolute joint between two bodies
subroutine d_transGB (ir, irg2, iEul2, pt1, pt2, vec1y, vec1x, vec2x, vec2z)
 $\dot{\bm \Phi}_{\bf q}\dot{\bf q}$ of a translational joint of a body attached to the ground
subroutine d_trans (ir, irg1, irg2, iEul1, iEul2, pt1, pt2, vec1y, vec1x, vec2x, vec2z)
 $\dot{\bm \Phi}_{\bf q}\dot{\bf q}$ of a translational joint between two bodies
subroutine d_Drive_distGB (ir, irg2, iEul2, pt1, pt2_loc, i_MOTOR)
 $\dot{\bm \Phi}_{\bf q}\dot{\bf q}$ for a distance between a point in the ground and a point of one body.
subroutine d_Drive_dist (ir, irg1, irg2, iEul1, iEul2, pt1_loc, pt2_loc, i_MOTOR)
 $\dot{\bm \Phi}_{\bf q}\dot{\bf q}$ for a distance between two points of two bodies.
subroutine dt_Drive_rgEul (ir, ind, i_MOTOR)
 $\dot{\bm \Phi}_{\bf q}\dot{\bf q}$ for a generalized coordinate of the system.
subroutine dtp_Drive_rgEul (ir, ind, i_MOTOR)
 $\dot{\bm \Phi}_{\bf q}\dot{\bf q}$ for a generalized coordinate of the system.
subroutine dt_Drive_dist (ir, i_MOTOR)
 $\dot{\bm \Phi}_{\bf q}\dot{\bf q}$ for a distance.
subroutine dtp_Drive_dist (ir, i_MOTOR)
 $\dot{\bm \Phi}_{\bf q}\dot{\bf q}$ for a distance.

Variables

REAL(8), dimension(:), allocatable PROTECTED
REAL(8), dimension(:), allocatable fiqpqp
REAL(8), dimension(:), allocatable fit
REAL(8), dimension(:), allocatable fitp

Detailed Description

Module of derivatives of the Jacobian mutiplied by the velocity vector. It's NOT a user module, it's used by the solver.


Function/Subroutine Documentation

subroutine djacobdt_qp::d_dot1 ( integer,intent(in)  ir,
integer,dimension(4),intent(in)  iEul1,
integer,dimension(4),intent(in)  iEul2,
real(8),dimension(3),intent(in)  u,
real(8),dimension(3),intent(in)  v 
)

$\dot{\bm \Phi}_{\bf q}\dot{\bf q}$ of a dot-1 constraint.

Parameters:
irindex of the constraint
iEul1,iEul2indexes of the Euler parameters of the bodies.
uvector in the first body given in the body reference frame
vvector in the second body given in the body reference frame

Here is the call graph for this function:

subroutine djacobdt_qp::d_dot1GB ( integer,intent(in)  ir,
integer,dimension(4),intent(in)  iEul2,
real(8),dimension(3),intent(in)  u,
real(8),dimension(3),intent(in)  v 
)

$\dot{\bm \Phi}_{\bf q}\dot{\bf q}$ of a dot-1 constraint attached on the ground

Parameters:
irindex of the constraint
iEul2indexes of the Euler parameters of the body.
uvector attached on the ground
vvector in the second body given in the body reference frame

Here is the call graph for this function:

subroutine djacobdt_qp::d_Drive_dist ( INTEGER,intent(in)  ir,
INTEGER,dimension(3),intent(in)  irg1,
INTEGER,dimension(3),intent(in)  irg2,
INTEGER,dimension(4),intent(in)  iEul1,
INTEGER,dimension(4),intent(in)  iEul2,
REAL(8),dimension(3),intent(in)  pt1_loc,
REAL(8),dimension(3),intent(in)  pt2_loc,
INTEGER,intent(in)  i_MOTOR 
)

$\dot{\bm \Phi}_{\bf q}\dot{\bf q}$ for a distance between two points of two bodies.

Parameters:
irindex of the constraint.
irg1,irg2indexes of the centers of mass of the bodies.
iEul1,iEul2indexes of the Euler parameters of the bodies.
pt1_locpoint in the first body given in the body reference frame
pt2_locpoint in the second body given in the body reference frame
i_MOTORindex in the vector of motors (STATE::pos) to drive the constraint.

Here is the call graph for this function:

subroutine djacobdt_qp::d_Drive_distGB ( INTEGER,intent(in)  ir,
INTEGER,dimension(3),intent(in)  irg2,
INTEGER,dimension(4),intent(in)  iEul2,
REAL(8),dimension(3),intent(in)  pt1,
REAL(8),dimension(3),intent(in)  pt2_loc,
INTEGER,intent(in)  i_MOTOR 
)

$\dot{\bm \Phi}_{\bf q}\dot{\bf q}$ for a distance between a point in the ground and a point of one body.

Parameters:
irindex of the constraint.
irg2index of the center of mass of the body.
iEul2index of the Euler parameters of the body.
pt1point in the ground given in the global reference frame
pt2_locpoint in the second body given in the body reference frame
i_MOTORindex in the vector of motors (STATE::pos) to drive the constraint.

Here is the call graph for this function:

subroutine djacobdt_qp::d_revolute ( integer,intent(in)  ir,
integer,dimension(3),intent(in),optional  irg1,
integer,dimension(3),intent(in),optional  irg2,
integer,dimension(4),intent(in)  iEul1,
integer,dimension(4),intent(in)  iEul2,
real(8),dimension(3),intent(in)  pt1,
real(8),dimension(3),intent(in)  pt2,
real(8),dimension(3),intent(in)  u1,
real(8),dimension(3),intent(in)  v1,
real(8),dimension(3),intent(in)  vec2 
)

$\dot{\bm \Phi}_{\bf q}\dot{\bf q}$ of a revolute joint between two bodies

Parameters:
irindex of the constraint
irg1,irg2indexes of the centers of mass of the bodies.
iEul1,iEul2indexes of the Euler parameters of the bodies.
pt1,pt2points given in the bodies reference frames
u1,v1perpendicular vectors in the first body
vec2vector in the second body given in the body reference frame

Here is the call graph for this function:

subroutine djacobdt_qp::d_revoluteGB ( integer,intent(in)  ir,
integer,dimension(3),intent(in),optional  irg2,
integer,dimension(4),intent(in)  iEul2,
real(8),dimension(3),intent(in),optional  pt1,
real(8),dimension(3),intent(in)  pt2,
real(8),dimension(3),intent(in)  u1,
real(8),dimension(3),intent(in)  v1,
real(8),dimension(3),intent(in)  vec2 
)

$\dot{\bm \Phi}_{\bf q}\dot{\bf q}$ of a revolute joint of a body attached to the ground

Parameters:
irindex of the constraint
irg2index of the center of mass of the body
iEul2index of the Euler parameters of the body
pt1point in the ground
pt2point in the body given in the body reference frame
u1,u2perpendicular vectors in the ground
vec2vector in the body given in the body reference frame

Here is the call graph for this function:

subroutine djacobdt_qp::d_spherical ( integer,intent(in)  ir,
integer,dimension(3),intent(in),optional  irg1,
integer,dimension(3),intent(in),optional  irg2,
integer,dimension(4),intent(in)  iEul1,
integer,dimension(4),intent(in)  iEul2,
real(8),dimension(3),intent(in)  pt1,
real(8),dimension(3),intent(in)  pt2 
)

$\dot{\bm \Phi}_{\bf q}\dot{\bf q}$ of a spherical joint between two bodies

Parameters:
irindex of the constraint
irg1,irg2indexes of the centers of mass of the bodies.
iEul1,iEul2indexes of the Euler parameters of the bodies.
pt1,pt2points given in the bodies reference frames

Here is the call graph for this function:

subroutine djacobdt_qp::d_sphericalGB ( integer,intent(in)  ir,
integer,dimension(3),intent(in),optional  irg2,
integer,dimension(4),intent(in)  iEul2,
real(8),dimension(3),intent(in),optional  pt1,
real(8),dimension(3),intent(in)  pt2 
)

$\dot{\bm \Phi}_{\bf q}\dot{\bf q}$ of a spherical joint of a body attached to the ground

Parameters:
irindex of the constraint
irg2index of the center of mass of the body
iEul2index of the Euler parameters of the body
pt1point in the ground
pt2point in the body given in the body reference frame

Here is the call graph for this function:

subroutine djacobdt_qp::d_trans ( integer,intent(in)  ir,
integer,dimension(3),intent(in)  irg1,
integer,dimension(3),intent(in)  irg2,
integer,dimension(4),intent(in)  iEul1,
integer,dimension(4),intent(in)  iEul2,
REAL(8),dimension(3),intent(in)  pt1,
REAL(8),dimension(3),intent(in)  pt2,
REAL(8),dimension(3),intent(in)  vec1y,
REAL(8),dimension(3),intent(in)  vec1x,
REAL(8),dimension(3),intent(in)  vec2x,
REAL(8),dimension(3),intent(in)  vec2z 
)

$\dot{\bm \Phi}_{\bf q}\dot{\bf q}$ of a translational joint between two bodies

Parameters:
irindex of the constraint
irg1,irg2indexes of the centers of mass of the bodies.
iEul1,iEul2indexes of the Euler parameters of the bodies.
pt1point given in the first body given in the body reference frame
pt2point given in the second body given in the body reference frame
vec1y,vec1xperpendicular vectors in the first body given in the body reference frame
vec2x,vec2zperpendicular vectors in the second body given in the body reference frame

Here is the call graph for this function:

subroutine djacobdt_qp::d_transGB ( integer,intent(in)  ir,
integer,dimension(3),intent(in)  irg2,
integer,dimension(4),intent(in)  iEul2,
REAL(8),dimension(3),intent(in)  pt1,
REAL(8),dimension(3),intent(in)  pt2,
REAL(8),dimension(3),intent(in)  vec1y,
REAL(8),dimension(3),intent(in)  vec1x,
REAL(8),dimension(3),intent(in)  vec2x,
REAL(8),dimension(3),intent(in)  vec2z 
)

$\dot{\bm \Phi}_{\bf q}\dot{\bf q}$ of a translational joint of a body attached to the ground

Parameters:
irindex of the constraint
irg2index of the center of mass of the body
iEul2index of the Euler parameter of the body.
pt1point in the ground
pt2point in the body given in the body reference frame
vec1y,vec1xperpendicular vectors in the ground
vec2x,vec2zperpendicular vectors in the body given in the body reference frame

Here is the call graph for this function:

subroutine djacobdt_qp::d_UnitEulParam ( integer,intent(in)  ir,
integer,dimension(4),intent(in)  iEul 
)

$\dot{\bm \Phi}_{\bf q}\dot{\bf q}$, which is the derevative of jacobian with respect to time multiplies the velocity vector $\dot{\bm \Phi}_{\bf q}\dot{\bf q}$ of unitary Euler parameters

Parameters:
irindex of the constraint
iEulindexes of the Euler parameters
subroutine djacobdt_qp::deallocfiqpqp ( )
subroutine djacobdt_qp::deallocfit ( )
subroutine djacobdt_qp::djacobdt_qp_Setup ( )

Here is the call graph for this function:

subroutine djacobdt_qp::dt_Drive_dist ( INTEGER,intent(in)  ir,
INTEGER,intent(in)  i_MOTOR 
)

$\dot{\bm \Phi}_{\bf q}\dot{\bf q}$ for a distance.

Parameters:
irindex of the constraint.
i_MOTORindex in the vector of motors (STATE::pos) to drive the constraint.
subroutine djacobdt_qp::dt_Drive_rgEul ( INTEGER,intent(in)  ir,
INTEGER,intent(in)  ind,
INTEGER,intent(in)  i_MOTOR 
)

$\dot{\bm \Phi}_{\bf q}\dot{\bf q}$ for a generalized coordinate of the system.

Parameters:
irindex of the constraint
indindex of the driven generalized coordinate. It is not necessary here, but it is kept for compatibility of the interfaces (less easy to make mistakes)
i_MOTORindex in the vector of motors (STATE::pos) to drive the constraint.
subroutine djacobdt_qp::dtp_Drive_dist ( INTEGER,intent(in)  ir,
INTEGER,intent(in)  i_MOTOR 
)

$\dot{\bm \Phi}_{\bf q}\dot{\bf q}$ for a distance.

Parameters:
irindex of the constraint.
i_MOTORindex in the vector of motors (STATE::pos) to drive the constraint.
subroutine djacobdt_qp::dtp_Drive_rgEul ( INTEGER,intent(in)  ir,
INTEGER,intent(in)  ind,
INTEGER,intent(in)  i_MOTOR 
)

$\dot{\bm \Phi}_{\bf q}\dot{\bf q}$ for a generalized coordinate of the system.

Parameters:
irindex of the constraint
indindex of the driven generalized coordinate. It is not necessary here, but it is kept for compatibility of the interfaces (less easy to make mistakes)
i_MOTORindex in the vector of motors (STATE::pos) to drive the constraint.

Variable Documentation

REAL(8),dimension(:),allocatable djacobdt_qp::fiqpqp
REAL(8),dimension(:),allocatable djacobdt_qp::fit
REAL(8),dimension(:),allocatable djacobdt_qp::fitp
REAL(8),dimension(:),allocatable djacobdt_qp::PROTECTED