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

Module with subroutines for damper calculations. More...

Functions/Subroutines

subroutine updatedampers (dampers, timeStep, restart, ierr, updateLV, updateVar)
 Updates all axial- and joint dampers in the model. More...
 
subroutine, private calcdamperforces (damper, eV)
 Calculates system force vector contributions from a damper element. More...
 
subroutine addindamperforces (FD, RF, damper, sam, ierr)
 Assembles system force vector contributions from a damper element. More...
 
subroutine addindampermat (includeStressStiff, scaleC, scaleK, Nmat, damper, sam, ierr, Rhs)
 Assembles system damping matrix contributions from a damper element. More...
 

Detailed Description

Module with subroutines for damper calculations.

This module contains a set of subroutines for performing various computation tasks on the dampertypemodule::dampertype objects in the model (axial- and joint dampers) during the dynamic or quasi-static simulation.

Function/Subroutine Documentation

◆ addindamperforces()

subroutine damperroutinesmodule::addindamperforces ( real(dp), dimension(:), intent(inout)  FD,
real(dp), dimension(:), intent(inout)  RF,
type(dampertype), intent(in)  damper,
type(samtype), intent(in)  sam,
integer, intent(inout)  ierr 
)

Assembles system force vector contributions from a damper element.

Parameters
FDSystem damping force vector
RFSystem reaction forces associated with constrained DOFs
[in]damperThe damper element to calculate damping forces for
[in]samData for managing system matrix assembly
[out]ierrError flag
Author
Karl Erik Thoresen
Date
Feb 1999
Here is the call graph for this function:
Here is the caller graph for this function:

◆ addindampermat()

subroutine damperroutinesmodule::addindampermat ( logical, intent(in)  includeStressStiff,
real(dp), intent(in)  scaleC,
real(dp), intent(in)  scaleK,
type(sysmatrixtype), intent(inout)  Nmat,
type(dampertype), intent(in)  damper,
type(samtype), intent(in)  sam,
integer, intent(out)  ierr,
real(dp), dimension(:), intent(inout), optional  Rhs 
)

Assembles system damping matrix contributions from a damper element.

Parameters
[in]includeStressStiffIf .true., include geometric stiffness
[in]scaleCDamping matrix scaling factor
[in]scaleKStiffness matrix scaling factor
NmatSystem newton matrix
[in]damperThe damper element to calculate damping matrix for
[in]samData for managing system matrix assembly
[out]ierrError flag
RhsSystem right-hand-side vector associated with the Newton matrix

This subroutine calculates the damping matrix for a damper element and adds it into the system Newton matrix, multiplied by a factor, scaleC.

Author
Karl Erik Thoresen
Date
Feb 1999
Here is the call graph for this function:
Here is the caller graph for this function:

◆ calcdamperforces()

subroutine, private damperroutinesmodule::calcdamperforces ( type(dampertype), intent(in)  damper,
real(dp), dimension(:), intent(out)  eV 
)
private

Calculates system force vector contributions from a damper element.

Parameters
[in]damperThe damper element to calculate damping forces for
[out]eVElement damping force vector
Author
Knut Morten Okstad
Date
18 Feb 2008
Here is the caller graph for this function:

◆ updatedampers()

subroutine damperroutinesmodule::updatedampers ( type(dampertype), dimension(:), intent(inout)  dampers,
real(dp), intent(in)  timeStep,
logical, intent(in)  restart,
integer, intent(inout)  ierr,
logical, intent(in), optional  updateLV,
logical, intent(in), optional  updateVar 
)

Updates all axial- and joint dampers in the model.

Parameters
dampersAll damper elements in the model
[in]timeStepCurrent time increment size
[in]restartIf .true., we are initializing after restart
ierrError flag
[in]updateLVIf .true., update axial damper lengths and velocities
[in]updateVarIf .true., update all other damper variables

The updated length and velocity (and direction) for axial dampers are calculated first. Then all the remaining damper variables are updated. This is to ensure that sensors measuring damper length/velocity are up to date before they are used by engines. Note that for joint dampers, the damper length (and velocity unless deformational damper) coincide with the corresponding joint variables of the owner joint, and need therefore not to be updated here.

Author
Knut Morten Okstad
Date
11 Jun 2002
Author
Bjorn Haugen
Date
14 Jan 2004
Here is the call graph for this function:
Here is the caller graph for this function: