In mathematics, Hiptmair–Xu (HX) preconditioners[1] are preconditioners for solving
H(\operatorname{curl})
H(\operatorname{div})
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.
H(\operatorname{curl})
Consider the following
H(\operatorname{curl})
u\inHh(\operatorname{curl})
(\operatorname{curl}~u,\operatorname{curl}~v)+\tau(u,v)=(f,v), \forallv\inHh(\operatorname{curl}),
\tau>0
The corresponding matrix form is
A\operatorname{curl
The HX preconditioner for
H(\operatorname{curl})
B\operatorname{curl
where
S\operatorname{curl
\operatorname{curl | |
\Pi | |
h |
Hh(\operatorname{curl})
Avgrad
n | |
[H | |
h(\operatorname{grad})] |
grad
A\operatorname{grad
Hh(\operatorname{grad})
\kappa(B\operatorname{curl
where
\kappa(A)
A
In practice, inverting
Avgrad
Agrad
Bvgrad
B\operatorname{grad
H(\operatorname{curl})
B\operatorname{curl
H(\operatorname{div})
H(\operatorname{div})
u\inHh(\operatorname{div})
(\operatorname{div}u,\operatorname{div}v)+\tau(u,v)=(f,v), \forallv\inHh(\operatorname{div}),
\tau>0
The corresponding matrix form is
A\operatorname{div
The HX preconditioner for
H(\operatorname{div})
B\operatorname{div
where
S\operatorname{div
\operatorname{div | |
\Pi | |
h |
H(\operatorname{div})
Avgrad
n | |
[H | |
h(\operatorname{grad})] |
\operatorname{curl}
Based on the auxiliary space preconditioning framework, one can show that
\kappa(B\operatorname{div
For
A\operatorname{curl
B\operatorname{div
H(\operatorname{curl})
B\operatorname{curl
Avgrad
Bvgrad
H(\operatorname{div})
B\operatorname{div
The derivation of HX preconditioners is based on the discrete regular decompositions for
Hh(\operatorname{curl})
Hh(\operatorname{div})
Theorem:[Discrete regular decomposition for <math>H_h(\operatorname{curl})</math>]
Let
\Omega
vh\inHh(\operatorname{curl}\Omega)
\tilde{v}h\inHh(\operatorname{curl}\Omega)
\psih\in[Hh(\operatorname{grad}\Omega)]3
ph\inHh(\operatorname{grad}\Omega)
vh=\tilde{v}h+\Pi
\operatorname{curl | |
h |
\Verth-1\tilde{v}h\Vert+\Vert\psih\Vert1+\Vertph\Vert1\lesssim\Vertvh\VertH(\operatorname{curl)}
Theorem:[Discrete regular decomposition for <math>H_{h}(\operatorname{div})</math>]Let
\Omega
vh\inHh(\operatorname{div}\Omega)
\widetilde{v}h\inHh(\operatorname{div}\Omega)
\psih\in[Hh(\operatorname{grad}\Omega)]3,
wh\inHh(\operatorname{curl}\Omega),
vh=\widetilde{v}h+\Pi
\operatorname{div | |
h |
\Verth-1\widetilde{v}h\Vert+\Vert\psih\Vert1+\Vertwh\Vert1\lesssim\Vertvh\VertH(\operatorname{div)}
Based on the above discrete regular decompositions, together with the auxiliary space preconditioning framework, we can derive the HX preconditioners for
H(\operatorname{curl})
H(\operatorname{div})