Series: Finite Element MethodDiscrete

From Basis to Shape Functions

The discrete formulation requires choosing a basis {ϕ1,,ϕN}\{\phi_1, \ldots, \phi_N\} for the space VhV_h and assembling the stiffness matrix Kij=a(ϕj,ϕi)K_{ij} = a(\phi_j, \phi_i) and load vector fi=(ϕi)f_i = \ell(\phi_i). In practice these global basis functions are not constructed directly; they emerge from simpler, locally defined functions called shape functions.

Partition Ωˉ\bar{\Omega} into MM non-overlapping elements T1,,TMT_1, \ldots, T_M whose interiors are disjoint and whose union covers Ωˉ\bar{\Omega}. On each element TeT_e a small set of shape functions is defined, each supported entirely within TeT_e. The global space VhV_h is then assembled from these local pieces — either by identifying shape functions on adjacent elements along shared boundaries (as in the standard continuous Galerkin method) or by keeping them independent (as in the discontinuous Galerkin method). Either way, each global basis function ϕi\phi_i has support on at most a small number of elements.

Since a(,)a(\cdot, \cdot) is bilinear, the stiffness matrix entry decomposes as

Kij=a(ϕj,ϕi)=e=1MaTe(ϕj,ϕi),K_{ij} = a(\phi_j, \phi_i) = \sum_{e=1}^{M} a\big|_{T_e}(\phi_j, \phi_i),

where aTea\big|_{T_e} denotes the restriction of aa to element TeT_e. The contribution from TeT_e is zero unless the supports of both ϕi\phi_i and ϕj\phi_j overlap with TeT_e, which can only happen for nearby basis functions. This is the origin of the sparsity of the stiffness matrix. Assembly therefore proceeds element by element: for each TeT_e one computes a small element stiffness matrix and scatters its entries into the global KK. The load vector is assembled the same way, each element contributing a small element load vector to f\mathbf{f}.