FEDEM Solver  R8.0
Source code of the dynamics solver
Data Types | Modules | Functions/Subroutines | Variables
sysMatrixTypeModule.f90 File Reference

System matrix data container. More...

Data Types

interface  sprkindmodule::castint
 Casting an array of integer to/from 64-bit. More...
 
type  sysmatrixtypemodule::skylinestoragetype
 Data type for skyline matrix storage. More...
 
type  sysmatrixtypemodule::sparsestoragetype
 Data type for sparse matrix storage (SPR solver). More...
 
type  sysmatrixtypemodule::gsfstoragetype
 Data type for sparse matrix storage (GSF solver). More...
 
type  sysmatrixtypemodule::pardisostoragetype
 Data type for sparse matrix storage (PARDISO solver). More...
 
type  sysmatrixtypemodule::sysmatrixtype
 Data type for a system coefficient matrix. More...
 
interface  sysmatrixtypemodule::reallocate
 Reallocates a data object. More...
 
interface  sysmatrixtypemodule::check
 Performs consistency checking of a data object. More...
 
interface  sysmatrixtypemodule::writeobject
 Standard routine for writing an object to file. More...
 

Modules

module  sprkindmodule
 Module with kind-parameters for the SPR equation solver.
 
module  sysmatrixtypemodule
 Module with data types and utility subroutines for system matrices.
 

Functions/Subroutines

subroutine sprkindmodule::casttoik (N, IIN, IOUT)
 Casts an array of integer from default to 64-bit kind. More...
 
subroutine sprkindmodule::castfromik (N, IIN, IOUT)
 Casts an array of integer from 64-bit to default kind. More...
 
logical function sysmatrixtypemodule::isallocated (this)
 Checks if a system matrix object is allocated or not. More...
 
subroutine sysmatrixtypemodule::nullifysysmatrix (this)
 Initializes a system matrix object. More...
 
subroutine sysmatrixtypemodule::sharematrixstructure (this, that, needsFactorization, newType, ierr)
 Lets one system matrix object share the data structure of another. More...
 
subroutine sysmatrixtypemodule::allocatesysmatrix (sysMat, ierr, lpu, chName)
 Allocates storage for a system matrix. More...
 
subroutine sysmatrixtypemodule::deallocatesysmatrix (this, ierr)
 Deallocates all dynamic arrays for a system matrix object. More...
 
subroutine, private sysmatrixtypemodule::reallocatesysmat (label, this, newAlloc, ierr)
 Allocates, reallocates or deallocates a system matrix object. More...
 
subroutine, private sysmatrixtypemodule::reallocateskyline (label, this, newAlloc, ierr)
 Allocates, reallocates or deallocates a skyline storage object. More...
 
subroutine, private sysmatrixtypemodule::reallocatesparse (label, this, nspar, ierr)
 Allocates, reallocates or deallocates a sparse storage object. More...
 
subroutine, private sysmatrixtypemodule::reallocategsf (label, this, newAlloc, ierr)
 Allocates, reallocates or deallocates a GSF storage object. More...
 
subroutine, private sysmatrixtypemodule::reallocatepardiso (label, this, newAlloc, ierr)
 Allocates, reallocates or deallocates a Pardiso storage object. More...
 
subroutine, private sysmatrixtypemodule::checksysmatstorage (sysMat, mpar, lpu, ierr)
 Performs consistency checking of a system matrix storage structure. More...
 
subroutine, private sysmatrixtypemodule::checkskylinestorage (skyline, mpar, lpu, ierr)
 Performs consistency checking of the skyline data structure. More...
 
subroutine, private sysmatrixtypemodule::checksparsestorage (sparse, mpar, lpu, ierr)
 Performs consistency checking of the sparse data structure. More...
 
subroutine, private sysmatrixtypemodule::checkpardisostorage (sparse, lpu, ierr)
 Performs consistency checking of the sparse data structure. More...
 
subroutine, private sysmatrixtypemodule::checkgsfstorage (gsf, lpu, ierr)
 Performs consistency checking of the GSF data structure. More...
 
integer function sysmatrixtypemodule::checkgsfinfo (INFO, gsf)
 Inspects the GSF error flag and outputs the error messages, if any. More...
 
subroutine sysmatrixtypemodule::convertsysmat (this, fullMat, ndim, startRow, ksa, ierr)
 Converts the given system matrix into a full rectangular matrix. More...
 
subroutine, private sysmatrixtypemodule::writesysmat (this, mpar, io, text, nelL, complexity)
 Standard routine for writing an object to file. More...
 
subroutine sysmatrixtypemodule::writesysmat2 (this, io, text, complexity)
 Standard routine for writing an object to file. More...
 
subroutine, private sysmatrixtypemodule::writeskymat (matrix, skyline, io, nelLin, complexity)
 Writes out a skyline matrix, column by column. More...
 
subroutine, private sysmatrixtypemodule::writesparsemat (matrix, sparse, io, nelLin, complexity)
 Writes out a sparse matrix, row by row. More...
 
subroutine, private sysmatrixtypemodule::writesparsestructure (this, io, complexity, label)
 Standard routine for writing an object to file. More...
 
subroutine writesubarray (array, from, to, name)
 Convenience wrapper writing a sub-matrix of given matrix. More...
 
subroutine writecon (array, x, y, n, name)
 Convenience wrapper writing out connectivity arrays. More...
 
subroutine writeset (array, from, to, name)
 Convenience wrapper writing out the index sets of non-zero values. More...
 
subroutine, private sysmatrixtypemodule::writepardisomat (matrix, sparse, io, nelLin, complexity)
 Writes out a sparse matrix, row by row. More...
 
subroutine sysmatrixtypemodule::extractdiagonal (this, diag, ierr)
 Extracts the diagonal elements from the given system matrix. More...
 
subroutine sysmatrixtypemodule::savesysmat (this, name, nWord, iFile, ierr)
 Saves the given system matrix to temporary file. More...
 
subroutine sysmatrixtypemodule::restoresysmat (this, name, nWord, iFile, ierr)
 Restores the given system matrix from temporary file. More...
 
subroutine sysmatrixtypemodule::asmsparse (EM, MEEN, MEQN, MPMCEQ, MMCEQ, TTCC, A, IA, JA, B, ierr)
 Adds matrix elements corresponding to free and constrained DOFs. More...
 
subroutine addtorow (jeq, j1, j2, value, ierr)
 Adds one row into the system matrix. More...
 

Variables

integer, parameter sprkindmodule::ik = i8
 64-bit integer kind More...
 
integer, parameter sprkindmodule::nbik_p = 2*nbi_p
 Number of bytes per integer(ik) More...
 
integer, parameter sysmatrixtypemodule::nbp_p = 8
 Number of bytes in a pointer variable. More...
 
integer, parameter sysmatrixtypemodule::diagonalmatrix_p = 0
 Diagonal format. More...
 
integer, parameter sysmatrixtypemodule::skylinematrix_p = 1
 Skyline format. More...
 
integer, parameter sysmatrixtypemodule::sparsematrix_p = 2
 Sparse format using SPR solver. More...
 
integer, parameter sysmatrixtypemodule::densematrix_p = 3
 Dense format using LAPACK solver. More...
 
integer, parameter sysmatrixtypemodule::outofcore_p = 4
 Sparse format using GSF solver. More...
 
integer, parameter sysmatrixtypemodule::pardiso_p = 5
 Sparse format using PARDISO. More...
 
character(len=18), dimension(0:5), parameter sysmatrixtypemodule::matrixtype_p = (/ 'diagonal matrix ', 'skyline matrix ', 'sparse matrix ', 'dense matrix ', 'out of core matrix', 'sparse matrix ' /)
 System matrix type springs. More...
 
integer(ik), parameter sysmatrixtypemodule::nspar_p = 60_ik
 Size of control array MSPAR. More...
 
type(error_flag), pointer, save sysmatrixtypemodule::gsfinfo
 Error flag for the GSF solver. More...
 

Detailed Description

System matrix data container.

Function/Subroutine Documentation

◆ addtorow()

subroutine asmsparse::addtorow ( integer, intent(in)  jeq,
integer, intent(in)  j1,
integer, intent(in)  j2,
real(dp), intent(in)  value,
integer, intent(out)  ierr 
)

Adds one row into the system matrix.

◆ writecon()

subroutine writesparsestructure::writecon ( integer(ik), dimension(:), intent(in)  array,
integer(ik), intent(in)  x,
integer(ik), intent(in)  y,
integer(ik), intent(in)  n,
character(len=*), intent(in)  name 
)

Convenience wrapper writing out connectivity arrays.

◆ writeset()

subroutine writesparsestructure::writeset ( integer(ik), dimension(:), intent(in)  array,
integer(ik), intent(in)  from,
integer(ik), intent(in)  to,
character(len=*), intent(in)  name 
)

Convenience wrapper writing out the index sets of non-zero values.

◆ writesubarray()

subroutine writesparsestructure::writesubarray ( integer(ik), dimension(:), intent(in)  array,
integer(ik), intent(in)  from,
integer(ik), intent(in)  to,
character(len=*), intent(in)  name 
)

Convenience wrapper writing a sub-matrix of given matrix.