Misplaced Pages

Hiptmair–Xu preconditioner

Article snapshot taken from[REDACTED] with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.

In mathematics, Hiptmair–Xu (HX) preconditioners are preconditioners for solving H ( curl ) {\displaystyle H(\operatorname {curl} )} and H ( div ) {\displaystyle H(\operatorname {div} )} problems based on the auxiliary space preconditioning framework. An important ingredient in the derivation of HX preconditioners in two and three dimensions is the so-called regular decomposition, which decomposes a Sobolev space function into a component of higher regularity and a scalar or vector potential. The key to the success of HX preconditioners is the discrete version of this decomposition, which is also known as HX decomposition. The discrete decomposition decomposes a discrete Sobolev space function into a discrete component of higher regularity, a discrete scale or vector potential, and a high-frequency component.

HX preconditioners have been used for accelerating a wide variety of solution techniques, thanks to their highly scalable parallel implementations, and are known as AMS and ADS precondition. HX preconditioner was identified by the U.S. Department of Energy as one of the top ten breakthroughs in computational science in recent years. Researchers from Sandia, Los Alamos, and Lawrence Livermore National Labs use this algorithm for modeling fusion with magnetohydrodynamic equations. Moreover, this approach will also be instrumental in developing optimal iterative methods in structural mechanics, electrodynamics, and modeling of complex flows.

HX preconditioner for H ( curl ) {\displaystyle H(\operatorname {curl} )}

Consider the following H ( curl ) {\displaystyle H(\operatorname {curl} )} problem: Find u H h ( curl ) {\displaystyle u\in H_{h}(\operatorname {curl} )} such that

( curl   u , curl   v ) + τ ( u , v ) = ( f , v ) , v H h ( curl ) , {\displaystyle (\operatorname {curl} ~u,\operatorname {curl} ~v)+\tau (u,v)=(f,v),\quad \forall v\in H_{h}(\operatorname {curl} ),} with τ > 0 {\displaystyle \tau >0} .

The corresponding matrix form is

A curl u = f . {\displaystyle A_{\operatorname {curl} }u=f.}

The HX preconditioner for H ( curl ) {\displaystyle H(\operatorname {curl} )} problem is defined as

B curl = S curl + Π h curl A v g r a d 1 ( Π h curl ) T + grad A grad 1 ( grad ) T , {\displaystyle B_{\operatorname {curl} }=S_{\operatorname {curl} }+\Pi _{h}^{\operatorname {curl} }\,A_{vgrad}^{-1}\,(\Pi _{h}^{\operatorname {curl} })^{T}+\operatorname {grad} \,A_{\operatorname {grad} }^{-1}\,(\operatorname {grad} )^{T},}

where S curl {\displaystyle S_{\operatorname {curl} }} is a smoother (e.g., Jacobi smoother, Gauss–Seidel smoother), Π h curl {\displaystyle \Pi _{h}^{\operatorname {curl} }} is the canonical interpolation operator for H h ( curl ) {\displaystyle H_{h}(\operatorname {curl} )} space, A v g r a d {\displaystyle A_{vgrad}} is the matrix representation of discrete vector Laplacian defined on [ H h ( grad ) ] n {\displaystyle ^{n}} , g r a d {\displaystyle grad} is the discrete gradient operator, and A grad {\displaystyle A_{\operatorname {grad} }} is the matrix representation of the discrete scalar Laplacian defined on H h ( grad ) {\displaystyle H_{h}(\operatorname {grad} )} . Based on auxiliary space preconditioning framework, one can show that

κ ( B curl A curl ) C , {\displaystyle \kappa (B_{\operatorname {curl} }A_{\operatorname {curl} })\leq C,}

where κ ( A ) {\displaystyle \kappa (A)} denotes the condition number of matrix A {\displaystyle A} .

In practice, inverting A v g r a d {\displaystyle A_{vgrad}} and A g r a d {\displaystyle A_{grad}} might be expensive, especially for large scale problems. Therefore, we can replace their inversion by spectrally equivalent approximations, B v g r a d {\displaystyle B_{vgrad}} and B grad {\displaystyle B_{\operatorname {grad} }} , respectively. And the HX preconditioner for H ( curl ) {\displaystyle H(\operatorname {curl} )} becomes B curl = S curl + Π h curl B v g r a d ( Π h curl ) T + grad B grad ( grad ) T . {\displaystyle B_{\operatorname {curl} }=S_{\operatorname {curl} }+\Pi _{h}^{\operatorname {curl} }\,B_{vgrad}\,(\Pi _{h}^{\operatorname {curl} })^{T}+\operatorname {grad} B_{\operatorname {grad} }(\operatorname {grad} )^{T}.}

HX Preconditioner for H ( div ) {\displaystyle H(\operatorname {div} )}

Consider the following H ( div ) {\displaystyle H(\operatorname {div} )} problem: Find u H h ( div ) {\displaystyle u\in H_{h}(\operatorname {div} )}

( div u , div v ) + τ ( u , v ) = ( f , v ) , v H h ( div ) , {\displaystyle (\operatorname {div} \,u,\operatorname {div} \,v)+\tau (u,v)=(f,v),\quad \forall v\in H_{h}(\operatorname {div} ),} with τ > 0 {\displaystyle \tau >0} .

The corresponding matrix form is

A div u = f . {\displaystyle A_{\operatorname {div} }\,u=f.}

The HX preconditioner for H ( div ) {\displaystyle H(\operatorname {div} )} problem is defined as

B div = S div + Π h div A v g r a d 1 ( Π h div ) T + curl A curl 1 ( curl ) T , {\displaystyle B_{\operatorname {div} }=S_{\operatorname {div} }+\Pi _{h}^{\operatorname {div} }\,A_{vgrad}^{-1}\,(\Pi _{h}^{\operatorname {div} })^{T}+\operatorname {curl} \,A_{\operatorname {curl} }^{-1}\,(\operatorname {curl} )^{T},}

where S div {\displaystyle S_{\operatorname {div} }} is a smoother (e.g., Jacobi smoother, Gauss–Seidel smoother), Π h div {\displaystyle \Pi _{h}^{\operatorname {div} }} is the canonical interpolation operator for H ( div ) {\displaystyle H(\operatorname {div} )} space, A v g r a d {\displaystyle A_{vgrad}} is the matrix representation of discrete vector Laplacian defined on [ H h ( grad ) ] n {\displaystyle ^{n}} , and curl {\displaystyle \operatorname {curl} } is the discrete curl operator.

Based on the auxiliary space preconditioning framework, one can show that

κ ( B div A div ) C . {\displaystyle \kappa (B_{\operatorname {div} }A_{\operatorname {div} })\leq C.}

For A curl 1 {\displaystyle A_{\operatorname {curl} }^{-1}} in the definition of B div {\displaystyle B_{\operatorname {div} }} , we can replace it by the HX preconditioner for H ( curl ) {\displaystyle H(\operatorname {curl} )} problem, e.g., B curl {\displaystyle B_{\operatorname {curl} }} , since they are spectrally equivalent. Moreover, inverting A v g r a d {\displaystyle A_{vgrad}} might be expensive and we can replace it by a spectrally equivalent approximations B v g r a d {\displaystyle B_{vgrad}} . These leads to the following practical HX preconditioner for H ( div ) {\displaystyle H(\operatorname {div} )} problem,

B div = S div + Π h div B v g r a d ( Π h div ) T + curl B curl ( curl ) T = S div + Π h div B v g r a d ( Π h div ) T + curl S curl ( curl ) T + curl Π h curl B v g r a d ( Π h curl ) T ( curl ) T . {\displaystyle B_{\operatorname {div} }=S_{\operatorname {div} }+\Pi _{h}^{\operatorname {div} }B_{vgrad}(\Pi _{h}^{\operatorname {div} })^{T}+\operatorname {curl} B_{\operatorname {curl} }(\operatorname {curl} )^{T}=S_{\operatorname {div} }+\Pi _{h}^{\operatorname {div} }B_{vgrad}(\Pi _{h}^{\operatorname {div} })^{T}+\operatorname {curl} S_{\operatorname {curl} }(\operatorname {curl} )^{T}+\operatorname {curl} \Pi _{h}^{\operatorname {curl} }B_{vgrad}(\Pi _{h}^{\operatorname {curl} })^{T}(\operatorname {curl} )^{T}.}

Derivation

The derivation of HX preconditioners is based on the discrete regular decompositions for H h ( curl ) {\displaystyle H_{h}(\operatorname {curl} )} and H h ( div ) {\displaystyle H_{h}(\operatorname {div} )} , for the completeness, let us briefly recall them.

Theorem:[Discrete regular decomposition for H h ( curl ) {\displaystyle H_{h}(\operatorname {curl} )} ]

Let Ω {\displaystyle \Omega } be a simply connected bounded domain. For any function v h H h ( curl Ω ) {\displaystyle v_{h}\in H_{h}(\operatorname {curl} \Omega )} , there exists a vector v ~ h H h ( curl Ω ) {\displaystyle {\tilde {v}}_{h}\in H_{h}(\operatorname {curl} \Omega )} , ψ h [ H h ( grad Ω ) ] 3 {\displaystyle \psi _{h}\in ^{3}} , p h H h ( grad Ω ) {\displaystyle p_{h}\in H_{h}(\operatorname {grad} \Omega )} , such that v h = v ~ h + Π h curl ψ h + grad p h {\displaystyle v_{h}={\tilde {v}}_{h}+\Pi _{h}^{\operatorname {curl} }\psi _{h}+\operatorname {grad} p_{h}} and h 1 v ~ h + ψ h 1 + p h 1 v h H ( curl ) {\displaystyle \Vert h^{-1}{\tilde {v}}_{h}\Vert +\Vert \psi _{h}\Vert _{1}+\Vert p_{h}\Vert _{1}\lesssim \Vert v_{h}\Vert _{H(\operatorname {curl} )}}

Theorem:[Discrete regular decomposition for H h ( div ) {\displaystyle H_{h}(\operatorname {div} )} ] Let Ω {\displaystyle \Omega } be a simply connected bounded domain. For any function v h H h ( div Ω ) {\displaystyle v_{h}\in H_{h}(\operatorname {div} \Omega )} , there exists a vector v ~ h H h ( div Ω ) {\displaystyle {\widetilde {v}}_{h}\in H_{h}(\operatorname {div} \Omega )} , ψ h [ H h ( grad Ω ) ] 3 , {\displaystyle \psi _{h}\in ^{3},} w h H h ( curl Ω ) , {\displaystyle w_{h}\in H_{h}(\operatorname {curl} \Omega ),} such that v h = v ~ h + Π h div ψ h + curl w h , {\displaystyle v_{h}={\widetilde {v}}_{h}+\Pi _{h}^{\operatorname {div} }\psi _{h}+\operatorname {curl} \,w_{h},} and h 1 v ~ h + ψ h 1 + w h 1 v h H ( div ) {\displaystyle \Vert h^{-1}{\widetilde {v}}_{h}\Vert +\Vert \psi _{h}\Vert _{1}+\Vert w_{h}\Vert _{1}\lesssim \Vert v_{h}\Vert _{H(\operatorname {div} )}}

Based on the above discrete regular decompositions, together with the auxiliary space preconditioning framework, we can derive the HX preconditioners for H ( curl ) {\displaystyle H(\operatorname {curl} )} and H ( div ) {\displaystyle H(\operatorname {div} )} problems as shown before.

References

  1. Hiptmair, Ralf; Xu, Jinchao (2007-01-01). "{Nodal auxiliary space preconditioning in $backslash$bf H($backslash$bf curl) and $backslash$bf H($backslash$rm div)} spaces". SIAM J. Numer. Anal. ResearchGate: 2483. doi:10.1137/060660588. Retrieved 2020-07-06.
  2. J.Xu, The auxiliary space method and optimal multigrid preconditioning techniques for unstructured grids. Computing. 1996;56(3):215–35.
  3. T. V. Kolev, P. S. Vassilevski, Parallel auxiliary space AMG for H (curl) problems. Journal of Computational Mathematics. 2009 Sep 1:604–23.
  4. T.V. Kolev, P.S. Vassilevski. Parallel auxiliary space AMG solver for H(div) problems. SIAM Journal on Scientific Computing. 2012;34(6):A3079–98.
  5. Report of The Panel on Recent Significant Advancements in Computational Science, https://science.osti.gov/-/media/ascr/pdf/program-documents/docs/Breakthroughs_2008.pdf
  6. E.G. Phillips, J. N. Shadid, E.C. Cyr, S.T. Miller, Enabling Scalable Multifluid Plasma Simulations Through Block Preconditioning. In: van Brummelen H., Corsini A., Perotto S., Rozza G. (eds) Numerical Methods for Flows. Lecture Notes in Computational Science and Engineering, vol 132. Springer, Cham 2020.
Category:
Hiptmair–Xu preconditioner Add topic