Local solver solves problems cell-by-cell, whith the small local (cell-wise) problems solved using Eigen. The interface is:
/// Solve local (cell-wise) problem and copy result into global
/// vector x.
LocalSolver::solve(GenericVector& x, const Form& a, const Form& L,
bool symmetric=false) const;
The result is the same as regular a solve if the test/trial functions are discontinuous and involve no facet integrals, but uses virtually no memory and is much faster.
If the test/trial functions are continuous, LocalSolve
can still be used but the results will not be exact. This can, however, still be useful in some cases, e.g. approximate visualisation a solution.