What youβll learn
Domain decomposition β splitting conducting and non-conducting regions for the H-π formulation.
Field decomposition β how H \boldsymbol{H} H , Ο \varphi Ο , and cohomology source fields H s \boldsymbol{H}_s H s β fit together.
Boundary conditions β Neumann terms and constraints for H c \boldsymbol{H}_c H c β and Ο \varphi Ο .
Weak formulation β the coupled variational equations used for HTS and electric motor simulations.
This page describes the H-π mixed formulation used for magnetoquasistatic problems that combine conducting and non-conducting domains. The formulation decomposes the magnetic field into edge-element and scalar-potential parts, enabling efficient solution of superconductor and electric motor simulations. The weak formulation is stated up front; the full derivation is at the end of this page.
The weak form solved by Allsolve consists of two coupled variational equations:
β« Ξ© Ο ( β Γ H ) β
( β Γ H β² ) + β t ( ΞΌ H ) β
H β² Β d V + β« β Ξ© c ( n Γ E ) β
H β² Β d A = 0 β« Ξ© ( ΞΌ H ) β
( β Ο β² ) Β d V β β« β Ξ© ( n β
B ) β
Ο β² Β d A = 0 \begin{align*}
\int_\Omega \rho(\nabla \times \boldsymbol{H})\cdot (\nabla \times \boldsymbol{H}') +\partial_t(\mu\boldsymbol{H})\cdot\boldsymbol{H}'~\rm{d}V+\int_{\partial \Omega_c} (\boldsymbol{n} \times \boldsymbol{E})\cdot\boldsymbol{H}'~\rm{d}A &=0 \tag{1}\\
\int_\Omega (\mu \boldsymbol{H})\cdot (\nabla \varphi')~\rm{d}V-\int_{\partial\Omega}(\boldsymbol{n}\cdot \boldsymbol{B})\cdot \varphi' ~\rm{d}A&=0 \tag{2}
\end{align*} β« Ξ© β Ο ( β Γ H ) β
( β Γ H β² ) + β t β ( ΞΌ H ) β
H β² Β d V + β« β Ξ© c β β ( n Γ E ) β
H β² Β d A β« Ξ© β ( ΞΌ H ) β
( β Ο β² ) Β d V β β« β Ξ© β ( n β
B ) β
Ο β² Β d A β = 0 = 0 β ( 1 ) ( 2 ) β
where H \boldsymbol{H} H is decomposed into conducting and non-conducting parts, Ο \varphi Ο is the magnetic scalar potential, and the boundary integral terms are the Neumann boundary terms.
See Formulation derivation for the full strong-to-weak derivation, domain decomposition, and the expanded form used in Allsolve.
The formulation is derived from the magnetoquasistatic approximation of Maxwellβs equations:
β Γ E + β t B = 0 β Γ H = J β β
B = 0 \begin{align*}
\nabla \times \boldsymbol{E} +\partial_t \boldsymbol{B} &= \boldsymbol{0} \tag{3}\\
\nabla \times \boldsymbol{H} &= \boldsymbol{J} \tag{4}\\
\nabla \cdot \boldsymbol{B} &= \boldsymbol{0} \tag{5}
\end{align*} β Γ E + β t β B β Γ H β β
B β = 0 = J = 0 β ( 3 ) ( 4 ) ( 5 ) β
The electric field strength E \boldsymbol{E} E , the electric current density J \boldsymbol{J} J , the magnetic flux density B \boldsymbol{B} B and the magnetic field strength H \boldsymbol{H} H are paired by the constitutive relations as
B = ΞΌ H E = Ο J , \begin{align*}
\boldsymbol{B}&=\mu \boldsymbol{H} \tag{6}\\
\boldsymbol{E}&=\rho \boldsymbol{J}, \tag{7}
\end{align*} B E β = ΞΌ H = Ο J , β ( 6 ) ( 7 ) β
where ΞΌ \mu ΞΌ is the magnetic permeability and Ο \rho Ο is the electric resistivity. Note that, ΞΌ \mu ΞΌ and Ο \rho Ο can depend on different quantities such as electromagnetic fields and temperature.
Express (3) \text{(3)} (3) and (5) \text{(5)} (5) in terms of H \boldsymbol{H} H using (4) \text{(4)} (4) , (6) \text{(6)} (6) , and (7) \text{(7)} (7) :
β Γ ( Ο Β β Γ H ) + β t ( ΞΌ H ) = 0 β β
( ΞΌ H ) = 0 \begin{align*}
\nabla \times (\rho~\nabla \times \boldsymbol{H})+\partial_t(\mu\boldsymbol{H})&=\boldsymbol{0} \tag{8}\\
\nabla \cdot (\mu\boldsymbol{H})&=\boldsymbol{0} \tag{9}
\end{align*} β Γ ( Ο Β β Γ H ) + β t β ( ΞΌ H ) β β
( ΞΌ H ) β = 0 = 0 β ( 8 ) ( 9 ) β
The H β Ο \boldsymbol{H}-\varphi H β Ο formulation is obtained by first decomposing the whole modeling domain Ξ© \Omega Ξ© into conducting domain Ξ© c \Omega_{c} Ξ© c β and non-conducting domain Ξ© n c \Omega_{nc} Ξ© n c β such that Ξ© = Ξ© c βͺ Ξ© n c \Omega=\Omega_{c} \cup \Omega_{nc} Ξ© = Ξ© c β βͺ Ξ© n c β .
Then, H \boldsymbol{H} H is decomposed as
H = { Ξ© c : H c β β Ο + H s Ξ© n c : β Ο + H s \boldsymbol{H}=\begin{cases}
\Omega_c: &\boldsymbol{H}_c-\nabla \varphi+\boldsymbol{H}_s\\
\Omega_{nc}: &\nabla \varphi + \boldsymbol{H}_s
\end{cases} H = { Ξ© c β : Ξ© n c β : β H c β β β Ο + H s β β Ο + H s β β
where Ο \varphi Ο is a scalar field and H c \boldsymbol{H}_c H c β is the magnetic field strength in the conducting domain. The cohomology source field H s \boldsymbol{H}_s H s β is used, for example, to impose the total current to the High Temperature Superconducting (HTS) tape. Moreover, H c \boldsymbol{H}_c H c β and H s \boldsymbol{H}_s H s β are interpolated with edge elements and Ο \varphi Ο with nodal elements.
Note that Ο \varphi Ο and H s \boldsymbol{H}_s H s β have degrees of freedom only in Ξ© n c \Omega_{nc} Ξ© n c β but their support is the whole Ξ© \Omega Ξ© . This allows the coupling of H \boldsymbol{H} H through the boundary of the conducting domain.
The scalar field Ο \varphi Ο should be made unique by constraining the value of Ο \varphi Ο to zero at a point on the boundary of Ξ© n c \Omega_{nc} Ξ© n c β .
To impose the boundary conditions for the vector field H c \boldsymbol{H}_c H c β :
H c \boldsymbol{H}_c H c β should be constrained to zero at parts of the β Ξ© c \partial \Omega_c β Ξ© c β where no current is desired to flow through.
At parts of β Ξ© c \partial \Omega_c β Ξ© c β , where current density is desired flow pass perpendicularly through the surface, the Neumann boundary term is zero.
To impose the boundary conditions for the scalar field Ο \varphi Ο :
Ο \varphi Ο should be constrained to zero at parts of the β Ξ© n c \partial \Omega_{nc} β Ξ© n c β where magnetic flux density is desired to flow perpendicularly through the surface.
At parts of β Ξ© n c \partial \Omega_{nc} β Ξ© n c β , where zero magnetic flux density is desired to pass through, the Neumann boundary term should be equal to zero.
The Neumann boundary term is explained in the following section.
To obtain the weak (variational) formulation, multiply (8) \text{(8)} (8) and (9) \text{(9)} (9) by the test function fields:
H β² = { Ξ© c : H c β² + β Ο β² + H s β² Ξ© n c : β Ο β² + H s β² \boldsymbol{H}'=\begin{cases}
\Omega_c: &\boldsymbol{H}_c'+\nabla \varphi'+\boldsymbol{H}_s'\\
\Omega_{nc}: &\nabla \varphi' + \boldsymbol{H}_s'
\end{cases} H β² = { Ξ© c β : Ξ© n c β : β H c β² β + β Ο β² + H s β² β β Ο β² + H s β² β β
and integrate over the whole modeling domain Ξ© \Omega Ξ© to obtain
β« Ξ© ( β Γ E ) β
H β² + β t ( ΞΌ H ) β
H β² Β d V = 0 β« Ξ© ( β β
ΞΌ H ) β
Ο β² Β d V = 0 \begin{align*}
\int_\Omega \left( \nabla \times \boldsymbol{E}\right )\cdot\boldsymbol{H}' +\partial_t(\mu\boldsymbol{H})\cdot\boldsymbol{H}'~\rm{d}V&=0 \tag{10}\\
\int_\Omega \left( \nabla \cdot \mu \boldsymbol{H}\right )\cdot\varphi'~\rm{d}V&=0 \tag{11}
\end{align*} β« Ξ© β ( β Γ E ) β
H β² + β t β ( ΞΌ H ) β
H β² Β d V β« Ξ© β ( β β
ΞΌ H ) β
Ο β² Β d V β = 0 = 0 β ( 10 ) ( 11 ) β
The final form of the weak formulation used in Allsolve is obtained using the Stokesβ theorem and the identities
( β Γ E ) β
H β² = β β
( E Γ H β² ) + E β
( β Γ H β² ) ( β β
B ) β
Ο β² = B β
( β Ο β² ) β β β
( B Ο β² ) \begin{align*}
(\nabla \times \boldsymbol{E})\cdot \boldsymbol{H}'&=\nabla \cdot (\boldsymbol{E} \times \boldsymbol{H}')+\boldsymbol{E}\cdot (\nabla \times \boldsymbol{H}') \tag{12}\\
\left( \nabla \cdot \boldsymbol{B}\right) \cdot\varphi'&=\boldsymbol{B}\cdot (\nabla \varphi')-\nabla \cdot (\boldsymbol{B}\varphi') \tag{13}
\end{align*} ( β Γ E ) β
H β² ( β β
B ) β
Ο β² β = β β
( E Γ H β² ) + E β
( β Γ H β² ) = B β
( β Ο β² ) β β β
( B Ο β² ) β ( 12 ) ( 13 ) β
to obtain the coupled equations stated at the top of this page.
The more detailed formulation is obtained by substituting the decompositions of H \boldsymbol{H} H and H β² \boldsymbol{H}' H β² into (1) \text{(1)} (1) and (2) \text{(2)} (2) to obtain
β« Ξ© c Ο ( β Γ H c + β Γ H s ) β
( β Γ H c β² + β Γ H s β² ) Β d V + β« Ξ© c ΞΌ β t ( H c + H s β β Ο ) β
( H c β² + H s β² ) Β d V + β« Ξ© n c ΞΌ β t ( H s β β Ο ) β
H s β² Β d V + β« Ξ© c ΞΌ ( H c + H s β β Ο ) β
( β Ο β² ) Β d V + β« Ξ© n c ΞΌ ( H s β β Ο ) β
( β Ο β² ) Β d V + β« β Ξ© c ( n Γ E ) β
( H c β² + H s β² ) Β d A + β β« β Ξ© ( n β
B ) β
Ο β² Β d A = 0 \begin{align*}
\int_{\Omega_c} \rho(\nabla \times \boldsymbol{H}_c+\nabla \times \boldsymbol{H}_s)\cdot (\nabla \times \boldsymbol{H}_c'+\nabla \times \boldsymbol{H}_s')~\rm{d}V &+ \tag{14}\\
\int_{\Omega_c} \mu\partial_t(\boldsymbol{H}_c+\boldsymbol{H}_s - \nabla \varphi)\cdot (\boldsymbol{H}_c'+\boldsymbol{H}_s')~\rm{d}V&+ \tag{15}\\
\int_{\Omega_{nc}} \mu\partial_t(\boldsymbol{H}_s - \nabla \varphi)\cdot \boldsymbol{H}_s'~\rm{d}V&+ \tag{16}\\
\int_{\Omega_{c}} \mu (\boldsymbol{H}_c+\boldsymbol{H}_s-\nabla\varphi)\cdot (\nabla \varphi')~\rm{d}V+\int_{\Omega_{nc}} \mu (\boldsymbol{H}_s-\nabla\varphi)\cdot (\nabla \varphi')~\rm{d}V&+ \tag{17}\\
\int_{\partial \Omega_c} (\boldsymbol{n} \times \boldsymbol{E})\cdot(\boldsymbol{H}_c'+\boldsymbol{H}_s')~\rm{d}A&+ \tag{18}\\-\int_{\partial\Omega}(\boldsymbol{n}\cdot \boldsymbol{B})\cdot \varphi' ~\rm{d}A&=0 \tag{19}
\end{align*} β« Ξ© c β β Ο ( β Γ H c β + β Γ H s β ) β
( β Γ H c β² β + β Γ H s β² β ) Β d V β« Ξ© c β β ΞΌ β t β ( H c β + H s β β β Ο ) β
( H c β² β + H s β² β ) Β d V β« Ξ© n c β β ΞΌ β t β ( H s β β β Ο ) β
H s β² β Β d V β« Ξ© c β β ΞΌ ( H c β + H s β β β Ο ) β
( β Ο β² ) Β d V + β« Ξ© nc β β ΞΌ ( H s β β β Ο ) β
( β Ο β² ) Β d V β« β Ξ© c β β ( n Γ E ) β
( H c β² β + H s β² β ) Β d A β β« β Ξ© β ( n β
B ) β
Ο β² Β d A β + + + + + = 0 β ( 14 ) ( 15 ) ( 16 ) ( 17 ) ( 18 ) ( 19 ) β
[1] Lahtinen, V., Stenvall, A., Sirois, F. et al. A Finite Element Simulation Tool for Predicting Hysteresis Losses in Superconductors Using an H-Oriented Formulation with Cohomology Basis Functions. J Supercond Nov Magn 28, 2345β2354 (2015)
[2] J. Ruuskanen et al., βModeling Eddy Current Losses in HTS Tapes Using Multiharmonic Method,β in IEEE Transactions on Applied Superconductivity, vol. 33, no. 5, pp. 1-5, Aug. 2023, Art no. 5900605
[3] Pellikka, Matti, et al. βHomology and cohomology computation in finite element modeling.β SIAM Journal on Scientific Computing 35.5 (2013): B1195-B1214.
[4] Accelerating superconductivity simulations with the H-π formulation