Elmer FEM solver
Elmer is an open source finite element software for multiphysical problems
 All Classes Files Functions Variables Typedefs Macros Groups Pages
listmatrix Module Reference

Public Member Functions

type(listmatrix_t) function,
dimension(:), pointer 
list_allocatematrix (N)
 
subroutine list_freematrix (N, List)
 
type(listmatrix_t) function,
dimension(:), pointer 
list_enlargematrix (Matrix, N)
 
subroutine list_tocrs (L, Rows, Cols, Diag)
 
subroutine list_tocrsmatrix (A)
 
subroutine list_tolistmatrix (A, Truncate)
 
type(listmatrixentry_t)
function, pointer 
list_getmatrixindex (List, k1, k2)
 
subroutine list_deletematrixelement (List, k1, k2)
 
subroutine list_deleterow (List, k1)
 
subroutine list_deletecol (List, k1)
 
subroutine list_addtomatrixelement (List, k1, k2, Value, SetValue)
 
subroutine list_setmatrixelement (List, k1, k2, Value, SetValue)
 
real(kind=dp) function list_getmatrixelement (List, k1, k2)
 
subroutine list_zerorow (List, k1)
 
subroutine list_moverow (List, n1, n2, coeff)
 
subroutine list_gluelocalmatrix (A, N, Dofs, Indexes, LocalMatrix)
 
subroutine list_gluelocalsubmatrix (List, row0, col0, Nrow, Ncol, RowInds, ColInds, RowDofs, ColDofs, LocalMatrix)
 

Public Attributes

integer, parameter listmatrix_growth = 1000
 

Member Function/Subroutine Documentation

subroutine listmatrix::list_addtomatrixelement ( type(listmatrix_t), dimension(:), pointer  List,
integer  k1,
integer  k2,
real(kind=dp)  Value,
logical, optional  SetValue 
)

References list_getmatrixindex().

Referenced by solverutils::addtomatrixelement(), itersolve::itersolver(), list_gluelocalmatrix(), list_gluelocalsubmatrix(), list_moverow(), list_setmatrixelement(), sparitersolve::splitmatrix(), meshutils::weightedprojector(), and meshutils::weightedprojector2().

Here is the call graph for this function:

Here is the caller graph for this function:

type(listmatrix_t) function, dimension(:), pointer listmatrix::list_allocatematrix ( integer  N)

Returns a handle to an allocated list matrix.

Referenced by list_enlargematrix(), list_getmatrixindex(), list_tolistmatrix(), and elementutils::makelistmatrix().

Here is the caller graph for this function:

subroutine listmatrix::list_deletecol ( type(listmatrix_t), dimension(:)  List,
integer  k1 
)
subroutine listmatrix::list_deletematrixelement ( type(listmatrix_t), dimension(:)  List,
integer  k1,
integer  k2 
)
subroutine listmatrix::list_deleterow ( type(listmatrix_t), dimension(:)  List,
integer  k1 
)
type(listmatrix_t) function, dimension(:), pointer listmatrix::list_enlargematrix ( type(listmatrix_t), dimension(:), pointer  Matrix,
integer  N 
)

Enlarge a list matrix so that in can take in new entries.

References list_allocatematrix().

Referenced by list_getmatrixindex().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine listmatrix::list_freematrix ( integer  N,
type(listmatrix_t), dimension(:), pointer  List 
)

Frees a list matrix.

Referenced by elementutils::creatematrix(), dirichletafromb(), gaugetree(), gaugetreefluxbc(), list_tocrsmatrix(), localfluxbc(), meshutils::makepermusingmask(), and whitneyavharmonicsolver().

Here is the caller graph for this function:

real(kind=dp) function listmatrix::list_getmatrixelement ( type(listmatrix_t), dimension(:), pointer  List,
integer  k1,
integer  k2 
)

Referenced by solverutils::getmatrixelement().

Here is the caller graph for this function:

type(listmatrixentry_t) function, pointer listmatrix::list_getmatrixindex ( type(listmatrix_t), dimension(:), pointer  List,
integer  k1,
integer  k2 
)

References list_allocatematrix(), and list_enlargematrix().

Referenced by gaugetree(), gaugetreefluxbc(), list_addtomatrixelement(), elementutils::makelistmatrix(), meshutils::makepermusingmask(), and whitneyavharmonicsolver().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine listmatrix::list_gluelocalmatrix ( type(listmatrix_t), dimension(:), pointer  A,
integer  N,
integer  Dofs,
integer, dimension(:)  Indexes,
real(kind=dp), dimension(:,:)  LocalMatrix 
)

References list_addtomatrixelement(), and localmatrix().

Referenced by solverutils::updateglobalequations(), and solverutils::updatemassmatrix().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine listmatrix::list_gluelocalsubmatrix ( type(listmatrix_t), dimension(:), pointer  List,
integer  row0,
integer  col0,
integer  Nrow,
integer  Ncol,
integer, dimension(:)  RowInds,
integer, dimension(:)  ColInds,
integer  RowDofs,
integer  ColDofs,
real(kind=dp), dimension(:,:)  LocalMatrix 
)

References list_addtomatrixelement(), and localmatrix().

Referenced by solverutils::gluelocalsubmatrix().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine listmatrix::list_moverow ( type(listmatrix_t), dimension(:), pointer  List,
integer  n1,
integer  n2,
real(kind=dp), optional  coeff 
)

References list_addtomatrixelement(), and messages::warn().

Referenced by solverutils::moverow().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine listmatrix::list_setmatrixelement ( type(listmatrix_t), dimension(:), pointer  List,
integer  k1,
integer  k2,
real(kind=dp)  Value,
logical, optional  SetValue 
)

References list_addtomatrixelement().

Referenced by list_tolistmatrix(), and solverutils::setmatrixelement().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine listmatrix::list_tocrs ( type(listmatrix_t), dimension(:)  L,
integer, dimension(:), pointer  Rows,
integer, dimension(:), pointer  Cols,
integer, dimension(:), pointer  Diag 
)

Transfer the flexible list matrix to the more efficient CRS matrix that is used in most places of the code. Here the target is the rows and columns of the matrix.

References generalutils::allocatematrix(), crsmatrix::crs_sortmatrix(), and messages::info().

Here is the call graph for this function:

subroutine listmatrix::list_tocrsmatrix ( type(matrix_t)  A)

Transfer the flexible list matrix to the more efficient CRS matrix that is used in most places of the code. The matrix structure can accomodate both forms.

References crsmatrix::crs_sortmatrix(), messages::info(), list_freematrix(), and messages::warn().

Referenced by mainutils::blocksolver(), mainutils::coupledsolver(), fetisolve::fetiproject(), fetisolve::fetisendrecvif(), solverutils::finishassembly(), defutils::galerkinprojector(), itersolve::itersolver(), magnetodynamics2dharmonic(), solverutils::solvewithlinearrestriction(), sparitersolve::splitmatrix(), meshutils::weightedprojector(), and meshutils::weightedprojector2().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine listmatrix::list_tolistmatrix ( type(matrix_t)  A,
logical, optional  Truncate 
)

Convert CRS matrix to list matrix.

References messages::info(), list_allocatematrix(), and list_setmatrixelement().

Referenced by solverutils::addtomatrixelement(), solverutils::setmatrixelement(), and sparitersolve::splitmatrix().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine listmatrix::list_zerorow ( type(listmatrix_t), dimension(:), pointer  List,
integer  k1 
)

References messages::warn().

Referenced by solverutils::zerorow().

Here is the call graph for this function:

Here is the caller graph for this function:

Member Data Documentation

integer, parameter listmatrix::listmatrix_growth = 1000

The documentation for this module was generated from the following file: