Test case of Thermo-Magnetism with Linear Coefficients in Axisymmetrical case
1. Introduction
This page presents the simulation of electromagnetism in A-V Formulation coupled with thermic problem on geometry of torus in transient case in axisymmetrical case with CFPDEs application.
2. Run the calculation
The command line to run this case is :
mpirun -np 4 feelpp_toolbox_coefficientformpdes --config-file=thermo-mag.cfg --cfpdes.gmsh.hsize=1e-3
To run the case with adaptative time-step :
sh feelpp_adaptative.sh
3. Data Files
The case data files are available in Github here :
-
CFG file - Edit the file
-
JSON file - Edit the file
-
GEO file - Edit the file
-
SH script for adaptative time-step - Edit the file
4. Equation
-
With \(\Phi = r \, A_{\theta}\)
5. Geometry
The geometry is a torus of the conductor in cartesian coordinates \((x,y,z)\) or rectangle in axisymmetric coordinates \((r,z)\), surrounded by air.
Geometry in axisymmetrical cut loop on Conductor
|
Geometry in axisymmetrical cut
|
Geometry in three dimensions
|
Geometry in three dimensions cut loop on Conductor
|
The geometrical domains are :
-
Conductor
: the torus is composed by conductor material-
Interior
: interior surface of conductor ring -
Exterior
: exterior surface of conductor ring -
Upper
: upper of conductor ring -
Bottom
: bottom of conductor ring
-
-
Air
: the air surroundConductor
-
zAxis
: a bound ofAir
, correspond to \(Oz\) axis (\(\{(z,r), \, z=0 \}\)) -
infty
: the rest of bound ofAir
-
Symbol |
Description |
value |
unit |
\(r_{int}\) |
interior radius of torus |
\(75e-3\) |
m |
\(r_{ext}\) |
exterior radius of torus |
\(100.2e-3\) |
m |
\(z_1\) |
half-height of torus |
\(25e-3\) |
m |
6. Initial/Boundary Conditions
We impose the boundary conditions :
-
Dirichlet :
-
On
zAxis
: \(\Phi = 0\) (\(A_{\theta} = 0\) by symetric argument) -
On
infty
: \(\Phi = 0\) (\(A_{\theta} = 0\) we consider the bound of resolution like infty for magnetic field)
-
-
Neumann : \(\frac{\partial T}{\partial \mathbf{n}} = 0\) on
Interior
andExterior
-
Robin : \(-k \, \frac{\partial T}{\partial \mathbf{n}} = h \, \left( T - T_c \right)\) on
Upper
andBottom
We initialize :
-
On
Conductor
\(\Phi(t=0,r,z) = 0\) (\(A_{\theta}(t=0,r,z) = 0\)) and \(T(t=0,r,z) = T_i\) -
On
Air
\(\Phi(t=0,r,z) = 0\) (\(A_{\theta}(t=0,r,z) = 0\))
On JSON file, the boundary conditions are writed :
"BoundaryConditions": { "magnetic": { "Dirichlet": { "ZAxis": { "expr":"0" }, "Infty": { "expr":"0" } } }, "heat": { "Robin": { "Interior": { "expr1":"h*x:h:x", "expr2":"h*T_c*x:h:T_c:x" }, "Exterior": { "expr1":"h*x:h:x", "expr2":"h*T_c*x:h:T_c:x" } } } }
On JSON file, the intial conditions are writed : .Initial conditions on JSON file
"InitialConditions": { "temperature": { "Expression": { "myic": { "markers":"Conductor", "expr":"T_i:T_i" } } } }
7. Weak Formulation
We obtain :
With \(\tilde{\nabla} = \begin{pmatrix} \frac{\partial}{\partial r} \\ \frac{\partial}{\partial z} \end{pmatrix}\)
8. Parameters
The parameters of problem are :
-
On
Conductor
:
Symbol |
Description |
Value |
Unit |
\(V\) |
scalar electrical potential |
\( U \, \frac{\theta}{2\pi}\) |
\(Volt\) |
\(U\) |
electrical potential |
\(\left\{ \begin{matrix} t \text{ on } 0s \leq t \leq 1s \\ 1 \text{ on } 1s \leq t \leq 20s \\ 0 \text{ on } 20s \leq t \leq 22s \end{matrix} \right.\) |
\(Volt\) |
\(\sigma\) |
electrical conductivity |
\(4.8e7\) |
\(S/m\) |
\(\mu=\mu_0\) |
magnetic permeability of vacuum |
\(4\pi.10^{-7}\) |
\(kg \, m / A^2 / S^2\) |
\(k\) |
thermal conductivity |
\(380\) |
\(W/m/K\) |
\(C_p\) |
thermal capacity |
\(380\) |
\(J/K/kg\) |
\(\rho\) |
density |
\(10000\) |
\(kg/m^3\) |
\(h\) |
convective coefficient |
\(80000\) |
\(W/m^2/K\) |
\(T_c\) |
cooling temperature |
\(293\) |
\(K\) |
\(T_i\) |
initial temperature |
\(293\) |
\(K\) |
-
On
Air
:
Symbol |
Description |
Value |
Unit |
\(\mu=\mu_0\) |
magnetic permeability of vacuum |
\(4\pi.10^{-7}\) |
\(kg \, m / A^2 / S^2\) |
On JSON file, the parmeters are writed :
"Parameters": { "h":80000, // W*m-2*K-1 "T_c":293, // K "T_i":293, // K "U":"t/1.*(t<1.)+(t<20.)*(t>1.):t", // Volt // Constants of analytical solve "a":1933.10, // K "b":0.40041, // K "rmax":0.0861910719118454, // m "Tmax":364.446 // K }
9. Coefficient Form PDEs
We use the application Coefficient Form PDEs. The coefficient associate to Weak Formulation are :
-
For MQS equation (Weak MQS Axis) :
-
On
Conductor
:
Coefficient
Description
Expression
\(d\)
damping or mass coefficient
\(\sigma\)
\(c\)
diffusion coefficient
\(\frac{r}{\mu}\)
\(\beta\)
convection coefficient
\(\begin{pmatrix} \frac{2}{\mu} \\ 0 \end{pmatrix}\)
\(f\)
source term
\(- \sigma \frac{U}{2\pi} \, r\)
-
On
Air
:
Coefficient
Description
Expression
\(c\)
diffusion coefficient
\(\frac{r}{\mu}\)
-
-
For heat equation (Weak Heat Axis), on
Conductor
(the temperature isn’t computed onAir
) :Coefficient
Description
Expression
\(d\)
damping or mass coefficient
\(\rho \, C_p\)
\(c\)
diffusion coefficient
\(k\)
\(f\)
source term
\(\sigma \left( \frac{U}{2\pi} \right)^2 \frac{1}{r}\)
On JSON file, the coefficients are writed :
"Materials": { "Conductor": { "sigma":58e+6, // S.m-1 "mu":"4*pi*1e-7", // kg.m/A2/S2 "magnetic_c":"x/mu:x:mu", "magnetic_beta":"{2/mu,0}:mu", "magnetic_f":"-sigma*U/2/pi*x:sigma:U:x", "magnetic_d":"sigma*x:x:sigma", "k":380, // W/m/K "rho":10000, // kg/m3 "Cp":380, // J/K/kg "heat_c":"k*x:k:x", "heat_f":"sigma*(U/(2*pi)+magnetic_dphi_dt)*(U/(2*pi)+magnetic_dphi_dt)/x:sigma:U:magnetic_dphi_dt:x", "heat_d":"rho*Cp*x:rho:Cp:x" }, "Air": { "physics":"magnetic", "mu":"4*pi*1e-7", // kg.m/A2/s2 "magnetic_c":"x/mu:x:mu", "magnetic_beta":"{2/mu,0}:mu" } }
10. Numeric Parameters
This section show the parameters used to compute the simulation.
-
Size of mesh : \(1 \, mm\)
-
Time Parameters :
-
Time step : I use adaptative time step. Near of brutal changement of current, the time step is little, in other case, the time step is big. I put adaptative time step to have good precision near of changement (cut of current at \(t=22s\)) and to not explose the time of compute. The shell script feelpp_adaptative.sh implements that.
\(\Delta_t = \left\{ \begin{matrix} 0.1s \, \text{for} \, 0s<t<0.9s \\ 0.008s \, \text{for} \, 0.9s<t<1.1s \\ 0.1s \, \text{for} \, 1.1s<t<19.9s \\ 0.008s \, \text{for} \, 19.9s<t<20.1s \\ 0.1 \, \text{for} \, 20.1s<t<22s \end{matrix} \right.\)
-
Initial Time : \(0 \, s\)
-
Final Time : \(22 \, s\)
-
-
Element type : \(P2\) for magnetic equation (\(\mathbf{A}\) and \(P1\) heat equation (\(T\))
Mesh of Geometry
|
11. Exact solutions
11.1. Intensity
In this subsection, we see the analytical compute of intensity.
We have :
In stationary case we have \(U = R \, I\). |
And :
-
Resolution of first part (\(0s \leq t \leq 1s\)) :
The homogenous equation \(R \, I_0 + L \, \frac{dI_0}{dt} = 0\) have a solve : \(I_0(t) = e^{-\frac{R}{L}t}\)
We pose \(C(t)\), such that \(I(t) = C(t) \, I_0(t) = C(t) \, e^{-\frac{R}{L}t}\) is solution of equation (Intensity-1).
Thus :
Thus :
-
Resolution of second part (\(1s \leq t \leq 20s\)) :
An evident solution is :
-
Resolution of third part (\(20s \leq t\)) :
An evident solution is :
To conclude, we have :
This solution is compute with python script.
12. Result
The analytical solve of potential magnetic field and magnetic field (the cyan curve on plots) is computed by python3’s module MagnetTools.MagnetTools
. The module based on paper : spire.
The analytical solve of intensity (and magnetic field) is computed on python3’s script Edit the file.
12.1. Intensity
Feelpp compute in post-process, the intensity of circuit :
The intensity verify the equation :
With \(R\) the resistance of torus of conductor and \(L\) the inductance of conductor.
In case of a rectangular cross section \((r_{int},r_{ext}) \times (z_1,z_2)\) torus, we can show that :
We have the value :
Symbol |
Description |
Value |
Unit |
R |
resistance of torus |
\(7.5313 \times 10^{-6}\) |
Ohm |
L |
inductance of torus |
\(1.9204 \times 10^{-7}\) |
Henry |
The exact solution is (see the subsection Intensity for more detail) :
Intensity of current \(I(A)\)
|
In stationary case, we have the Ohm law :
With this relation, we have theorycal intensity : \(I_{th} = \frac{U}{R} = -132779 \, A\). And with numeric solve, we have \(I_{num} = -1.3376228966881469e+05 \, A\), so an error of \(7.4e-3 \, A\).
12.2. Magnetic field \(B_z\)
Recall, with axisymmetric condition :
Thus \(B_z = \frac{1}{r} \frac{\partial \Phi}{\partial r} \).
-
On \(Or\) axis at \(t=20s\)
Horizontal Magnetic Field \(B_z(T)\) on Or
|
-
On origin \((0,0,0)\) across the time
"Horizontal Magnetic Field \(B_z(T)\)
|
-
Magnetic Field across the time :
Horizontal Magnetic Field \(B_z(T)\)
|