FEDEM Solver  R8.0
Source code of the dynamics solver
Data Types | Modules | Functions/Subroutines | Variables
springRoutinesModule.f90 File Reference

Subroutines for spring calculations. More...

Data Types

interface  springroutinesmodule::addinspringforces
 Assembles system force vector contributions from a spring element. More...
 

Modules

module  springroutinesmodule
 Module with subroutines for spring calculations.
 

Functions/Subroutines

subroutine, public springroutinesmodule::updatesprings (springs, joints, restart, ierr, updateLength, updateVar)
 Update all springs in the model. More...
 
subroutine updateaxialspringlen (spr, triads, sDir)
 Updates the length and direction of an axial spring. More...
 
subroutine updateglobalspringlen (spr, triad1, triad2)
 Updates the length of a global spring. More...
 
subroutine updategroundedspringlen (spr, triad1)
 Updates the length of a grounded spring. More...
 
subroutine springroutinesmodule::updatespringinterconn (springEl, includeStressStiff, ierr)
 Corrects spring force and stiffness according to interconnectivity. More...
 
subroutine addgeostiffness (Kt, forceDir, activeSpr, KgNom)
 Adds geometric stiffness terms for a translational spring. More...
 
subroutine, public springroutinesmodule::updatespringyields (yields, ierr)
 Updates the spring yield variables. More...
 
subroutine updateyieldlimit (yld)
 Updates the yield limit by evaluating the yield limit engine. More...
 
subroutine springroutinesmodule::calcspringforces (spr, triads, sDir, eV)
 Calculates system force vector contributions from a spring element. More...
 
subroutine springroutinesmodule::calcspringstiffness (spr, triads, sDir, cplStiff, scaleK, eM, includeStressStiff, haveStiffness)
 Calculates the stiffness matrix contributions from a spring element. More...
 
subroutine springroutinesmodule::couplespringforces (spr, cplStiff)
 Updates spring element forces due to explicit coupling. More...
 
subroutine springroutinesmodule::couplespringstiffness (spr, cplStiff, elMat, scaleK, d1)
 Updates a spring element stiffness matrix due to explicit coupling. More...
 
subroutine springroutinesmodule::addinstiffnessforces (FS, RF, spring, sam, ierr)
 Assembles system force vector contributions from a spring element. More...
 
subroutine springroutinesmodule::addindampingforces (FD, RF, spring, sam, alpha2, ierr)
 Assembles system force vector contributions from a spring element. More...
 
subroutine, public springroutinesmodule::addinspringstiffmat (includeStressStiff, scaleK, Nmat, spring, sam, ierr, Rhs)
 Assembles system stiffness contributions from a spring element. More...
 

Variables

integer, parameter springroutinesmodule::maxdofs_p = 60
 Max number of DOFs pr element. More...
 
real(dp), parameter springroutinesmodule::epszero_p = 1.0e-16_dp
 Equal to zero tolerance. More...
 

Detailed Description

Subroutines for spring calculations.

Function/Subroutine Documentation

◆ addgeostiffness()

subroutine updatespringinterconn::addgeostiffness ( real(dp), dimension(3,3), intent(inout)  Kt,
real(dp), dimension(3), intent(in)  forceDir,
logical, dimension(3), intent(in)  activeSpr,
real(dp), intent(in)  KgNom 
)

Adds geometric stiffness terms for a translational spring.

◆ updateaxialspringlen()

subroutine updatesprings::updateaxialspringlen ( type(springbasetype), intent(inout)  spr,
type(triadptrtype), dimension(:), intent(in)  triads,
real(dp), dimension(:,:), intent(out)  sDir 
)

Updates the length and direction of an axial spring.

◆ updateglobalspringlen()

subroutine updatesprings::updateglobalspringlen ( type(springbasetype), intent(inout)  spr,
type(triadtype), intent(in)  triad1,
type(triadtype), intent(in)  triad2 
)

Updates the length of a global spring.

◆ updategroundedspringlen()

subroutine updatesprings::updategroundedspringlen ( type(springbasetype), intent(inout)  spr,
type(triadtype), intent(in)  triad1 
)

Updates the length of a grounded spring.

◆ updateyieldlimit()

subroutine updatespringyields::updateyieldlimit ( type(yieldlimittype), intent(inout)  yld)

Updates the yield limit by evaluating the yield limit engine.