FEDEM Solver
R8.0
Source code of the dynamics solver
|
Module with subroutines for joint constraint calculation calculations. More...
Functions/Subroutines | |
subroutine, public | incjointsvar (joints, inc, motions, useTotalInc) |
Increments all joint DOFs in the model. More... | |
subroutine, public | updatejoints (joints, motions, ierr) |
Updates joint triad positions and associated constraint variables. More... | |
subroutine | setspringstatus (jDOFs, slider) |
Sets the status of contact springs past ends and outside the active radius region for Cam joints. More... | |
subroutine, public | movejointinposition (joint, ierr) |
Updates dependent triad position and the dependent variables. More... | |
subroutine, public | updatedependencies (joint, motions) |
Updatea the linear dependencies in a joint. More... | |
subroutine, public | initiatejointvars (joint, ierr) |
Initializes the joint variables (velocities and accelerations). More... | |
Variables | |
real(dp), parameter | epszero_p = 1.0e-15_dp |
Zero tolerance. More... | |
Module with subroutines for joint constraint calculation calculations.
subroutine, public masterslavejointroutinesmodule::incjointsvar | ( | type(masterslavejointtype), dimension(:), intent(inout), target | joints, |
real(dp), dimension(:), intent(in) | inc, | ||
type(motiontype), dimension(:), intent(in) | motions, | ||
logical, intent(in), optional | useTotalInc | ||
) |
Increments all joint DOFs in the model.
subroutine, public masterslavejointroutinesmodule::initiatejointvars | ( | type(masterslavejointtype), intent(inout) | joint, |
integer, intent(out) | ierr | ||
) |
Initializes the joint variables (velocities and accelerations).
The initialization is based on the current state of the joint triads, or the dependent DOF vel/acc if the joint variable vel/acc are given instead.
subroutine, public masterslavejointroutinesmodule::movejointinposition | ( | type(masterslavejointtype), intent(inout) | joint, |
integer, intent(out) | ierr | ||
) |
Updates dependent triad position and the dependent variables.
To counteract any nonlinearities that are trying to move the triad away from its constrained position, we have to move it to the correct position.
subroutine masterslavejointroutinesmodule::setspringstatus | ( | type(jointdoftype), dimension(:), intent(inout) | jDOFs, |
type(slidertype), intent(in) | slider | ||
) |
Sets the status of contact springs past ends and outside the active radius region for Cam joints.
subroutine, public masterslavejointroutinesmodule::updatedependencies | ( | type(masterslavejointtype), intent(inout) | joint, |
type(motiontype), dimension(:), intent(in) | motions | ||
) |
Updatea the linear dependencies in a joint.
The linear dependencies are stores in the TTCC table in SAM. Prescribed motions in joint triad DOFs and/or directly in the joint DOFs are accounted for by multiplying the current prescribed value with the associated terms of the joint constraint equations, and adding the results to the constant term of the constraint equations (stored in TCC(1) for each dependent DOF).
subroutine, public masterslavejointroutinesmodule::updatejoints | ( | type(masterslavejointtype), dimension(:), intent(inout) | joints, |
type(motiontype), dimension(:), intent(in) | motions, | ||
integer, intent(inout) | ierr | ||
) |
Updates joint triad positions and associated constraint variables.
real(dp), parameter masterslavejointroutinesmodule::epszero_p = 1.0e-15_dp |
Zero tolerance.