|
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.