Method Overview¶
This page gives a compact user-facing overview of the rectangular-domain method
implemented by gbmsc-pde. It is intended to explain the objects used by the
package, not to replace the full mathematical reference. For citation guidance,
see citation.md.
The current implementation targets rectangular domains, structured tensor-product source grids, and linear PDE rows evaluated at source nodes.
1. Grid and Local Subgrids¶
Let
and let the structured grid be
For a uniform grid,
where
The method builds local tensor-product subgrids. Each local subgrid has shape
(n_x, n_y) and contains the source nodes used by one local tensor-product
interpolant. The step=(step_x, step_y) parameter controls how these
subgrids are sampled across the source grid. When the step is smaller than the
subgrid size, neighboring subgrids overlap; a source node can then belong to
several nearby subgrids. This overlap is what allows the local interpolants to
be blended smoothly by the Shepard weights. The set of sampled subgrids is
denoted by
2. Local Tensor-Product Lagrange Interpolation¶
For each sampled subgrid \(s \in \mathcal{G}_h\), let
be its one-dimensional node coordinates. The local Lagrange basis functions are
For source values \(u_{\alpha\beta}^{(s)}\) on the subgrid, the local tensor-product interpolant is
The first derivatives are
and
The second derivatives are computed similarly using second derivatives of the one-dimensional Lagrange bases.
3. Shepard Blending¶
Each local interpolant is blended by a Shepard weight. Let \(z=(x,y)\) and let \(z_k^{(s)}\) be the source nodes in subgrid \(s\). With Shepard exponent \(\mu > 2\), the raw subgrid weight is represented by
The original normalized Shepard weight uses all sampled subgrids in the denominator:
The blended Grid-Based Multinode Shepard Collocation approximation is
For interpolation at arbitrary query points, the package uses all sampled subgrids:
For PDE rows evaluated at source nodes, the package also provides three nodal
support modes through GBMSCApproximation. support_mode="active" uses the
sampled subgrids that contain the source node and applies the original
epsilon-regularized nodal formula. support_mode="all" keeps active
contributors in the numerator but normalizes with all sampled subgrids.
support_mode="nodal_limit" evaluates the source-node limiting formula by
cancelling the common singular factor shared by active subgrids; this is the
recommended mode for new rectangular PDE experiments. See
gbs_approximation.md for usage details.
4. Nodal Differential Operators¶
The rectangular LinearPDE solver assembles sparse matrices acting on the flattened source vector
The derivative matrices are the sparse nodal operators used by the PDE and boundary-condition assembly:
- \(M_x\) maps nodal values to an approximation of \(\partial_x u\) at the source nodes.
- \(M_y\) maps nodal values to an approximation of \(\partial_y u\) at the source nodes.
- \(M_{xx}\) maps nodal values to an approximation of \(\partial_{xx}u\) at the source nodes.
- \(M_{yy}\) maps nodal values to an approximation of \(\partial_{yy}u\) at the source nodes.
Equivalently, these matrices satisfy
and
Because the LinearPDE rows are evaluated at source nodes, the tensor-product Lagrange basis has a nodal structure. The assembled derivative rows are sparse: each row only touches source nodes in local subgrids associated with that row node.
5. Boundary Conditions¶
Boundary conditions are registered on flattened rectangular grid-node ids.
For Dirichlet data,
the corresponding matrix row is replaced by an identity row.
For Neumann data,
the row is assembled as
For Robin data,
the row is
where \(e_i\) is the unit coordinate row associated with node \(i\).