|
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)/dvThe 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 |