Hiptmair–Xu preconditioner

From testwiki
Revision as of 17:49, 4 October 2024 by imported>1234qwer1234qwer4 (fix spacing around math (via WP:JWB))
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

In mathematics, Hiptmair–Xu (HX) preconditioners[1] are preconditioners for solving H(curl) and H(div) problems based on the auxiliary space preconditioning framework.[2] 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[3] and ADS[4] precondition. HX preconditioner was identified by the U.S. Department of Energy as one of the top ten breakthroughs in computational science[5] in recent years. Researchers from Sandia, Los Alamos, and Lawrence Livermore National Labs use this algorithm for modeling fusion with magnetohydrodynamic equations.[6] 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)

Consider the following H(curl) problem: Find uHh(curl) such that

(curlu,curlv)+τ(u,v)=(f,v),vHh(curl), with τ>0.

The corresponding matrix form is

Acurlu=f.

The HX preconditioner for H(curl) problem is defined as

Bcurl=Scurl+ΠhcurlAvgrad1(Πhcurl)T+gradAgrad1(grad)T,

where Scurl is a smoother (e.g., Jacobi smoother, Gauss–Seidel smoother), Πhcurl is the canonical interpolation operator for Hh(curl) space, Avgrad is the matrix representation of discrete vector Laplacian defined on [Hh(grad)]n,grad is the discrete gradient operator, and Agrad is the matrix representation of the discrete scalar Laplacian defined on Hh(grad). Based on auxiliary space preconditioning framework, one can show that

κ(BcurlAcurl)C,

where κ(A) denotes the condition number of matrix A.

In practice, inverting Avgrad and Agrad might be expensive, especially for large scale problems. Therefore, we can replace their inversion by spectrally equivalent approximations, Bvgrad and Bgrad, respectively. And the HX preconditioner for H(curl) becomes Bcurl=Scurl+ΠhcurlBvgrad(Πhcurl)T+gradBgrad(grad)T.

HX Preconditioner for H(div)

Consider the following H(div) problem: Find uHh(div)

(divu,divv)+τ(u,v)=(f,v),vHh(div), with τ>0.

The corresponding matrix form is

Adivu=f.

The HX preconditioner for H(div) problem is defined as

Bdiv=Sdiv+ΠhdivAvgrad1(Πhdiv)T+curlAcurl1(curl)T,

where Sdiv is a smoother (e.g., Jacobi smoother, Gauss–Seidel smoother), Πhdiv is the canonical interpolation operator for H(div) space, Avgrad is the matrix representation of discrete vector Laplacian defined on [Hh(grad)]n, and curl is the discrete curl operator.

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

κ(BdivAdiv)C.

For Acurl1 in the definition of Bdiv, we can replace it by the HX preconditioner for H(curl) problem, e.g., Bcurl, since they are spectrally equivalent. Moreover, inverting Avgrad might be expensive and we can replace it by a spectrally equivalent approximations Bvgrad. These leads to the following practical HX preconditioner for H(div) problem,

Bdiv=Sdiv+ΠhdivBvgrad(Πhdiv)T+curlBcurl(curl)T=Sdiv+ΠhdivBvgrad(Πhdiv)T+curlScurl(curl)T+curlΠhcurlBvgrad(Πhcurl)T(curl)T.

Derivation

The derivation of HX preconditioners is based on the discrete regular decompositions for Hh(curl) and Hh(div), for the completeness, let us briefly recall them.

Theorem:[Discrete regular decomposition for Hh(curl)]

Let Ω be a simply connected bounded domain. For any function vhHh(curlΩ), there exists a vectorv~hHh(curlΩ), ψh[Hh(gradΩ)]3, phHh(gradΩ), such that vh=v~h+Πhcurlψh+gradph andh1v~h+ψh1+ph1vhH(curl)

Theorem:[Discrete regular decomposition for Hh(div)] Let Ω be a simply connected bounded domain. For any function vhHh(divΩ), there exists a vector v~hHh(divΩ) , ψh[Hh(gradΩ)]3, whHh(curlΩ), such that vh=v~h+Πhdivψh+curlwh, and h1v~h+ψh1+wh1vhH(div)

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

References

Template:Reflist

  1. Template:Cite journal
  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.