The Full Discretization Method (often referred to as direct Finite Difference Methods for space-time grids) approaches partial differential equations (PDEs) by discretizing both the spatial and temporal dimensions simultaneously onto a discrete grid.
Unlike the Method of Lines—which retains continuous time to yield an ODE system—full discretization converts the PDE directly into a system of algebraic equations that can be solved step-by-step or via matrix inversion.
How It Works:
The 3-Step Process Consider the 1D transient heat equation:
- Grid Generation: We partition space into steps of size () and time into steps of size (). The discrete approximation to is denoted as .
- Algebraic Substitution: Both the time derivative and spatial derivative are replaced with algebraic finite difference approximations. For example, using a forward difference in time and a central difference in space:
- Time Marching / Matrix Solution: Re-arranging the algebraic equation allows us to explicitly compute values at the next time level from known values at level (Explicit Scheme), or solve a linear system (Implicit Scheme).
## Explicit vs. Implicit Schemes
When discretizing space and time simultaneously, the evaluation point of the spatial derivative defines the nature of the solver: - Explicit Schemes (Forward Euler): Evaluate spatial derivatives entirely at the current time step $n$. Fast per iteration, but strictly bounded by stability constraints. - Implicit Schemes (Backward Euler / Crank-Nicolson): Evaluate spatial derivatives at the future time step (or a weighted blend). Unconditionally stable, but requires solving a system of linear equations at each time step.
Comparison: Full Discretization vs Method of Lines Feature | Method of Lines (MOL) | Full Discretization (FDM) Time Integration | Continuous (Handed to ODE solver) | Discrete (Fixed algebraic updates) Solvers | High-order adaptive ODE integrators | Custom time-stepping loops / Matrix solvers Error Control | Automated adaptive time-stepping | Manual step size selection () Implementation | Abstract function interfaces | Direct matrix-vector operations
Example 1: Explicit Method (FTCS Scheme)
The Forward-Time Central-Space (FTCS) scheme explicitly updates each grid point based on its immediate neighbors at the previous time level:
Stability Warning: The 1D explicit FTCS scheme is stable if and only if . Exceeding this limit causes catastrophic non-physical oscillations.
Example 1C#
Example 2: Implicit Crank-Nicolson Scheme
The Crank-Nicolson scheme is a second-order accurate implicit method formed by averaging the central differences at time steps and :
Expressed in matrix-vector form:
where and are tridiagonal matrices. This scheme is unconditionally stable for any choice of .
Example 2C#
Example 3: Implicit Scheme, with Finite Element for Spatial derivatives
When applying the Finite Element Method to time-dependent problems such as the 1D heat equation:
applying the Galerkin spatial discretization yields a system of coupled ODEs in matrix form:
where: - is the Global Mass Matrix (), representing the temporal inertia/capacity. For 1D linear elements of length , the local element mass matrix is . - is the Global Stiffness Matrix (), with local element stiffness matrix . - is the vector of nodal temperature values evolving over time.
Using an implicit time-integration scheme (Backward Euler) for stability:
Example 3C#
Example 2: Implicit Scheme with Chebyshev Spectral Differentiation for Spatial Derivative
Constructing a Chebyshev differentiation matrix to compute high-accuracy spatial derivatives on Gauss-Lobatto collocation points :