|
FEDEM Solver
R8.0
Source code of the dynamics solver
|
Module with data types representing superelement objects. More...
Data Types | |
| type | generalizeddofs |
| Data type for the generalized DOFs associated with component modes. More... | |
| type | nonlinforcestifftype |
| Data type for the nonlinear force-displacement representation. More... | |
| type | hydrodyntype |
| Data type for the hydrodynamic force calculation. More... | |
| type | recoverytype |
| Data type for the integrated stress recovery. More... | |
| type | supeltype |
| Data type representing a superelement object. More... | |
| type | supelptrtype |
| Data type representing a superelement pointer. More... | |
| interface | getptrtoid |
| Returns pointer to object with specified ID. More... | |
| interface | writeobject |
| Standard routine for writing an object to file. 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... | |
Functions/Subroutines | |
| type(supeltype) function, pointer, private | getptrtoidsupel (array, id, userId) |
| Returns pointer to (first) superelement with specified ID. More... | |
| subroutine, private | writesupeltype (sup, io, complexity) |
| Standard routine for writing an object to file. More... | |
| subroutine | nullifysupel (sup) |
| Initializes a superelement object. More... | |
| subroutine | initiatehydyn (hydyn, MorPar) |
| Initiates the hydrodynamics quantities for a superelement. More... | |
| subroutine | transformoffset (sup, offset, index) |
| Transforms a reference triad offset vector. More... | |
| subroutine | deallocatesupel (sup) |
| Deallocates a superelement object. More... | |
| subroutine | deallocatesupels (sups) |
| Deallocates an array of superelement objects. More... | |
| subroutine | updatesupelcorot (sup, dbgUnit, stat) |
| Updates the co-rotated system for a superelement. More... | |
| subroutine, private | updatepreviousvalues (sup) |
| Updates the state variables pertaining to the previous time step. More... | |
| subroutine, private | restorepreviousvalues (sup) |
| Restores the state variables from the last converged time step. More... | |
| subroutine | buildfinit (sup) |
| Establishes the deformation vector (finit) for a superelement. More... | |
| real(dp) function, dimension(3, 3) | getrsuptosys (sup, n) |
| Returns the transformation matrix to system directions for a triad. More... | |
| subroutine | getsupelsvelacc (sups, velGlobal, accGlobal) |
| Gets current velocity and acceleration from all superelements. More... | |
| logical function | isbeam (sup) |
| Returns whether a superelement is a beam element or not. More... | |
| character(len=5+lid_p) function | getsupelid (sup) |
| Returns the full ID of a superelement. More... | |
Module with data types representing superelement objects.
The module also contains subroutines for accessing or manipulating the superelement data.
| subroutine supeltypemodule::buildfinit | ( | type(supeltype), intent(inout) | sup | ) |
Establishes the deformation vector (finit) for a superelement.
| sup | The supeltypemodule::supeltype object to obtain deformation for |

| subroutine supeltypemodule::deallocatesupel | ( | type(supeltype), intent(inout) | sup | ) |
Deallocates a superelement object.
| sup | The supeltypemodule::supeltype object to deallocate |


| subroutine supeltypemodule::deallocatesupels | ( | type(supeltype), dimension(:), pointer | sups | ) |
Deallocates an array of superelement objects.
| sups | The supeltypemodule::supeltype objects to deallocate |
date 23 Jan 2017


|
private |
Returns pointer to (first) superelement with specified ID.
| [in] | array | Array of supeltypemodule::supeltype objects to search within |
| [in] | id | Base ID of the object to search for |
| [in] | userId | If .true., search for a user ID instead |
If the superelement is not found, NULL is returned.
| real(dp) function, dimension(3,3) supeltypemodule::getrsuptosys | ( | type(supeltype), intent(in) | sup, |
| integer, intent(in) | n | ||
| ) |
Returns the transformation matrix to system directions for a triad.
| [in] | sup | The supeltypemodule::supeltype object to transform for |
| [in] | n | 1-based index of the superelement triad to transform for |
The returned 3x3 matrix is to be used to transform vectors from the superelement directions to system directions for the n'th connected triad of the superelement.

| character(len=5+lid_p) function supeltypemodule::getsupelid | ( | type(supeltype), intent(in) | sup | ) |
Returns the full ID of a superelement.
| [in] | sup | The supeltypemodule::supeltype object to get the ID for |
The full ID of an object consists for of the type name of the object, the user ID and the user description.

| subroutine supeltypemodule::getsupelsvelacc | ( | type(supeltype), dimension(:), intent(in) | sups, |
| real(dp), dimension(:), intent(out) | velGlobal, | ||
| real(dp), dimension(:), intent(out) | accGlobal | ||
| ) |
Gets current velocity and acceleration from all superelements.
| [in] | sups | All supeltypemodule::supeltype objects in the model |
| [out] | velGlobal | System velocity vector |
| [out] | accGlobal | System acceleration vector |

| subroutine supeltypemodule::initiatehydyn | ( | type(hydrodyntype), intent(out) | hydyn, |
| real(dp), dimension(:), intent(in), optional | MorPar | ||
| ) |
Initiates the hydrodynamics quantities for a superelement.
| hydyn | Hydrodynamics data container | |
| [in] | MorPar | Morison input parameters |

| logical function supeltypemodule::isbeam | ( | type(supeltype), intent(in) | sup | ) |
Returns whether a superelement is a beam element or not.
| [in] | sup | The supeltypemodule::supeltype object to check |

| subroutine supeltypemodule::nullifysupel | ( | type(supeltype), intent(out) | sup | ) |
Initializes a superelement object.
| sup | The supeltypemodule::supeltype object to initialize |

|
private |
Restores the state variables from the last converged time step.
| sup | The supeltypemodule::supeltype object to restore state for |
This subroutine is invoked when doing iteration cut-back.
| subroutine supeltypemodule::transformoffset | ( | type(supeltype), intent(inout) | sup, |
| real(dp), dimension(3), intent(in) | offset, | ||
| integer, intent(in) | index | ||
| ) |
Transforms a reference triad offset vector.
| sup | The supeltypemodule::supeltype object to transform for | |
| [in] | offset | The reference point offset vector to transform |
| [in] | index | Which reference point (1, 2 or 3) to transform for |
The offset vector is transformed from the superelement coordinate system to the coordinate system of the reference triad itself.

|
private |
Updates the state variables pertaining to the previous time step.
| sup | The supeltypemodule::supeltype object to update state for |
This subroutine is invoked once after convergence as been reached.
| subroutine supeltypemodule::updatesupelcorot | ( | type(supeltype), intent(inout) | sup, |
| integer, intent(in) | dbgUnit, | ||
| integer, intent(inout) | stat | ||
| ) |
Updates the co-rotated system for a superelement.
| sup | The supeltypemodule::supeltype object to update for |
| dbgUnit | File unit number for debug print out |
| stat | Status flag, negative value on output indicates an error |
If stat equals 1 on input, the relative position matrix for the triangle is initiated (used only for shadowPosAlg == 1).


|
private |
Standard routine for writing an object to file.
| [in] | sup | The supeltypemodule::supeltype object to write |
| [in] | io | File unit number to write to |
| [in] | complexity | If present, the value indicates the amount of print |