FEDEM Solver  R8.0
Source code of the dynamics solver
Functions/Subroutines | Variables
masterslavejointroutinesmodule Module Reference

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...
 

Detailed Description

Module with subroutines for joint constraint calculation calculations.

Function/Subroutine Documentation

◆ incjointsvar()

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.

Author
Bjorn Haugen
Date
16 Nov 2001
Author
Knut Morten Okstad
Date
21 Jun 2002

◆ initiatejointvars()

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.

Author
Knut Morten Okstad
Date
24 Oct 2002

◆ movejointinposition()

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.

Author
Karl Erik Thoresen / Bjorn Haugen
Date
Des 1999
Author
Bjorn Haugen
Date
Oct 2000

◆ setspringstatus()

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.

Author
Bjorn Haugen
Date
12 Apr 2001

◆ updatedependencies()

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).

Author
Karl Erik Thoresen
Date
27 Sep 1998
Author
Knut Morten Okstad
Date
12 Oct 2004

◆ updatejoints()

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.

Author
Karl Erik Thoresen
Date
Nov 1999
Author
Bjorn Haugen
Date
Sep 2000
Author
Knut Morten Okstad
Date
May 2008

Variable Documentation

◆ epszero_p

real(dp), parameter masterslavejointroutinesmodule::epszero_p = 1.0e-15_dp

Zero tolerance.