Elmer FEM solver
Elmer is an open source finite element software for multiphysical problems
|
Functions/Subroutines | |
subroutine | stokessolver (Model, Solver, dt, TransientSimulation) |
real(kind=dp) function | computepressureerror (ElementSol, Element, n, nd, tp, mu) |
real(kind=dp) function | computevelocityerror (ElementSol, Element, n, nd, tp, mu) |
subroutine | localmatrix (STIFF, Mass, FORCE, LOAD, Nodalrho, Nodalmu, NodalVelo, Element, n, nd, dim, Stabilization, Convect, GradDivParam) |
subroutine | lcondensatestabilizationbubble (n, nd, dim, K) |
subroutine | localmatrixboundary (STIFF, FORCE, Velocity, rho, Element, nd, dim, BlockPreconditioning, ABlock) |
subroutine | gcrouteriteration (n, A, l, PA, q, PM, PP, x, b, Rounds, TOL, dim, TractionBCIndeces, mu, dt) |
subroutine | preconditioningiteration (n, x, A, l, PA, q, PM, PP, r, dim, TOL, Rounds, TractionBCIndeces, mu, dt) |
subroutine | schurcomplementmatrix (Nodalrho, Nodalmu, Element, n, nd, dim, dt, MLocal, Plocal) |
subroutine | crs_matrixdivmultiply (A, u, v, dim) |
subroutine | bicgstab (n, A, x, b, Rounds, TOL) |
subroutine | pmv (A, x, b, Update) |
real(kind=dp) function | pnorm (n, x) |
real(kind=dp) function | pdot (n, x, y) |
subroutine | updateglobalpreconditioner (StiffMatrix, LocalStiffMatrix, n, NDOFs, NodeIndexes) |
subroutine | setboundaryconditions (Model, StiffMatrix, Name, DOF, NDOFs, Perm, rhs) |
subroutine stokessolver::bicgstab | ( | integer | n, |
type(matrix_t), pointer | A, | ||
real(kind=dp), dimension(n) | x, | ||
real(kind=dp), dimension(n) | b, | ||
integer | Rounds, | ||
real(kind=dp) | TOL | ||
) |
This is an internal ILU preconditioned BiCGStab method.
References crsmatrix::crs_lusolve(), pdot(), pmv(), and pnorm().
real(kind=dp) function stokessolver::computepressureerror | ( | real(kind=dp), dimension(:,:) | ElementSol, |
type(element_t), pointer | Element, | ||
integer | n, | ||
integer | nd, | ||
real(kind=dp) | tp, | ||
real(kind=dp) | mu | ||
) |
References elementdescription::elementinfo(), integration::gausspoints(), and defutils::getelementnodes().
Referenced by stokessolver().
real(kind=dp) function stokessolver::computevelocityerror | ( | real(kind=dp), dimension(:,:) | ElementSol, |
type(element_t), pointer | Element, | ||
integer | n, | ||
integer | nd, | ||
real(kind=dp) | tp, | ||
real(kind=dp) | mu | ||
) |
References elementdescription::elementinfo(), integration::gausspoints(), and defutils::getelementnodes().
Referenced by stokessolver().
subroutine stokessolver::crs_matrixdivmultiply | ( | type(matrix_t), pointer | A, |
real(kind=dp), dimension(*) | u, | ||
real(kind=dp), dimension(*) | v, | ||
integer | dim | ||
) |
subroutine stokessolver::gcrouteriteration | ( | integer | n, |
type(matrix_t), pointer | A, | ||
integer | l, | ||
type(matrix_t), pointer | PA, | ||
integer | q, | ||
type(matrix_t), pointer | PM, | ||
type(matrix_t), pointer | PP, | ||
real(kind=dp), dimension(n) | x, | ||
real(kind=dp), dimension(n) | b, | ||
integer | Rounds, | ||
real(kind=dp) | TOL, | ||
integer | dim, | ||
integer, dimension(:) | TractionBCIndeces, | ||
real(kind=dp) | mu, | ||
real(kind=dp) | dt | ||
) |
References messages::info(), lists::listaddlogical(), lists::listgetconstreal(), lists::listgetinteger(), lists::listgetstring(), pdot(), pmv(), pnorm(), preconditioningiteration(), pressuresolver(), solver(), and velocitysolver().
subroutine stokessolver::lcondensatestabilizationbubble | ( | integer | n, |
integer | nd, | ||
integer | dim, | ||
real(kind=dp), dimension(:,:) | K | ||
) |
subroutine stokessolver::localmatrix | ( | real(kind=dp), dimension(:,:), target | STIFF, |
real(kind=dp), dimension(:,:), target | Mass, | ||
real(kind=dp), dimension(:), target | FORCE, | ||
real(kind=dp), dimension(:,:), target | LOAD, | ||
real(kind=dp), dimension(:) | Nodalrho, | ||
real(kind=dp), dimension(:) | Nodalmu, | ||
real(kind=dp), dimension(:,:) | NodalVelo, | ||
type(element_t), pointer | Element, | ||
integer | n, | ||
integer | nd, | ||
integer | dim, | ||
logical | Stabilization, | ||
logical | Convect, | ||
real(kind=dp) | GradDivParam | ||
) |
References elementdescription::elementdiameter(), elementdescription::elementinfo(), integration::gausspoints(), defutils::getelementnodes(), and lcondensatestabilizationbubble().
subroutine stokessolver::localmatrixboundary | ( | real(kind=dp), dimension(:,:), target | STIFF, |
real(kind=dp), dimension(:), target | FORCE, | ||
real(kind=dp), dimension(:,:) | Velocity, | ||
real(kind=dp) | rho, | ||
type(element_t), pointer | Element, | ||
integer | nd, | ||
integer | dim, | ||
logical | BlockPreconditioning, | ||
real(kind=dp), dimension(:,:), target | ABlock | ||
) |
References elementdescription::elementinfo(), integration::gausspoints(), defutils::getelementnodes(), normal(), and elementdescription::normalvector().
real(kind=dp) function stokessolver::pdot | ( | integer | n, |
real(kind=dp), dimension(:) | x, | ||
real(kind=dp), dimension(:) | y | ||
) |
subroutine stokessolver::pmv | ( | type(matrix_t), pointer | A, |
real(kind=dp), dimension(:) | x, | ||
real(kind=dp), dimension(:) | b, | ||
logical, optional | Update | ||
) |
References crsmatrix::crs_matrixvectormultiply().
Referenced by bicgstab(), and gcrouteriteration().
real(kind=dp) function stokessolver::pnorm | ( | integer | n, |
real(kind=dp), dimension(:) | x | ||
) |
subroutine stokessolver::preconditioningiteration | ( | integer | n, |
real(kind=dp), dimension(n) | x, | ||
type(matrix_t), pointer | A, | ||
integer | l, | ||
type(matrix_t), pointer | PA, | ||
integer | q, | ||
type(matrix_t), pointer | PM, | ||
type(matrix_t), pointer | PP, | ||
real(kind=dp), dimension(n) | r, | ||
integer | dim, | ||
real(kind=dp) | TOL, | ||
integer | Rounds, | ||
integer, dimension(:) | TractionBCIndeces, | ||
real(kind=dp) | mu, | ||
real(kind=dp) | dt | ||
) |
References crs_matrixdivmultiply(), crsmatrix::crs_matrixvectormultiply(), g(), pressuresolver(), solverutils::solvelinearsystem(), solver(), and velocitysolver().
subroutine stokessolver::schurcomplementmatrix | ( | real(kind=dp), dimension(:) | Nodalrho, |
real(kind=dp), dimension(:) | Nodalmu, | ||
type(element_t), pointer | Element, | ||
integer | n, | ||
integer | nd, | ||
integer | dim, | ||
real(kind=dp), optional | dt, | ||
real(kind=dp), dimension(:,:), target | MLocal, | ||
real(kind=dp), dimension(:,:), target | Plocal | ||
) |
References elementdescription::elementinfo(), integration::gausspoints(), and defutils::getelementnodes().
subroutine stokessolver::setboundaryconditions | ( | type(model_t) | Model, |
type(matrix_t), pointer | StiffMatrix, | ||
character(len=*) | Name, | ||
integer | DOF, | ||
integer | NDOFs, | ||
integer, dimension(:) | Perm, | ||
real(kind=dp), dimension(:), optional | rhs | ||
) |
Sets internally Dirichlet boundary condition for given dof.
References defutils::getelementdofs(), defutils::getelementnofnodes(), lists::listgetreal(), solverutils::setmatrixelement(), and solverutils::zerorow().
subroutine stokessolver::updateglobalpreconditioner | ( | type(matrix_t), pointer | StiffMatrix, |
real(kind=dp), dimension(:,:) | LocalStiffMatrix, | ||
integer | n, | ||
integer | NDOFs, | ||
integer, dimension(:) | NodeIndexes | ||
) |
References bandmatrix::band_gluelocalmatrix(), and crsmatrix::crs_gluelocalmatrix().