Test Case of Elasto-Magnetism in Stationary and Axisymmetrical Case
1. Introduction
This page presents the simulation and result of page Elastic Equations with Electromagnetism and Thermic in Axisymmetrical case : Elastic and Electromagnetism problem coupled by Laplace Force in stationnary and axisymmetrical case.
2. Run the calculation
The command line to run this case is :
mpirun -np 16 feelpp_toolbox_coefficientformpdes --config-file=elasto-thermo-mag.cfg --cfpdes.gmsh.hsize=5e-3
To compute with the Laplace Force and the Thermal Dilatation, please, put :
"bool_laplace":1, "bool_dilatation":1,
On Parameter function of .json file elasto-thermo-mag.json.
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
4. Equation
In this subsection, we couple the equation (Static Elasticity Axis) of Elastic equation and (AV Axis) AV-Formulation in axisymmetrical coordinates.
The domain of resolution of electromagnetism part is \(\Omega^{axis}\) with bounds \(\Gamma^{axis}\), \(\Gamma_D^{axis}\) the bound of Dirichlet conditions and \(\Gamma_N^{axis}\) the bound of Neumann conditions such that \(\Gamma^{axis} = \Gamma_N^{axis} \cup \Gamma_D^{axis}\).
The domain of resolution of elastic part is \(\Omega_c^{axis} \subset \Omega^{axis}\) (and the domain of definition of electrical potential \(V\) and electrical conductivity \(\sigma\)) with bounds \(\Gamma_c^{axis}\), \(\Gamma_{D \hspace{0.05cm} elas}^{axis}\) the bound of Dirichlet conditions and \(\Gamma_{N \hspace{0.05cm} elas}^{axis}\) the bound of Neumann conditions such that \(\Gamma_c^{axis} = \Gamma_{D \hspace{0.05cm} elas}^{axis} \cup \Gamma_{N \hspace{0.05cm} elas}^{axis}\). The domain \(\Omega_c^{axis}\) correspond to the conductor.
With :
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
And notations :
-
Divergence of tensor : \(\nabla \cdot \bar{\bar{\sigma}} = \begin{pmatrix} \nabla \cdot \bar{\bar{\sigma}}_{r,:} + \frac{\bar{\bar{\sigma}}_{rr} - \bar{\bar{\sigma}}_{\theta \theta}}{r} \\ \nabla \cdot \bar{\bar{\sigma}}_{z,:} + \frac{\bar{\bar{\sigma}}_{rz}}{r} \end{pmatrix}\)
-
Scalar produce of tensor : \(\bar{\bar{\sigma}} \cdot \mathbf{n} = \begin{pmatrix} \bar{\bar{\sigma}}_{r,:} \cdot \mathbf{n}^{axis} \\ \bar{\bar{\sigma}}_{z,:} \cdot \mathbf{n}^{axis} \end{pmatrix} = \begin{pmatrix} \bar{\bar{\sigma}}_{rr} \, n_r + \bar{\bar{\sigma}}_{rz} \, n_z \\ \bar{\bar{\sigma}}_{zr} \, n_r + \bar{\bar{\sigma}}_{zz} \, n_z\end{pmatrix}\)
The equation become coupled in one senses, the second equation (Elas-1 Axis) depends of potentials. |
We don’t care of geometrical deformation which can change the mesh or the density. We suppose the geometry is fixed. |
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 |
\(300e-3\) |
m |
\(r_{infty}\) |
radius of infty border |
\(5*r_{ext}\) |
m |
6. Boundary Conditions
We impose the boundary conditions :
-
Magnetic Equation :
-
Strong 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)
-
-
-
Heat Equation :
-
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
. The Robin condition represents the cooling by water.
-
-
Elastic Equation :
-
Strong Dirichlet : \(\mathbf{u} = 0\) on
Upper
andBottom
. The Dirichlet condition represents the embedding of mechanical part. -
Neumann : \(\bar{\bar{\sigma}} \cdot \mathbf{n} = 0\) on
Interior
andExterior
. The Neumann condition represents the freedom of displacement.
-
On JSON file, the boundary conditions are writed :
"BoundaryConditions": { "magnetic": { "Dirichlet": { "magdir": { "markers":["ZAxis","Infty"], "expr":"0" } } }, "heat": { "Robin": { "heatdir": { "markers":["Interior","Exterior"], "expr1":"h*x:h:x", "expr2":"h*T_c*x:h:T_c:x" } } }, "elastic": { "Dirichlet": { "elasdir": { "markers":["Upper","Bottom"], "expr":"{0,0}" } } } }
7. Weak Formulation
We obtain :
8. Parameters
The parameters of problem are :
-
On
Conductor
:
Symbol |
Description |
Value |
Unit |
\(V_0\) |
scalar electrical potential on |
\(0\) |
\(Volt\) |
\(V_1\) |
scalar electrical potential on |
\(\frac{1}{4} \times 0.2\) |
\(Volt\) |
\(\sigma\) |
electrical conductivity |
\(58e6\) |
\(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_0\) |
temperature of reference or rest temperature |
\(293\) |
\(K\) |
\(E\) |
Young Modulus |
\(2.1e6\) |
\(Pa\) |
\(\nu\) |
Poisson’s coefficient |
\(0.33\) |
\(dimensionless\) |
\(Lame\_\lambda\) |
Lame’s coefficient |
\(\frac{E \, v}{(1-2v)(1+v)}\) |
\(Pa\) |
\(Lame\_\mu\) |
Lame’s coefficient |
\(\frac{E}{2 (1+v)}\) |
\(Pa\) |
\(\alpha_T\) |
linear coefficient of dilatation |
\(17e-6\) |
\(K^{-1}\) |
\(\sigma_T = -\frac{E}{1-2*nu} alpha_T (T-T0)\) |
thermal dilatation term |
\(\frac{E}{2 (1+v)}\) |
\(Pa\) |
-
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": { "bool_laplace":1, "bool_dilatation":1, "h":80000, // W/m2/K "T_c":293, // K "T0":293, // K // Constants of analytical solve "a":77.32, // K "b":0.40041, // K "rmax":0.0861910719118454, // m "Tmax":295.85 // 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
\(c\)
diffusion coefficient
\(\frac{1}{\mu}\)
\(f\)
source term
\(- \sigma \, \nabla V\)
-
On
Air
:
Coefficient
Description
Expression
\(c\)
diffusion coefficient
\(\frac{1}{\mu}\)
-
-
For heat equation, on
Conductor
(the temperature isn’t computed onAir
)
Coefficient |
Description |
Expression |
\(c\) |
diffusion coefficient |
\(k\) |
\(f\) |
source term |
\(\sigma \Vert \nabla V \Vert\) |
-
For elastic equation, on
Conductor
(the displacement isn’t computed onAir
) :Coefficient
Description
Expression
\(c\)
diffusion coefficient
\(Lame\_\mu\)
\(\gamma\)
conservative flux source term
\(\begin{pmatrix} - Lame\_\lambda \nabla \cdot \mathbf{u} - Lame\_\mu \frac{\partial u_x}{\partial x} - \sigma_T & -Lame\_\mu \frac{\partial u_y}{\partial x} & -Lame\_\mu \frac{\partial u_z}{\partial x} \\ -Lame\_\mu \frac{\partial u_x}{\partial y} & - Lame\_\lambda \nabla \cdot \mathbf{u} - Lame\_\mu \frac{\partial u_y}{\partial y} - \sigma_T & -Lame\_\mu \frac{\partial u_z}{\partial y} \\ -Lame\_\mu \frac{\partial u_x}{\partial z} & -Lame\_\mu \frac{\partial u_y}{\partial z} & - Lame\_\lambda \nabla \cdot \mathbf{u} - Lame\_\mu \frac{\partial u_z}{\partial z} - \sigma_T \end{pmatrix}\)
\(f\)
source term
\(\mathbf{F_{laplace}} = \begin{pmatrix} \frac{\partial V}{\partial y} \left( \frac{\partial A_y}{\partial x} - \frac{\partial A_x}{\partial y} \right) + \frac{\partial V}{\partial z} \left( - \frac{\partial A_z}{\partial y} + \frac{\partial A_y}{\partial z} \right) \\ \frac{\partial V}{\partial x} \left( \frac{\partial A_y}{\partial x} - \frac{\partial A_x}{\partial y} \right) - \frac{\partial V}{\partial z} \left( - \frac{\partial A_z}{\partial y} + \frac{\partial A_y}{\partial z} \right) \\ \frac{\partial V}{\partial x} \left( -\frac{\partial A_z}{\partial x} + \frac{\partial A_x}{\partial z} \right) + \frac{\partial V}{\partial y} \left( \frac{\partial A_z}{\partial y} - \frac{\partial A_y}{\partial z} \right) \end{pmatrix}\)
On JSON file, the coefficients are writed :
"Materials": { "Conductor": { // Magnetic Part "U":0.2, // Volt "sigma":58e+6, // S.m-1 "mu":"4*pi*1e-7", // kg.m/A2/S2 "j_th":"-sigma*U/2/pi/x:sigma:U:x", "magnetic_c":"x/mu:x:mu", "magnetic_beta":"{2/mu,0}:mu", "magnetic_f":"-sigma*U/2/pi*x:sigma:U:x", // Heat Part "k":380, // W/m/K "heat_c":"k*x:k:x", "heat_f":"sigma*U/(2*pi)*U/(2*pi)/x:sigma:U:x", // Elastic Part "E":2.1e6, // Pa "v":0.33, // dimensionless "alpha_T":"17e-6", // K-1 "Lame_lambda":"E*v/(1-2*v)/(1+v):E:v", "Lame_mu":"E/(2*(1+v)):E:v", "F_laplace":"{1/x*j_th*magnetic_grad_phi_0, 1/x*j_th*magnetic_grad_phi_1}::x:j_th:magnetic_grad_phi_0:magnetic_grad_phi_0:magnetic_grad_phi_1", "sigma_T":"-(3*Lame_lambda+2*Lame_mu)*alpha_T*(heat_T-T0):Lame_lambda:Lame_mu:alpha_T:heat_T:T0", "elastic_c":"x*Lame_mu:x:Lame_mu", "elastic_gamma":"{-Lame_lambda*(x*elastic_grad_u_00+elastic_u_0+x*elastic_grad_u_11)-x*Lame_mu*elastic_grad_u_00-bool_dilatation*x*sigma_T, -x*Lame_mu*elastic_grad_u_10, -x*Lame_mu*elastic_grad_u_01, -Lame_lambda*(x*elastic_grad_u_00+elastic_u_0+x*elastic_grad_u_11)-x*Lame_mu*elastic_grad_u_11-bool_dilatation*x*sigma_T}:bool_dilatation:x:Lame_lambda:Lame_mu:elastic_u_0:elastic_grad_u_00:elastic_grad_u_01:elastic_grad_u_10:elastic_grad_u_11:sigma_T", "elastic_f":"{bool_laplace*x*F_laplace_0-Lame_lambda*elastic_grad_u_00-(Lame_lambda+2*Lame_mu)*elastic_u_0/x-Lame_lambda*elastic_grad_u_11-bool_dilatation*sigma_T, bool_laplace*x*F_laplace_1}:bool_laplace:bool_dilatation:x:F_laplace_0:F_laplace_1:Lame_mu:Lame_lambda:elastic_u_0:elastic_grad_u_00:elastic_grad_u_01:elastic_grad_u_11:sigma_T", "sigma_rr":"(Lame_lambda+2*Lame_mu)*elastic_grad_u_00+Lame_lambda*elastic_u_0/x+Lame_lambda*elastic_grad_u_11+bool_dilatation*sigma_T:bool_dilatation:Lame_lambda:Lame_mu:x:elastic_u_0:elastic_grad_u_00:elastic_grad_u_11:elastic_grad_u_22:sigma_T", "sigma_thth":"Lame_lambda*elastic_grad_u_00+(Lame_lambda+2*Lame_mu)*Lame_lambda*elastic_u_0/x+Lame_lambda*elastic_grad_u_11+bool_dilatation*sigma_T:bool_dilatation:Lame_lambda:Lame_mu:x:elastic_u_0:elastic_grad_u_00:elastic_grad_u_11:elastic_grad_u_22:sigma_T", "sigma_zz":"Lame_lambda*elastic_grad_u_00+Lame_lambda*Lame_lambda*elastic_u_0/x+(Lame_lambda+2*Lame_mu)*elastic_grad_u_11+bool_dilatation*sigma_T:bool_dilatation:Lame_lambda:Lame_mu:x:elastic_u_0:elastic_grad_u_00:elastic_grad_u_11:elastic_grad_u_22:sigma_T", "sigma_rz":"Lame_mu*(elastic_grad_u_01+elastic_grad_u_10):Lame_mu:elastic_grad_u_01:elastic_grad_u_10", "sigma_1":"Lame_lambda/x*elastic_u_0+(Lame_lambda+Lame_mu)*(elastic_grad_u_00+elastic_grad_u_11)+bool_dilatation*sigma_T+Lame_mu*sqrt((elastic_grad_u_00-elastic_grad_u_11)*(elastic_grad_u_00-elastic_grad_u_11)+4*(elastic_grad_u_01+elastic_grad_u_10)*(elastic_grad_u_01+elastic_grad_u_10)):bool_dilatation:x:Lame_lambda:Lame_mu:elastic_u_0:elastic_grad_u_00:elastic_grad_u_11:elastic_grad_u_01:elastic_grad_u_10:sigma_T", "sigma_2":"Lame_lambda*elastic_grad_u_00+(Lame_lambda+2*Lame_mu)/x*elastic_u_0+Lame_lambda*elastic_grad_u_11+bool_dilatation*sigma_T:bool_dilatation:x:Lame_lambda:Lame_mu:elastic_u_0:elastic_grad_u_00:elastic_grad_u_11:sigma_T", "sigma_3":"Lame_lambda/x*elastic_u_0+(Lame_lambda+Lame_mu)*(elastic_grad_u_00+elastic_grad_u_11)+bool_dilatation*sigma_T-Lame_mu*sqrt((elastic_grad_u_00-elastic_grad_u_11)*(elastic_grad_u_00-elastic_grad_u_11)+4*(elastic_grad_u_01+elastic_grad_u_10)*(elastic_grad_u_01+elastic_grad_u_10)):bool_dilatation:x:Lame_lambda:Lame_mu:elastic_u_0:elastic_grad_u_00:elastic_grad_u_11:elastic_grad_u_01:elastic_grad_u_10:sigma_T" }, "Air": { "physics":"magnetic", "mu":"4*pi*1e-7", // kg.m/A2/s2 "magnetic_c":"x/mu:x:mu", "magnetic_beta":"{2/mu,0}:mu" } }