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

adaptive  Module for adaptive meshing routines. The adaptivity is based on solverspecific error indicators that are used to create a field with the desired mesh density. This may be used by some mesh generators to create a more optimal mesh 
bandmatrix  Module defining utility routines & matrix storage for band matrix format. This module is currently of no or, only little use as the default matrix storage format is CRS 
bandwidthoptimize  Module for reordering variables for bandwidth and/or gaussian elimination fillin optimization. Also computes node to element connections (which implies node to node connections, and thus the global matrix structure) 
blocksolve  Module for solution of matrix equation utilizing block strategies 
clusteringmethods  Module containing various clustering methods that may be used in conjunction with algebraic multigrid methods, for example 
coordinatesystems  Module defining coordinate systems 
crsmatrix  Module defining utility routines & matrix storage for sparse matrix in Compressed Row Storage (CRS) format 
defutils  Module containing utility subroutines with default values for various system subroutine arguments. For user defined solvers and subroutines this module should provide all the needed functionality for typical finite element procedures 
differentials  This module contains some builtin material laws, and also some vector utilities, curl, dot, cross, etc. Some of these may be of no use currently 
diffuseconvective  Diffuseconvective local matrix computing in cartesian coordinates. Used by a number of solvers 
diffuseconvectivegeneral  Diffuseconvective local matrix computing in general euclidian coordinates 
directsolve  Module containing the direct solvers for linear systems given in CRS format. Included are Lapack band matrix solver, multifrontal Umfpack, MUMPS, SuperLU, and Pardiso. Note that many of these are linked in with ElmerSolver only if they are made available at the compilation time 
dxfile  
eigensolve  Module containing ARPACK routines for the solution of Eigenvalue problems 
elementdescription  Module defining element type and operations. The most basic FEM routines are here, handling the basis functions, global derivatives, etc.. 
elementutils  Some basic finite element utilities 
exchangecorrelations  This module contains different parametrizations for the exchangecorrelation energy density (function exc(r,s,ixc) and the function uxc(r,s,ispin,ixc) calculating the corresponding exchangecorrelation potential. Here r is the electron density, s is spin density and ixc is one of the integer parameters 
fetisolve  Basic FETI solver, for Poisson & Navier style of equations 
freesurface  Internal free surface utilities 
gebhardtfactorglobals  
generalutils  Miscallenous utilities 
globmat  
globmatc  
hashtable  Hash table build & lookup routines 
integration  Module defining Gauss integration points and containing various integration routines 
interpolation  Module containing interpolation and quadrant tree routines 
iterativemethods  Module containing iterative methods. Uses the calling procedure of the HUTIter package for similar interfacing. The idea is that the future development of iterative methods could be placed in this module 
itersolve  Module containing a the control for iterative solvers for linear systems that come with the Elmer suite 
linearalgebra  Linear Algebra: LUDecomposition & matrix inverse & nonsymmetric full matrix eigenvalues (don't use this for anything big, use for example LAPACK routines instead...) 
listmatrix  
lists  List handling utilities. In Elmer all the keywords are saved to a list, and later accessed from it repeatedly. Therefore these subroutines are essential in Elmer programming 
ludecomposition  LU Decomposition & matrix inverse of small full matrices. Don't use this for anything big, use for example LAPACK routines instead 
magnetodynamicsutils  Solve Maxwell equations in vector potential formulation (or the AV formulation) and (relatively)low frequency approximation using lowest order Withney 1forms (edge elements) 
mainutils  Utility routines for the elmer main program 
materialmodels  Module for material models of fluids mainly 
maxwell  Module computing MHD Maxwell equations (or the induction equation) local matrices (cartesian coordinates) 
maxwellaxis  Module computing MHD Maxwell equations (or the induction equation) local matrices (cartesian coordinates) 
maxwellgeneral  Module computing MHD Maxwell equations (or the induction equation) local matrices 
meshutils  Mesh manipulation utilities for *Solver  routines 
messages  Message output routines for sending information and dealing with exceptions 
modeldescription  Module that defined the Model: reads in the command file, mesh and results etc 
multigrid  Module containing various versions of multigrid solvers: geometric, algebraic, clustering and pmultigrid 
navierstokes  Module computing NavierStokes local matrices (cartesian coordinates) 
navierstokescylindrical  Module computing Navierstokes local matrices in cylindrical coordinates 
navierstokesgeneral  Module computing NavierStokes local matrices in general coordinate system (i.e. not cartesian, axisymmetric or cylindrically symmetric 
paralleleigensolve  Parallel solver for eigenvalue problems 
parallelutils  Parallel solver utilities for *Solver  routines 
particledynamicsstuff  {} 
particleutils  Module including generic utilities for particle dynamics and tracking 
pelementbase  Module defining p element basis functions. All p basis (and related) functions are defined here, as well as few helper routines for determining if an element is p element. For mappings related to p elements see module PElementMaps 
pelementmaps  Module defining mappings for p elements. These include nodal points contained by faces and edges, element boundary maps (edges for 2d elements, faces for 3d) and mappings from faces to edge numbers. Mappings defined in this module are compatible with basis functions defined in module PElementBase 
porousmaterials  This module contains porosity models that are computed at the integration point given the value of matric suction, psy. More materials models could be added 
radiation  Utility routines for radiation computation 
radiationfactorglobals  Module for solving Gebhardt factors inside the Elmer code 
smoothers  Module containing the smoothers used in multigrid solvers 
solverutils  Basic utilities used by individual solvers 
sparitercomm  These routines are for parallel version of ELMER solver. Subroutines for MPIcommunication 
spariterglobals  This module contains global variables (or pointers to them) needed by the parallel version of the ELMER iterative solver 
spariterprecond  External Preconditioning operations needed by parallel iterative solvers. This is the place to do preconditioning steps if needed Called from HUTIter library 
sparitersolve  Module for the parallel iterative solution in Elmer 
statelecboundaryutils  Module for 1D electrostatics boundary conditions. Computes electrostatic force, energy, charge and spring density on the boundary assuming a 1dimensional electrostatic model. The model may be complicated by holes or thin dielectric layer 
stressgeneral  Module computing local matrices for stress computation in general coordinates 
stresslocal  Module computing local matrices for stress computation (cartesian coordinates, axisymmetric) 
timeintegrate  Time integration schemes for first and second order partial differential equation with in time 
types  Type definitions for Elmer library 
viewfactorglobals  
vtklegacyfile  Module for saving result in the VTK legacy output ascii format 