DPG formulation for time-harmonic Maxwell problems#
The discontinuous Petrov-Galerkin (DPG) method is a residual-minimizing finite element strategy that is particularly effective for wave propagation and high-frequency electromagnetic problems. Rather than using the same space for trial and test functions, DPG uses different spaces and seeks the discrete solution by minimizing the residual of the PDE in a norm induced by the test space. For a review of the DPG method, see the following review article written by the original authors of the method, Demkowicz and Gopalakrishnan.
A Brief Introduction to DPG#
The Discontinuous Petrov–Galerkin (DPG) method is a class of discontinuous finite element methods that reformulates the standard variational problem as a minimum residual problem. Given the abstract problem
the DPG method seeks an approximation in a finite-dimensional trial space \(U_h \subset U\) that solves the minimum residual problem
where \(B : U \rightarrow V'\) is the operator satisfying
The operator \(B\) maps a trial function to its corresponding residual functional. Here, \(\langle \cdot,\cdot \rangle_{V \times V'}\) denotes the duality pairing between the test space and its dual.
Since minimizing the residual directly in the dual norm \(\|\cdot\|_{V'}\) is generally impractical, the DPG method introduces the Riesz operator
whose inverse maps functionals in \(V'\) back into the test space \(V\). The functional \(J\) can then be rewritten as
Taking the Gâteaux derivative of \(J\) and setting it equal to zero yields
This naturally introduces the error representation function
which belongs to the test space \(V\). Its norm is equal to the residual measured in the dual norm,
making it a natural a posteriori error estimator.
The error representation function also satisfies
which, together with Equation (1), leads to the mixed DPG formulation
In practice, computing the exact optimal test functions would require inverting the Riesz operator over the infinite-dimensional space \(V\), which is not feasible. Instead, the test space is approximated by an enriched finite-dimensional space \(V_r \subset V\). The polynomial order of \(V_r\) is chosen higher than that of the trial space \(U_h\).
Furthermore, the test space is chosen to be broken, meaning that its basis functions are supported independently on each mesh element. This localization makes the Riesz operator block diagonal, allowing the local problems defining the optimal test functions to be solved independently on each element.
Breaking the test space introduces additional trace unknowns \(\hat{u}_h \in \hat{U}_h\), defined on the mesh skeleton, to recover inter-element conformity. The bilinear form becomes
where \(\langle\cdot,\cdot\rangle\) denotes the duality pairing between the trace unknowns and the test functions.
The practical DPG formulation on a discretized domain \(\Omega_h\) is therefore
This is the formulation implemented in Lethe. The use of an enriched broken test space allows the optimal test functions to be computed locally, while the trace unknowns ensure global continuity through the mesh skeleton.
Numerical implementation and discretization#
To take advantage of the extensive support for real-valued finite element problems available in deal.II, all complex-valued fields are decomposed into their real and imaginary components. Consequently, the entire linear system is assembled and solved using standard double-precision floating-point arithmetic.
Discrete spaces#
The discrete trial, trace, and test spaces are defined as
Each component of the interior trial space is discretized using discontinuous tensor-product Lagrange finite elements \((\mathcal{Q}^{-}_{p}\Lambda^3)\), providing an approximation of \(L^2(\Omega_h)\).
The trace unknowns are discretized using first-kind Nédélec elements \((\mathcal{Q}^{-}_{p}\Lambda^1)\). The tangential trace operator \(\mathrm{tr}_{\mathrm{curl},\top}\) is applied, and the interior degrees of freedom are discarded so that the resulting finite element space approximates \(H^{-1/2}(\mathrm{curl},\Omega_h)\).
The enriched test space is also constructed from first-kind Nédélec elements, but without applying the trace operator, making it conforming in \(H(\mathrm{curl},\Omega_h)\). As required by the DPG method, the test space uses a higher polynomial degree than the trial space,
where \(\Delta p\) is the enrichment parameter. Throughout this implementation,
The discrete fields are expanded in terms of their respective basis functions,
where
\(\boldsymbol{\phi}_i\) are the interior trial basis functions,
\(\hat{\boldsymbol{\phi}}_i\) are the trace basis functions,
\(\boldsymbol{\psi}_i\) are the test basis functions,
and \(\mathbf{w}_i\), \(\hat{\mathbf{w}}_i\), and \(\mathbf{q}_i\) denote their corresponding coefficients. The superscript \(k \in \{1,2,3,4\}\) identifies the field component (\(\mathbf{E}_{\mathrm{re}}\), \(\mathbf{E}_{\mathrm{im}}\), \(\mathbf{H}_{\mathrm{re}}\), \(\mathbf{H}_{\mathrm{im}}\)).
Discrete linear system#
Combining the finite element discretization with the practical DPG formulation (2) yields the block system
The matrices are defined as
while the load vector is
The indices \((i,k)\) combine the finite element basis index with the field component.
Static condensation#
Because the test space is broken, the Gram matrix \(G\) is block diagonal, allowing the error representation function to be eliminated locally. This produces the condensed system
A second static condensation is also performed since interior elements are discontinuous, which eliminates the interior unknowns from the linear system. Defining
the final system becomes
This Schur complement system is the one solved by Lethe’s DPG solver.
Recovery of local fields#
Once the trace unknowns have been computed, the interior fields and the error representation function are recovered independently on each element,
The local residual norm,
provides the DPG a posteriori error estimator used for adaptive mesh refinement.
Polynomial spaces#
The DPG method relies on several Sobolev, broken, and trace spaces. Their precise definition is important when selecting compatible finite element spaces for the trial, test, and trace unknowns. This page summarizes the spaces used by the implementation mentioned above.
Sobolev spaces#
The implementation is based on the standard Sobolev spaces defined over the domain \(\Omega\).
Broken spaces#
The current implementation supports three-dimensional problems only. Accordingly, the broken spaces are defined over the mesh \(\Omega_h\) as
The product \(\prod_{K\in\Omega_h}\) denotes the Cartesian product over all mesh elements, while \(u|_K\) denotes the restriction of a function to a single element. Unlike the previous spaces,
since \(L^2\) functions do not require continuity between neighboring elements.
Trace operators#
The trace spaces are defined using the standard trace operators acting on the mesh skeleton \(\partial\Omega_h\).
Here, \(\mathbf{n}\) denotes the outward unit normal vector on the boundary of each mesh element.
Trace spaces#
The trace operators define the interface spaces used by the DPG formulation,
These interface spaces provide the mathematical foundation for the trace unknowns introduced by the practical DPG formulation.