Skip to content

Commit

Permalink
trim down section on introducing high-order LFA
Browse files Browse the repository at this point in the history
  • Loading branch information
jeremylt committed Jul 30, 2021
1 parent 081362f commit b01d567
Showing 1 changed file with 2 additions and 57 deletions.
59 changes: 2 additions & 57 deletions papers/high-order-bddc-2021/lfa_bddc_high_order_fem.tex
Original file line number Diff line number Diff line change
Expand Up @@ -155,8 +155,7 @@ \section{Definitions and Notation}\label{sec:notation}
\section{Local Fourier Analysis for Balancing Domain Decomposition by Constraints}\label{sec:lfa}
% -----------------------------------------------------------------------------

We now describe the LFA formulation used in LFAToolkit.jl, first in one dimension and then in multiple dimensions.
Then we develop LFA of BDDC with high-order finite elements.
We now describe the LFA formulation used in LFAToolkit.jl and develop LFA of BDDC with high-order finite elements.

% -----------------------------------------------------------------------------
\subsection{High-Order Finite Elements}\label{sec:highorder}
Expand Down Expand Up @@ -193,58 +192,6 @@ \subsection{High-Order Finite Elements}\label{sec:highorder}
\end{equation}
where $\mathbf{G}$ represents the element assembly operator, $\mathbf{B}$ is a basis operator which computes the values and derivatives of the basis functions at the quadrature points, and $\mathbf{D}$ is a block diagonal operator which provides the pointwise application of the bilinear form on the quadrature points, to include quadrature weights and the change in coordinates between the physical and reference space.

Consider the specific case of a block Toeplitz operator representing an arbitrary second order scalar PDE in one dimension with Lagrange basis of polynomial degree $p$ given in the form of \cref{eq:pdediscrete} and \cref{efficienthighorder}.
The basis $\mathbf{B}$ is defined on the mesh grid with points given by $x_i$, for $i \in \left\lbrace 1, 2, \dots, p + 1 \right\rbrace$ on one element.
The nodes on the left and right boundaries of the element map to the same Fourier mode when localized to nodes unique to a single finite element, so we can compute the symbol matrix of size $p \times p$ as
\begin{equation}\label{symbolscalar1d}
\tilde{\mathbf{A}} = \mathbf{Q}^T \left( \mathbf{A}_e \odot \left[ e^{\imath \left( x_j - x_i \right) \theta / h} \right] \right) \mathbf{Q},
\end{equation}
where $\odot$ represents pointwise multiplication of the elements, $h$ is the length of the element, and $i, j \in \lbrace 1, 2, \dots, p + 1 \rbrace$.
In the pointwise product $\mathbf{A}_e \odot \left[ e^{\imath \left( x_j - x_i \right) \theta / h} \right]$, the $\left( i, j \right)$ entry is given by $\left( \mathbf{A}_e \right)_{i, j} e^{\imath \left( x_j - x_i \right) \theta / h}$.
$\mathbf{Q}$ is a $\left( p + 1 \right) \times p$ matrix that localizes Fourier modes to each finite element, given by
\begin{equation}
\mathbf{Q} =
\begin{bmatrix}
\mathbf{I} \\
\mathbf{e}_0 \\
\end{bmatrix} =
\begin{bmatrix}
1 && 0 && \cdots && 0 \\
0 && 1 && \cdots && 0 \\
\vdots && \vdots && \vdots && \vdots \\
0 && 0 && \cdots && 1 \\
1 && 0 && \cdots && 0 \\
\end{bmatrix}.
\end{equation}
We refer to $\mathbf{Q}$ as the Fourier mode localization operator.

The computation of this symbol matrix extends to more complex PDE with multiple components and in higher dimensions.
Multiple components are supported by extending the $p \times p$ system of Toeplitz operators in \cref{symbolscalar1d} to a $\left( n \cdot p \right) \times \left( n \cdot p \right)$ system of operators, where $n$ is the number of components in the PDE.
The localization operator for a multi-component PDE is given by $\mathbf{Q}_n = \mathbf{I}_n \otimes \mathbf{Q}$, where $I_n$ is the identity matrix with size $n \times n$.
In general, we omit the subscript indicating the number of components for the localization operator.

The infinite uniform grid $G_h$ is extended into higher dimensions by taking the direct sum of the one dimensional grid.
Tensor products are used to extend the one dimensional bases into higher dimensions.
The basis evaluation operators in two dimensions are given by
\begin{equation}
\begin{split}
\mathbf{B}_{\text{interp2d}} = \mathbf{B}_{\text{interp1d}} \otimes \mathbf{B}_{\text{interp1d}}, \\
\mathbf{B}_{\text{grad2d}} =
\begin{bmatrix}
\mathbf{B}_{\text{grad1d}} \otimes \mathbf{B}_{\text{interp1d}} \\
\mathbf{B}_{\text{interp1d}} \otimes \mathbf{B}_{\text{grad1d}} \\
\end{bmatrix},
\end{split}
\end{equation}
where $\mathbf{B}_{interp*d}$ and $\mathbf{B}_{grad*d}$ are the basis interpolation and gradient operators, respectively.

In a similar fashion, the localization operator for Fourier modes in two dimensions is given by
\begin{equation}
\mathbf{Q}_{\text{2d}} = \mathbf{Q} \otimes \mathbf{Q}.
\end{equation}
As with tensor product bases, an analogous computation can be done in higher dimensions.
Again, we generally omit the subscript indicating the dimension of the Fourier mode localization operator.

\begin{definition}\label{def:high_order_symbol}
The symbol matrix of a finite element operator for an arbitrary second order PDE with any basis order, dimension, and number of components is given by
\begin{equation}\label{symbolhighorder}
Expand All @@ -257,9 +204,7 @@ \subsection{High-Order Finite Elements}\label{sec:highorder}
Note that this LFA notation is applicable to any second-order PDE with a weak form that can be represented by \cref{efficienthighorder}.
This representation is used in LFAToolkit.jl, where the users provide the finite element basis $\mathbf{B}$, the node to mode localization operator $\mathbf{Q}$, and the pointwise representation of the weak form $\mathbf{D}$, and the software can provide the LFA of the PDE with various preconditioners.
The nodes may be defined by points $\mathbf x_i$ or more generally, as dual basis functions that may be applied to the Fourier modes; however, we restrict ourselves to nodal bases in this paper.

If the pointwise representation of the weak form $\mathbf{D}$ has a tensor product structure, then the element operator $\mathbf{A}_e$ and therefore the symbol $\tilde{\mathbf{A}}$ will have a tensor product structure, as shown in \cite{he2020two}.
We omit this optimization in this analysis and LFAToolkit.jl in favor of supporting second-order PDEs that do not have a tensor product decomposition.
For further details, see CITATION TO THE FIRST PAPER.

% -----------------------------------------------------------------------------
\subsection{Balancing Domain Decomposition by Constraints}\label{sec:lfabddc}
Expand Down

0 comments on commit b01d567

Please sign in to comment.