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

Module with data types representing damper objects. More...

Data Types

type  damperbasetype
 Data type representing a base damper object. More...
 
type  dampertype
 Data type representing a damper element. More...
 
type  damperptrtype
 Data type representing a base damper pointer. More...
 
interface  getptrtoid
 Returns pointer to object with specified ID. More...
 
interface  writeobject
 Standard routine for writing an object to file. More...
 
interface  nullifydamper
 Initializes a damper object. More...
 
interface  deallocatedampers
 Deallocates an array of damper objects. More...
 

Functions/Subroutines

type(damperbasetype) function, pointer, private getptrtoiddamperbase (array, id, index)
 Returns pointer to (first) base damper with specified id. More...
 
subroutine, private writedamperbasetype (dmp, io, complexity)
 Standard routine for writing an object to io. More...
 
subroutine, private writedampertype (damper, io, complexity)
 Standard routine for writing an object to io. More...
 
subroutine, private nullifydamperbase (dmp)
 Initializes a base damper object. More...
 
subroutine, private nullifydamperelement (damper)
 Initializes a damper element. More...
 
subroutine, private deallocatedamperbase (dmp, hasTriad1, hasTriad2)
 Deallocates a base damper object. More...
 
subroutine, private deallocatedamperelement (damper)
 Deallocates a damper element. More...
 
subroutine, private deallocatedamperbases (dampers)
 Deallocates an array of base damper objects. More...
 
subroutine, private deallocatedamperelements (dampers)
 Deallocates an array of damper elements. More...
 
real(dp) function damperforce (dmp, ierr)
 Evaluates the current force for a damper. More...
 
real(dp) function dampercoeff (dmp, ierr)
 Evaluates the current damping coefficient for a damper. More...
 
subroutine updatedampervelocity (dmp, dt)
 Updates the deformational velocity in a damper. More...
 

Detailed Description

Module with data types representing damper objects.

The module also contains subroutines for accessing the damper data.

Function/Subroutine Documentation

◆ dampercoeff()

real(dp) function dampertypemodule::dampercoeff ( type(damperbasetype), intent(in)  dmp,
integer, intent(inout)  ierr 
)

Evaluates the current damping coefficient for a damper.

Parameters
[in]dmpThe dampertypemodule::damperbasetype object to evaluate for
ierrError flag
Returns
Current damping coefficient

The current damping coefficient, coeff, is evaluated as

 coeff = dmp0 + dmp1*coeffFunction, or
       = dmp0 + dmp1*d(forceFunction)/dv

The variable dmp0 represents a constant damping coefficient term both if the damper is defined as a coefficient-velocity function or a force-velocity function.

Author
Knut Morten Okstad
Date
7 Jun 2002
Here is the caller graph for this function:

◆ damperforce()

real(dp) function dampertypemodule::damperforce ( type(damperbasetype), intent(in)  dmp,
integer, intent(inout)  ierr 
)

Evaluates the current force for a damper.

Parameters
[in]dmpThe dampertypemodule::damperbasetype object to evaluate for
ierrError flag
Returns
Current damping force

The current damping force is evaluated as

 force = dmp0*velocity + dmp1*int_0^velocity{coeffFunction}dv, or
       = dmp0*velocity + dmp1*forceFunction(velocity)

The variable dmp0 represents a constant damping coefficient term both if the damper is defined as a coefficient-velocity function or a force-velocity function.

Author
Knut Morten Okstad
Date
7 Jun 2002
Here is the call graph for this function:
Here is the caller graph for this function:

◆ deallocatedamperbase()

subroutine, private dampertypemodule::deallocatedamperbase ( type(damperbasetype), intent(inout)  dmp,
logical, intent(in), optional  hasTriad1,
logical, intent(in), optional  hasTriad2 
)
private

Deallocates a base damper object.

Parameters
dmpThe dampertypemodule::damperbasetype object to deallocate
[in]hasTriad1If .true., this is an axial damper or damper to ground
[in]hasTriad2If .true., this is an axial damper
Author
Knut Morten Okstad
Date
23 Jan 2017

◆ deallocatedamperbases()

subroutine, private dampertypemodule::deallocatedamperbases ( type(damperbasetype), dimension(:), pointer  dampers)
private

Deallocates an array of base damper objects.

Parameters
dampersThe dampertypemodule::damperbasetype objects to deallocate
Author
Knut Morten Okstad
Date
23 Jan 2017

◆ deallocatedamperelement()

subroutine, private dampertypemodule::deallocatedamperelement ( type(dampertype), intent(inout)  damper)
private

Deallocates a damper element.

Parameters
damperThe dampertypemodule::dampertype object to deallocate
Author
Knut Morten Okstad
Date
23 Jan 2017

◆ deallocatedamperelements()

subroutine, private dampertypemodule::deallocatedamperelements ( type(dampertype), dimension(:), pointer  dampers)
private

Deallocates an array of damper elements.

Parameters
dampersThe dampertypemodule::dampertype objects to deallocate
Author
Knut Morten Okstad
Date
23 Jan 2017

◆ getptrtoiddamperbase()

type(damperbasetype) function, pointer, private dampertypemodule::getptrtoiddamperbase ( type(damperbasetype), dimension(:), intent(in), target  array,
integer, intent(in)  id,
integer, intent(out), optional  index 
)
private

Returns pointer to (first) base damper with specified id.

Parameters
[in]arrayArray of dampertypemodule::damperbasetype objects to search within
[in]idBase ID of the object to search for
[out]indexThe array index of the found object

If the damper is not found, NULL is returned.

Author
Bjorn Haugen
Date
5 Oct 2001

◆ nullifydamperbase()

subroutine, private dampertypemodule::nullifydamperbase ( type(damperbasetype), intent(out)  dmp)
private

Initializes a base damper object.

Parameters
dmpThe dampertypemodule::damperbasetype object to initialize
Author
Knut Morten Okstad
Date
1 Mar 2001

◆ nullifydamperelement()

subroutine, private dampertypemodule::nullifydamperelement ( type(dampertype), intent(out)  damper)
private

Initializes a damper element.

Parameters
[out]damperThe dampertypemodule::dampertype object to initialize
Author
Knut Morten Okstad
Date
1 Mar 2001

◆ updatedampervelocity()

subroutine dampertypemodule::updatedampervelocity ( type(damperbasetype), intent(inout)  dmp,
real(dp), intent(in)  dt 
)

Updates the deformational velocity in a damper.

Parameters
dmpThe dampertypemodule::damperbasetype object to update for
[in]dtTime increment size
Author
Knut Morten Okstad
Date
10 Dec 2020
Here is the caller graph for this function:

◆ writedamperbasetype()

subroutine, private dampertypemodule::writedamperbasetype ( type(damperbasetype), intent(in)  dmp,
integer, intent(in)  io,
integer, intent(in), optional  complexity 
)
private

Standard routine for writing an object to io.

Parameters
[in]dmpThe dampertypemodule::damperbasetype object to write
[in]ioFile unit number to write to
[in]complexityIf present, the value indicates the amount of print
Author
Karl Erik Thoresen
Date
Dec 1998

◆ writedampertype()

subroutine, private dampertypemodule::writedampertype ( type(dampertype), intent(in)  damper,
integer, intent(in)  io,
integer, intent(in), optional  complexity 
)
private

Standard routine for writing an object to io.

Parameters
[in]damperThe dampertypemodule::dampertype object to write
[in]ioFile unit number to write to
[in]complexityIf present, the value indicates the amount of print
Author
Karl Erik Thoresen
Date
Dec 1998