Elmer FEM solver Elmer is an open source finite element software for multiphysical problems
elementutils Module Reference

Public Member Functions

recursive subroutine freematrix (Matrix)

subroutine makelistmatrix (Model, Solver, Mesh, List, Reorder, LocalNodes, Equation, DGSolver, GlobalBubbles)

subroutine initializematrix (Matrix, n, List, Reorder, InvInitialReorder, DOFs)

type(matrix_t) function, pointer creatematrix (Model, Solver, Mesh, Perm, DOFs, MatrixFormat, OptimizeBW, Equation, DGSolver, GlobalBubbles)

subroutine rotatematrix (Matrix, Vector, n, DIM, DOFs, NodeIndexes, Normals, Tangent1, Tangent2)

subroutine tangentdirections (Normal, Tangent1, Tangent2)

real(kind=dp) function volumeintegrate (Model, ElementList, IntegrandFunctionName)

function fluxintegrate (Model, ElementList, IntegrandFunctionName)

real(kind=dp) function,
dimension(3)
surfaceintegrate (Model, ElementList, IntegrandFunctionName)

real(kind=dp) function elementarea (Mesh, Element, N)

Member Function/Subroutine Documentation

 type(matrix_t) function, pointer elementutils::creatematrix ( type(model_t) Model, type(solver_t), target Solver, type(mesh_t) Mesh, integer, dimension(:), target Perm, integer DOFs, integer MatrixFormat, logical OptimizeBW, character(len=*), optional Equation, logical, optional DGSolver, logical, optional GlobalBubbles )

Here is the call graph for this function:

Here is the caller graph for this function:

 real(kind=dp) function elementutils::elementarea ( type(mesh_t), pointer Mesh, type(element_t) Element, integer N )

Here is the call graph for this function:

Here is the caller graph for this function:

 function elementutils::fluxintegrate ( type(model_t) Model, integer, dimension(:) ElementList, character(len=*) IntegrandFunctionName )

Integrates the normal component of a user-defined vector function over the specified boundary elements.

Deprecated:
Is this used for something?
Parameters
 model All model information (mesh, materials, BCs, etc...) elementlist List of elements that belong to the integration boundary integrandfunctionname Name the function has in the .sif file

Here is the call graph for this function:

 recursive subroutine elementutils::freematrix ( type(matrix_t), pointer Matrix)

Frees structures of the matrix.

References directsolve::directsolver(), and solver().

Here is the call graph for this function:

Here is the caller graph for this function:

 subroutine elementutils::initializematrix ( type(matrix_t), pointer Matrix, integer n, type(listmatrix_t), dimension(:) List, integer, dimension(:) Reorder, integer, dimension(:) InvInitialReorder, integer DOFs )

Initialize a CRS format matrix to the effect that it will be ready to accept values when CRS_GlueLocalMatrix is called (build up the index tables of a CRS format matrix)....

References crsmatrix::crs_sortmatrix().

Referenced by creatematrix().

Here is the call graph for this function:

Here is the caller graph for this function:

 real(kind=dp) function elementutils::lineintegrate ( type(model_t) Model, type(element_t), target LineElement, real(kind=dp), dimension(:,:), target LineElementNodes, character(len=*) IntegrandFunctionName, logical QuadrantTreeExists, type(quadrant_t), pointer RootQuadrant )

Integrates the normal component of a user-defined vector function over a specified line element.

Deprecated:
Is this used for something?

Here is the call graph for this function:

 subroutine elementutils::makelistmatrix ( type(model_t) Model, type(solver_t) Solver, type(mesh_t) Mesh, type(listmatrix_t), dimension(:), pointer List, integer, dimension(:), optional Reorder, integer LocalNodes, character(len=*), optional Equation, logical, optional DGSolver, logical, optional GlobalBubbles )

Create a list matrix given the mesh, the active domains and the elementtype related to the solver. The list matrix is flexible since it can account for any entries. Also constraints and periodic BCs may give rise to entries in the list matrix topology.

Referenced by creatematrix().

Here is the call graph for this function:

Here is the caller graph for this function:

 subroutine elementutils::rotatematrix ( real(kind=dp), dimension(:,:) Matrix, real(kind=dp), dimension(:) Vector, integer n, integer DIM, integer DOFs, integer, dimension(:) NodeIndexes, real(kind=dp), dimension(:,:), pointer Normals, real(kind=dp), dimension(:,:), pointer Tangent1, real(kind=dp), dimension(:,:), pointer Tangent2 )

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

Here is the caller graph for this function:

 real(kind=dp) function, dimension(3) elementutils::surfaceintegrate ( type(model_t) Model, integer, dimension(:) ElementList, character(len=*) IntegrandFunctionName )

Integrates A user-defined vector function over the specified boundary elements.

Deprecated:
Is this used for something?
Parameters
 model All model information (mesh, materials, BCs, etc...) elementlist List of elements that belong to the integration boundary integrandfunctionname Name the function has in the .sif file

Here is the call graph for this function:

 subroutine elementutils::tangentdirections ( real(kind=dp), dimension(3) Normal, real(kind=dp), dimension(3) Tangent1, real(kind=dp), dimension(3) Tangent2 )

Given the normal return the tangent directions. The First tangent direction will always be on the xy-plane if also the normal is in the xy-plane.

References normal().

Here is the call graph for this function:

Here is the caller graph for this function:

 real(kind=dp) function elementutils::volumeintegrate ( type(model_t) Model, integer, dimension(:) ElementList, character(len=*) IntegrandFunctionName )

Integrates a user-defined function over the specified bulk elements.

Deprecated:
Is this used for something?
Parameters
 model All model information (mesh, materials, BCs, etc...) elementlist List of elements that belong to the integration volume integrandfunctionname Name the function has in the .sif file