After assembly and boundary condition application, we have a system:
$$[K]\{u\} = \{F\}$$
This is a system of linear equations. For a mesh with $n$ nodes and $d$ DOFs per node, we have $N = n \times d$ equations. Solving this efficiently is crucial — it's often the most expensive part of the analysis.
Sponsored
3,000+ engineers placed at Mahindra, Bosch, TATA ELXSI
Including Continental, Capgemini, Ola Electric & 500+ more companies
See Where They Work
The Challenge
FEA matrices have special properties:
Large: Millions of DOFs in industrial problems
Sparse: Most entries are zero (nodes only connect to neighbors)
Symmetric: $K_{ij} = K_{ji}$ (from energy principles)
Positive definite: $\{u\}^T[K]\{u\} > 0$ for all non-zero $\{u\}$
Banded: Non-zeros cluster near the diagonal
Visualize sparsity patterns for different mesh sizes. Note how bandwidth depends on node numbering.
Direct Solvers
Direct solvers compute the exact solution (to machine precision) through matrix factorization.
Where $\kappa = \lambda_{max}/\lambda_{min}$ is the condition number.
Problem: FEA matrices are often ill-conditioned ($\kappa \sim 10^6$ or worse), leading to slow convergence.
Preconditioning
Transform the system to improve conditioning:
$$[M]^{-1}[K]\{u\} = [M]^{-1}\{F\}$$
Ideally, $[M] \approx [K]$ but cheap to invert.
Common preconditioners:
Type
Description
Cost
Effectiveness
Jacobi
$M = \text{diag}(K)$
$O(N)$
Low
SSOR
Symmetric SOR
$O(N)$
Moderate
ILU(0)
Incomplete LU, no fill
$O(N)$
Good
ILU(k)
Incomplete LU, level-k fill
$O(N \cdot k)$
Better
AMG
Algebraic Multigrid
$O(N)$
Excellent
Multigrid Methods
The most powerful iterative approach:
Idea: Smooth errors on fine grid, correct on coarse grid.
Smooth high-frequency errors on fine mesh
Restrict residual to coarser mesh
Solve (approximately) on coarse mesh
Prolongate correction back to fine mesh
Smooth again
Complexity: $O(N)$ — optimal!
Types:
Geometric Multigrid: Requires mesh hierarchy
Algebraic Multigrid (AMG): Constructs hierarchy from matrix
When to Use Iterative Solvers
Advantages:
Memory efficient: $O(N)$
Parallelizes well
Can exploit sparsity perfectly
Natural for transient problems
Disadvantages:
May not converge for ill-conditioned systems
Convergence rate problem-dependent
Requires good preconditioner selection
Sensitive to matrix properties
Best for:
Large problems (> 500K DOFs)
3D solid mechanics
When memory is limited
Parallel computing environments
Solver Comparison
Aspect
Direct
Iterative
Solution
Exact
Approximate
Memory
$O(N^{1.5})$ to $O(N^2)$
$O(N)$
Time
Predictable
Problem-dependent
Robustness
High
Needs tuning
Parallelism
Moderate
Excellent
Multiple RHS
Efficient
Must re-solve
Practical Considerations
Matrix Storage Formats
Compressed Sparse Row (CSR):
Values array: non-zero values
Column indices: column of each value
Row pointers: start of each row
Memory: $O(\text{nnz})$ where nnz = number of non-zeros
Parallel Solvers
Domain decomposition:
Partition mesh into subdomains
Solve each subdomain independently
Iterate to satisfy interface conditions
Popular parallel solvers:
MUMPS: Parallel direct (MPI)
PARDISO: Shared-memory direct
PETSc: Iterative framework
Trilinos: Comprehensive solver library
Choosing a Solver
if problem_size < 100K_DOFs:
use Direct (Cholesky/LU)
elif problem_size < 1M_DOFs:
try Direct first
if memory_exceeded: use Iterative + AMG
else: # > 1M DOFs
use Iterative + AMG preconditioner
if multiple_load_cases:
prefer Direct (amortize factorization)
if nonlinear:
Direct often better (frequent refactorization)
We can now solve FEA problems mathematically. But how do we know the results are correct? The next lesson covers Validation & Verification — ensuring our analysis is accurate and trustworthy.
Career Growth
3,000+ Engineers Placed in Top Companies
Join the ranks of successful engineers at Bosch, Tata, L&T, and 500+ hiring partners.