FEDEM Solver  R8.0
Source code of the dynamics solver
Data Types | Functions/Subroutines
frictionroutinesmodule Module Reference

Data Types

interface  findforceinfriction
 

Functions/Subroutines

subroutine, public updatefrictions (joints, cElems, dt, iter, useRealVel, ierr)
 
subroutine updatefriction (ierr, dt, deltaT, friction, jDof, joint, cElem)
 
subroutine updatemultidoffriction (ierr, dt, deltaT, friction, joint)
 
subroutine findmaxfrictionforce (Fmax, Fequ, Fext, Vel, StickSlip, F0, Coulomb, Stribeck, Vc)
 
subroutine findfrictionforce (Ffric, Kfric, Xn_1, Vn_1, Fold, dF, lStick, lInit, dT, Fmax, Fext, Ftol, X0, Xn, Vn)
 
subroutine, public addinfrictionforces (joint, sam, SysForce, SysReac, ierr)
 
subroutine findjointforceinfriction (joint, sam, RF, Q, Fs, Fd, Fi)
 
subroutine findcontactelmforceinfriction (cElem, sam, RF, Q, Fs, Fd, Fi)
 

Function/Subroutine Documentation

◆ addinfrictionforces()

subroutine, public frictionroutinesmodule::addinfrictionforces ( type(masterslavejointtype), intent(in)  joint,
type(samtype), intent(in)  sam,
real(dp), dimension(:), intent(inout)  SysForce,
real(dp), dimension(:), intent(inout)  SysReac,
integer, intent(inout)  ierr 
)

◆ findcontactelmforceinfriction()

subroutine frictionroutinesmodule::findcontactelmforceinfriction ( type(contactelementtype), intent(inout)  cElem,
type(samtype), intent(in)  sam,
real(dp), dimension(:), intent(in)  RF,
real(dp), dimension(:), intent(in)  Q,
real(dp), dimension(:), intent(in)  Fs,
real(dp), dimension(:), intent(in), optional  Fd,
real(dp), dimension(:), intent(in), optional  Fi 
)

◆ findfrictionforce()

subroutine frictionroutinesmodule::findfrictionforce ( real(dp), intent(out)  Ffric,
real(dp), intent(inout)  Kfric,
real(dp), intent(inout)  Xn_1,
real(dp), intent(inout)  Vn_1,
real(dp), intent(inout)  Fold,
real(dp), intent(inout)  dF,
integer, intent(inout)  lStick,
integer, intent(inout)  lInit,
real(dp), intent(in)  dT,
real(dp), intent(in)  Fmax,
real(dp), intent(in)  Fext,
real(dp), intent(in)  Ftol,
real(dp), intent(in)  X0,
real(dp), intent(in)  Xn,
real(dp), intent(in)  Vn 
)

◆ findjointforceinfriction()

subroutine frictionroutinesmodule::findjointforceinfriction ( type(masterslavejointtype), intent(inout)  joint,
type(samtype), intent(in)  sam,
real(dp), dimension(:), intent(in)  RF,
real(dp), dimension(:), intent(in)  Q,
real(dp), dimension(:), intent(in)  Fs,
real(dp), dimension(:), intent(in), optional  Fd,
real(dp), dimension(:), intent(in), optional  Fi 
)

◆ findmaxfrictionforce()

subroutine frictionroutinesmodule::findmaxfrictionforce ( real(dp), intent(out)  Fmax,
real(dp), intent(in)  Fequ,
real(dp), intent(in)  Fext,
real(dp), intent(in)  Vel,
integer, intent(inout)  StickSlip,
real(dp), intent(in)  F0,
real(dp), intent(in)  Coulomb,
real(dp), intent(in)  Stribeck,
real(dp), intent(in)  Vc 
)

◆ updatefriction()

subroutine frictionroutinesmodule::updatefriction ( integer, intent(inout)  ierr,
real(dp), intent(in)  dt,
real(dp), intent(in)  deltaT,
type(frictiontype), intent(inout)  friction,
integer, intent(in), optional  jDof,
type(masterslavejointtype), intent(in), optional  joint,
type(contactelementtype), intent(in), optional  cElem 
)

◆ updatefrictions()

subroutine, public frictionroutinesmodule::updatefrictions ( type(masterslavejointtype), dimension(:), intent(inout)  joints,
type(contactelementtype), dimension(:), intent(inout)  cElems,
real(dp), intent(in)  dt,
integer, intent(in)  iter,
logical, intent(in)  useRealVel,
integer, intent(inout)  ierr 
)

◆ updatemultidoffriction()

subroutine frictionroutinesmodule::updatemultidoffriction ( integer, intent(inout)  ierr,
real(dp), intent(in)  dt,
real(dp), intent(in)  deltaT,
type(frictiontype), intent(inout)  friction,
type(masterslavejointtype), intent(inout)  joint 
)