Elmer FEM solver
Elmer is an open source finite element software for multiphysical problems
|
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 |
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().
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().
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().
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().
real(kind=dp) function listmatrix::list_getmatrixelement | ( | type(listmatrix_t), dimension(:), pointer | List, |
integer | k1, | ||
integer | k2 | ||
) |
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().
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().
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().
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().
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().
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().
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().
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().
subroutine listmatrix::list_zerorow | ( | type(listmatrix_t), dimension(:), pointer | List, |
integer | k1 | ||
) |
References messages::warn().
Referenced by solverutils::zerorow().
integer, parameter listmatrix::listmatrix_growth = 1000 |