|
FEDEM Solver
R8.0
Source code of the dynamics solver
|
This module contains a data structure for assembly of FE matrices. More...
Data Types | |
| type | samtype |
| Data structure for management of FE matrix assembly. More... | |
| interface | writeobject |
| Standard routine for writing an object to file. More... | |
Functions/Subroutines | |
| subroutine | nullifysam (samData) |
| Nullifies all pointers to enable safe testing after allocation. More... | |
| subroutine | deallocatesam (samData) |
| Deallocates all dynamic arrays within the SAM structure. More... | |
| subroutine | check (samData, lpu, ierr, checkEquations) |
| Performs consistency checking of the SAM data structure. More... | |
| integer function | nodenumfromdofnum (sam, idof, extNum) |
| Returns internal node number and local dof-number for a global dof. More... | |
| integer function | nodenumfromeqnum (sam, ieq, extNum) |
| Returns internal node number and local dof-number for an equation. More... | |
| subroutine | writesamsize (sam, lpu) |
| Writes out allocated storage for the SAM data structure. More... | |
| subroutine, private | writesam (sam, io, complexity, title) |
| Standard routine for writing an object to file. More... | |
| subroutine | lumpedsam (orgSam, newSam, ierr) |
| Duplicates the SAM object to emulate a model with 1-DOF elements. More... | |
| subroutine | inverteqpartition (lp1, lp2, sam, ierr) |
| Forms the control arrays dofPosIn1 and/or dofPosIn2 in SAM. More... | |
Variables | |
| integer, parameter | version_p = 3 |
| Version tag. More... | |
This module contains a data structure for assembly of FE matrices.
The names and meanings of (most of) the data members of the sammodule::samtype structure are adopted from Kolbein Bell's pionering work on the field. See his reports on the SAM library for a thorough elaboration.
| subroutine sammodule::check | ( | type(samtype), intent(in) | samData, |
| integer, intent(in) | lpu, | ||
| integer, intent(out) | ierr, | ||
| logical, intent(in), optional | checkEquations | ||
| ) |
Performs consistency checking of the SAM data structure.
| [in] | samData | The sammodule::samtype object to check consistency of |
| [in] | lpu | File unit number for error messages |
| [out] | ierr | Error flag |
| [in] | checkEquations | If present and .true., also check the meqn array |

| subroutine sammodule::deallocatesam | ( | type(samtype), intent(inout) | samData | ) |
Deallocates all dynamic arrays within the SAM structure.
| samData | The sammodule::samtype object to deallocate |

| subroutine sammodule::inverteqpartition | ( | logical, intent(in) | lp1, |
| logical, intent(in) | lp2, | ||
| type(samtype), intent(inout) | sam, | ||
| integer, intent(out) | ierr | ||
| ) |
Forms the control arrays dofPosIn1 and/or dofPosIn2 in SAM.
| lp1 | If .true., create the dofPosIn1 array | |
| lp2 | If .true., create the dofPosIn2 array | |
| sam | The sammodule::samtype object to consider | |
| [out] | ierr | Error flag |

| subroutine sammodule::lumpedsam | ( | type(samtype), intent(in) | orgSam, |
| type(samtype), pointer | newSam, | ||
| integer, intent(out) | ierr | ||
| ) |
Duplicates the SAM object to emulate a model with 1-DOF elements.
| [in] | orgSam | The sammodule::samtype object to be duplicated |
| [out] | newSam | Pointer to the new sammodule::samtype object |
| [out] | ierr | Error flag (negative on allocation error) |
All the arrays of the orgSam object are shared with the newSam object (that is, the array pointers points to the same physical address), except for madof which is re-initialized with 1 DOF per node.

| integer function sammodule::nodenumfromdofnum | ( | type(samtype), intent(in) | sam, |
| integer, intent(inout) | idof, | ||
| logical, intent(in), optional | extNum | ||
| ) |
Returns internal node number and local dof-number for a global dof.
| [in] | sam | The sammodule::samtype object to consider |
| idof | Global DOF number on input, local DOF number on output | |
| extNum | If present and .true., return external node number instead |

| integer function sammodule::nodenumfromeqnum | ( | type(samtype), intent(in) | sam, |
| integer, intent(inout) | ieq, | ||
| logical, intent(in), optional | extNum | ||
| ) |
Returns internal node number and local dof-number for an equation.
| [in] | sam | The sammodule::samtype object to consider |
| ieq | Equation number on input, local DOF number on output | |
| extNum | If present and .true., return external node number instead |
| subroutine sammodule::nullifysam | ( | type(samtype), intent(out) | samData | ) |
Nullifies all pointers to enable safe testing after allocation.
| [out] | samData | The sammodule::samtype object to nullify |

|
private |
Standard routine for writing an object to file.
| [in] | sam | The sammodule::samtype object to print |
| [in] | io | File unit number to write to |
| [in] | complexity | If present, the value indicates the amount of print |
| [in] | title | If present, write as heading, otherwise 'SAM' is written |
| subroutine sammodule::writesamsize | ( | type(samtype), intent(in) | sam, |
| integer, intent(in) | lpu | ||
| ) |
Writes out allocated storage for the SAM data structure.
| [in] | sam | The sammodule::samtype object to write for |
| [in] | lpu | File unit number to print to |
| integer, parameter sammodule::version_p = 3 |
Version tag.