The LinearSystem class creates an abstract object that solves a system of equations. The analysis class is designed to:
The main member function in LinearSystem are:
This abstract class control if a direct/iterative method of solution will be employed for solving the linear system. As a rule of thumb, Direct Solvers are recommended for small to medium size model ( \(\leq 500 000\) degree-of-freedom) using parallel computing. These solvers work even better if the Cholesky decomposition is computed once, situation that occurs in linear problems, while Iterative Solvers such as Conjugate Gradient will be available in future. Iterative solvers are recommended for large problems ( \(\gg 500 000\) degree-of-freedom) using parallel computing. These solvers trade accuracy for speed, thus for nonlinear problem the tolerance must be small. More information regarding the derived solver classes can be found at:
REFERENCE: