FEDEM Solver
R8.0
Source code of the dynamics solver
|
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... | |
Module with data types representing damper objects.
The module also contains subroutines for accessing the damper data.
real(dp) function dampertypemodule::dampercoeff | ( | type(damperbasetype), intent(in) | dmp, |
integer, intent(inout) | ierr | ||
) |
Evaluates the current damping coefficient for a damper.
[in] | dmp | The dampertypemodule::damperbasetype object to evaluate for |
ierr | Error flag |
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.
real(dp) function dampertypemodule::damperforce | ( | type(damperbasetype), intent(in) | dmp, |
integer, intent(inout) | ierr | ||
) |
Evaluates the current force for a damper.
[in] | dmp | The dampertypemodule::damperbasetype object to evaluate for |
ierr | Error flag |
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.
|
private |
Deallocates a base damper object.
dmp | The dampertypemodule::damperbasetype object to deallocate | |
[in] | hasTriad1 | If .true., this is an axial damper or damper to ground |
[in] | hasTriad2 | If .true., this is an axial damper |
|
private |
Deallocates an array of base damper objects.
dampers | The dampertypemodule::damperbasetype objects to deallocate |
|
private |
Deallocates a damper element.
damper | The dampertypemodule::dampertype object to deallocate |
|
private |
Deallocates an array of damper elements.
dampers | The dampertypemodule::dampertype objects to deallocate |
|
private |
Returns pointer to (first) base damper with specified id.
[in] | array | Array of dampertypemodule::damperbasetype objects to search within |
[in] | id | Base ID of the object to search for |
[out] | index | The array index of the found object |
If the damper is not found, NULL is returned.
|
private |
Initializes a base damper object.
dmp | The dampertypemodule::damperbasetype object to initialize |
|
private |
Initializes a damper element.
[out] | damper | The dampertypemodule::dampertype object to initialize |
subroutine dampertypemodule::updatedampervelocity | ( | type(damperbasetype), intent(inout) | dmp, |
real(dp), intent(in) | dt | ||
) |
Updates the deformational velocity in a damper.
dmp | The dampertypemodule::damperbasetype object to update for | |
[in] | dt | Time increment size |
|
private |
Standard routine for writing an object to io.
[in] | dmp | The dampertypemodule::damperbasetype object to write |
[in] | io | File unit number to write to |
[in] | complexity | If present, the value indicates the amount of print |
|
private |
Standard routine for writing an object to io.
[in] | damper | The dampertypemodule::dampertype object to write |
[in] | io | File unit number to write to |
[in] | complexity | If present, the value indicates the amount of print |