FEM SolverElmer SolverSettings

This page describes the possible solver settings for Elmer.

General
Elmer is a multiphysics solver. Therefore you can use several main equations to solve problems. The different equations are listed here.

There are solver settings, available for all equations. These are described here. Settings only available for a particular equation are described in the pages of the corresponding equation.

Elmer offers two main solving systems, linear and nonlinear. The nonlinear system is currently only available for the Flow equation and  Heat equation.

Editing Settings
The solver settings can be found in the property editor after clicking on an equation in the tree view. You can edit them there directly like any other property.

Base
All equations have these properties:
 * : name of the equation in the tree view.
 * : There is also a residual-free-bubbles formulation of the stabilized finite-element method. It is more accurate and does not include any ad hoc terms. However, it may be computationally more expensive. If both and  are false, no stabilization is used and then the results might easily be nonsensical.
 * : number determining the priority of this equation to the other equations in the analysis. The equation with the highest number in the analysis will be output as first to the Elmer input file (file case.sif). If two equations have the same priority number, the one that is first in the tree view will be output first.
 * : If set to true, the solver will use stabilized finite element method when solving the heat equation with a convection term. If set to false the Residual Free Bubble (RFB) stabilization is used instead. If convection dominates, stabilization must be used in order to successfully solve the equation.

Linear System
This system has the following properties:
 * : polynomial degree for the iterative solver method BiCGStabl . This has only an effect if is Iterative and  is BiCGStabl.
 * : method used for direct solving. This has only an effect if is Direct. The possible methods are Banded, MUMPS and Umpfpack. Note that MUMPS usually needs to be installed before you can use it. Note: when you use more than one CPU core for the solver  only MUMPS can be used.
 * : maximal number of iterations for an iterative solver run. This has only an effect if is Iterative.
 * : method used for iterative solving This has only an effect if is Iterative.
 * : method used for the preconditioning. For info about preconditioning, see this presentation (page 8) from Elmer.
 * : if the solving is done Direct or Iterative.
 * : the tolerance for the solver to stop. If the error is smaller than the tolerance, the solver run will be is finished. Otherwise the full number of will be performed. In the Elmer output you see in how the error is minimized while the solver is running. In case it does not go down below a certain value that is acceptable but above the current tolerance, you can increase the tolerance.

Nonlinear System
This system is iterative and has the following properties:


 * : maximal number of iterations.
 * : the tolerance for the solver to stop. If the error is smaller than the tolerance, the solver run will be is finished. Otherwise the full number of will be performed. In the Elmer output you see in how the error is minimized while the solver is running. In case it does not go down below a certain value that is acceptable but above the current tolerance, you can increase the tolerance.
 * : the tolerance for the solver to stop. If the error is smaller than the tolerance, the solver run will be is finished. Otherwise the full number of will be performed. In the Elmer output you see in how the error is minimized while the solver is running. In case it does not go down below a certain value that is acceptable but above the current tolerance, you can increase the tolerance.
 * : the tolerance for the solver to stop. If the error is smaller than the tolerance, the solver run will be is finished. Otherwise the full number of will be performed. In the Elmer output you see in how the error is minimized while the solver is running. In case it does not go down below a certain value that is acceptable but above the current tolerance, you can increase the tolerance.

Steady State
This part of the settings has only one property: $$\quad \left\Vert u_{i}-u_{i-1}\right\Vert <\epsilon\left\Vert u_{i}\right\Vert $$
 * : The specific steady state or coupled system convergence tolerance. All the equation solvers must meet their own tolerances for the variable $$\omega^2$$ they calculate, before the whole system is deemed converged. The tolerance criterion is:

whereas $$\epsilon$$ is the steady state tolerance and $$u_{i}$$ is the calculated variable in the i-th iteration/solver run.