FEDEM Solver
R8.0
Source code of the dynamics solver
|
Module with data types representing spring objects. More...
Data Types | |
type | springfailuretype |
Data type representing a spring failure object. More... | |
type | yieldlimittype |
Data type representing a yield force limit. More... | |
type | springyieldtype |
Data type representing a spring yield object. More... | |
type | springbasetype |
Data type representing a single-DOF base spring object. More... | |
type | springptrtype |
Data type representing a base spring pointer. More... | |
type | springtype |
Data type representing multi-DOF spring element. More... | |
interface | getptrtoid |
Returns pointer to object with specified ID. More... | |
interface | writeobject |
Standard routine for writing an object to file. More... | |
interface | nullifyspring |
Initializes a spring object. More... | |
interface | deallocatesprings |
Deallocates an array of spring objects. More... | |
interface | updateatconvergence |
Updates the state variables pertaining to previous time step. More... | |
interface | restorefromlaststep |
Restores the state variables from the last converged time step. More... | |
interface | checkfailure |
Checks if a spring has passed failure state. More... | |
Functions/Subroutines | |
type(springtype) function, pointer, private | getptrtoidspringelement (array, id) |
Returns pointer to (first) spring element with specified id. More... | |
type(springbasetype) function, pointer, private | getptrtoidspringbase (array, id, index) |
Returns pointer to (first) base spring with specified id. More... | |
type(springfailuretype) function, pointer, private | getptrtoidspringfailure (array, id, index) |
Returns pointer to (first) spring failure with specified id. More... | |
type(springyieldtype) function, pointer, private | getptrtoidspringyield (array, id, index) |
Returns pointer to (first) spring yield with specified id. More... | |
subroutine, private | writespringbasetype (spr, io, complexity) |
Standard routine for writing an object to io. More... | |
subroutine, private | writespringelementtype (spring, io, complexity) |
Standard routine for writing an object to io. More... | |
subroutine | nullifyfailure (failure) |
Initializes a spring failure object. More... | |
subroutine | deallocatefailures (fails) |
Deallocates an array of spring failure objects. More... | |
subroutine | nullifyyield (yield) |
Initializes a spring yield object. More... | |
subroutine | deallocateyields (yields) |
Deallocates an array of spring yield objects. More... | |
subroutine, private | nullifyspringbase (spr) |
Initializes a spring base object. More... | |
subroutine, private | nullifyspringelement (spring, sprId, nDofs) |
Initializes a spring element. More... | |
subroutine, private | deallocatespringbase (spr) |
Deallocates a base spring object. More... | |
subroutine, private | deallocatespringbases (springs) |
Deallocates an array of base spring object. More... | |
subroutine | deallocatespring (spring) |
Deallocates a spring element object. More... | |
subroutine, private | deallocatespringelements (springs) |
Deallocates an array of spring element objects. More... | |
logical function | isactive (spring) |
Checks whether a spring element is active or not. More... | |
real(dp) function | springforce (spr, deflection, ierr) |
Evaluates the current force in a spring. More... | |
real(dp) function | springstiff (spr, deflection, ierr) |
Evaluates the current stiffness in a spring. More... | |
real(dp) function | springenergy (spr, deflection, ierr) |
Evaluates the current strain energy in a spring. More... | |
subroutine, private | updatepreviousvalues (spr) |
Updates the state variables pertaining to the previous time step. More... | |
subroutine, private | restorepreviousvalues (spr) |
Restores the state variables from the last converged time step. More... | |
subroutine, private | checkdoffailure (spr) |
Checks if a spring has passed failure state. More... | |
subroutine, private | checkspringfailure (spring) |
Makes the entire spring element fail if one of its DOFs has failed. More... | |
subroutine | checkyieldlimits (spr, yPos, yNeg) |
Enforces the yield limits on current stiffness and force values. More... | |
subroutine | setyieldlimit (spr, fLimit) |
Updates the constant yield force range for a spring. More... | |
subroutine | checkunloading (spr, ierr) |
Checks for elastic unloading of cyclic plastic springs. More... | |
Variables | |
real(dp), parameter, private | eps_p = 1.0e-8_dp |
Zero deflection tolerance. More... | |
Module with data types representing spring objects.
The module also contains subroutines for accessing the spring data.
|
private |
Checks if a spring has passed failure state.
spr | The springtypemodule::springbasetype object to check for |
|
private |
Makes the entire spring element fail if one of its DOFs has failed.
spring | The springtypemodule::springtype object to check for |
subroutine springtypemodule::checkunloading | ( | type(springbasetype), intent(inout) | spr, |
integer, intent(inout) | ierr | ||
) |
Checks for elastic unloading of cyclic plastic springs.
spr | The springtypemodule::springbasetype object to check for | |
[out] | ierr | Error flag |
The associated plastic (yield) deformation or secant stiffness are updated if still in plastic range.
subroutine springtypemodule::checkyieldlimits | ( | type(springbasetype), intent(inout) | spr, |
type(yieldlimittype), intent(in) | yPos, | ||
type(yieldlimittype), intent(in) | yNeg | ||
) |
Enforces the yield limits on current stiffness and force values.
spr | The springtypemodule::springbasetype object to check yield for | |
[in] | yPos | Yield limit on tension |
[in] | yNeg | Yield limit on compression |
subroutine springtypemodule::deallocatefailures | ( | type(springfailuretype), dimension(:), pointer | fails | ) |
Deallocates an array of spring failure objects.
fails | The springtypemodule::springfailuretype objects to deallocate |
subroutine springtypemodule::deallocatespring | ( | type(springtype), intent(inout) | spring | ) |
Deallocates a spring element object.
spring | The springtypemodule::springtype object to deallocate |
|
private |
Deallocates a base spring object.
spr | The springtypemodule::springbasetype object to deallocate |
|
private |
Deallocates an array of base spring object.
springs | The springtypemodule::springbasetype objects to deallocate |
|
private |
Deallocates an array of spring element objects.
springs | The springtypemodule::springtype objects to deallocate |
subroutine springtypemodule::deallocateyields | ( | type(springyieldtype), dimension(:), pointer | yields | ) |
Deallocates an array of spring yield objects.
yields | The springtypemodule::springyieldtype objects to deallocate |
|
private |
Returns pointer to (first) base spring with specified id.
[in] | array | Array of springtypemodule::springbasetype 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 spring is not found, NULL is returned.
|
private |
Returns pointer to (first) spring element with specified id.
[in] | array | Array of springtypemodule::springtype objects to search within |
[in] | id | Base ID of the object to search for |
If the spring is not found, NULL is returned.
|
private |
Returns pointer to (first) spring failure with specified id.
[in] | array | Array of springtypemodule::springfailuretype 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 spring failure is not found, NULL is returned.
|
private |
Returns pointer to (first) spring yield with specified id.
[in] | array | Array of springtypemodule::springyieldtype 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 spring yield is not found, NULL is returned.
logical function springtypemodule::isactive | ( | type(springtype), intent(in) | spring | ) |
Checks whether a spring element is active or not.
[in] | spring | The springtypemodule::springtype object to check |
subroutine springtypemodule::nullifyfailure | ( | type(springfailuretype), intent(out) | failure | ) |
Initializes a spring failure object.
failure | The springtypemodule::springfailuretype object to initialize |
|
private |
Initializes a spring base object.
spr | The springtypemodule::springbasetype object to initialize |
|
private |
Initializes a spring element.
spring | The springtypemodule::springtype object to initialize | |
[in] | sprId | Id of the owning joint (if joint spring) |
[in] | nDofs | Number of degrees of freedom |
subroutine springtypemodule::nullifyyield | ( | type(springyieldtype), intent(out) | yield | ) |
Initializes a spring yield object.
yield | The springtypemodule::springyieldtype object to initialize |
|
private |
Restores the state variables from the last converged time step.
spr | The springtypemodule::springbasetype object to restore state for |
This subroutine is invoked when doing iteration cut-back.
subroutine springtypemodule::setyieldlimit | ( | type(springbasetype), intent(inout) | spr, |
real(dp), intent(in) | fLimit | ||
) |
Updates the constant yield force range for a spring.
spr | The springtypemodule::springbasetype object to update | |
[in] | fLimit | New yield force limit, for tension and compression |
real(dp) function springtypemodule::springenergy | ( | type(springbasetype), intent(in) | spr, |
real(dp), intent(in) | deflection, | ||
integer, intent(inout) | ierr | ||
) |
Evaluates the current strain energy in a spring.
[in] | spr | The base spring to evaluate the energy in |
[in] | deflection | Current spring deflection |
[out] | ierr | Error flag |
real(dp) function springtypemodule::springforce | ( | type(springbasetype), intent(in) | spr, |
real(dp), intent(in) | deflection, | ||
integer, intent(inout) | ierr | ||
) |
Evaluates the current force in a spring.
[in] | spr | The base spring to evaluate the force in |
[in] | deflection | Current spring deflection |
[out] | ierr | Error flag |
real(dp) function springtypemodule::springstiff | ( | type(springbasetype), intent(in) | spr, |
real(dp), intent(in) | deflection, | ||
integer, intent(inout) | ierr | ||
) |
Evaluates the current stiffness in a spring.
[in] | spr | The base spring to evaluate the stiffness in |
[in] | deflection | Current spring deflection |
[out] | ierr | Error flag |
|
private |
Updates the state variables pertaining to the previous time step.
spr | The springtypemodule::springbasetype object to update state for |
This subroutine is invoked once after convergence as been reached.
|
private |
Standard routine for writing an object to io.
[in] | spr | The springtypemodule::springbasetype 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] | spring | The springtypemodule::springtype object to write |
[in] | io | File unit number to write to |
[in] | complexity | If present, the value indicates the amount of print |
|
private |
Zero deflection tolerance.