Magnetodynamics with cohomology conditions
\(\renewcommand{\vec}[1]{\mathbf{#1}} \newcommand{\Grad}[1]{\mathbf{\text{grad}}\,{#1}} \newcommand{\Curl}[1]{\mathbf{\text{curl}}\,{#1}} \newcommand{\Div}[1]{\text{div}\,{#1}} \newcommand{\Real}[1]{\text{Re}({#1})} \newcommand{\Imag}[1]{\text{Im}({#1})} \newcommand{\pvec}[2]{{#1}\times{#2}} \newcommand{\psca}[2]{{#1}\cdot{#2}} \newcommand{\E}[1]{\,10^{#1}} \newcommand{\Ethree}{{\mathbb{E}^3}} \newcommand{\Etwo}{{\mathbb{E}^2}} \newcommand{\Units}[1]{[\mathrm{#1}]} \)Here we represent and induction heating eddy current problem that utilizes the homology and cohomology solver of Gmsh.
Contents
Problem definition
The domain
Let $M \subset \mathbb{R}^3$ and let $\partial M = S_1 \cup S_2$ so that $\partial S_1 = \partial S_2 = S_1 \cap S_2$ denote the 3D modeling domain and its 2D boundary that is decomposed in two parts. Furthermore, the domain $M$ is decomposed in a conducting subdomain $M_c$ and a non-conducting subdomain $M_a$ so that $M = M_c \cup M_a$ and $M_c \cap M_a = \partial M_c \cap \partial M_a$ hold. We assume that $M$ is connected and has no holes nor voids, i.e. its Betti numbers are $b_0(M)$ = 1 and $b_1(M) = b_2(M) = 0$.
Topology of the modeling domain.
The boundary value problem
We solve time harmonic magnetoquasistatic approximation to the Maxwell's equations in $M$:
\begin{align} \Curl{\vec{h}} &= \vec{j}, \label{eq:ampere}\\ \Curl{\vec{e}} + i \omega \vec{b} &= 0 , \label{eq:faraday}\\ \Div{\vec{b}} &= 0 , \label{eq:gaussm}\\ \end{align} with constitutive equations \begin{align} \vec{b} &= \mu \vec{h} \label{eq:bmuh} , \\ \vec{e} &= \rho \vec{j} \label{eq:erhoj} . \end{align}
In order to treat the domain $M$ as a circuit element, we apply magnetic isolation at its boundary $\partial M$. This is achieved by the boundary condition \begin{align} \vec{b} \cdot \vec{n} = 0 \textrm{ on } \partial M. \label{eq:bn} \end{align}
In the non-conducting domain $M_a$ we have no currents: \begin{align} \Curl{\vec{h}} = 0 \textrm{ in } M_a, \label{eq:dh} \end{align} and the current does not pass from the conducting domain $M_c$ to the non-conducting domain $M_a$. Also, the current cannot pass through the boundary $\partial M$ to the non-conducting domain $M_a$. These considerations result the conditions \begin{align} \vec{j} \cdot \vec{n} = 0 \textrm{ on } \partial M_a \cap \partial M_c \textrm{ and on } M_a \cap \partial M \label{eq:jn} \end{align} is required to hold at their interface. The terminals on $M_c \cap \partial M$ which connect the inductor coil to an external circuit are modeled as equipotential surfaces, i.e. as perfectly conducting surfaces. Thus, we apply a boundary condition \begin{align} \vec{e} \times \vec{n} = 0 \textrm{ on } M_c \cap \partial M. \label{eq:et} \end{align}
$T-\Omega$ potential formulation
$A-V$ potential formulation
Implementation
Indheat.geo: problem geometry and cohomology computation in Gmsh
Direct link to file `Magnetodynamics/GMSH_GETDP/indheat.geo'
Indheat.pro: weak formulation in GetDP
Direct link to file `Magnetodynamics/GMSH_GETDP/indheat.pro'
How to use
All the files (.geo and .pro) must be located in the same directory.
- Meshing the domain and computing the cohomology
Go to the directory and then type:
gmsh indheat.geo -3
After the mesh is built, a file "indheat.msh" should have been created in the directory.
- Solving the problem with GetDP
In a Terminal, type (in the right directory)
getdp indheat.pro -solve MagDynTOComplex -pos MagDynTO
to solve with $T-\Omega$ formulation, or
getdp indheat.pro -solve MagDynAVComplex -pos MagDynAV
to solve with $A-V$ formulation.
- Showing the result
Open the file "jTO.pos" or "jAV.pos" with Gmsh by typing "gmsh jTO.pos" or "gmsh jAV.pos" in a terminal in the right directory.
Result
Boundary mesh of the conducting regions. Current density in the conducting regions.