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, Thermic and Electromagnetism problem coupled by Thermal Dilatation 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 only the Thermal Dilatation, please, put :
"bool_laplace":0,
"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 :
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 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 quart-torus of the conductor in cartesian coordinates \((x,y,z)\).
Geometry
|
Geometry loop on
Conductor |
The geometrical domains are :
-
Conductor: the quart-torus is composed by conductor material-
Interior: interior surface of conductor quart-torus -
Exterior: exterior surface of conductor quart-torus -
Upper: upper of conductor quart-torus -
Bottom: bottom of conductor quart-torus -
V0: the first bound of quart-torus -
V1: the second bound of quart-torus
-
-
Air: the air surroundConductor-
Infty: the surface ofAirat the infty -
OXOZ: the \(O_{xz}\) plan -
OYOZ: the \(O_{yz}\) plan
-
Symbol |
Description |
value |
unit |
\(r_{int}\) |
interior radius of quart-torus |
\(75e-3\) |
m |
\(r_{ext}\) |
exterior radius of quart-torus |
\(100.2e-3\) |
m |
\(z_1\) |
half-height of torus |
\(300e-3\) |
m |
\(r_{inf1}\) |
radius of first of |
\(6*r_{ext}\) |
m |
\(r_{inf2}\) |
radius of |
\(1.2*r_{inf1}\) |
m |
6. Boundary Conditions
We impose the boundary conditions :
-
For Electrical equation of unknow electric potential \(V\) :
-
On
V0: \(V = 0\) -
On
V1: \(V = \frac{1}{4} \left\{ \begin{matrix} t \text{ on } 0s \leq t < 1s \\ 1 \text{ on } 1s \leq t < 20s \\ t \text{ on } 20s \leq t \end{matrix} \right.\)
-
-
For Magnetic equation of unknow magnetic potential field \(\mathbf{A}\) :
-
On
OXOZandV0: \(A_x = A_z = 0\), we want \(\mathbf{A}\) orthogonal toOXOZandV0 -
On
OYOZandV1: \(A_y = A_z = 0\), we want \(\mathbf{A}\) orthogonal toOYOZandV1 -
Infty: We approximate the problem,Inftyis the physical infty thus \(\mathbf{B}=0\) atInftythus \(\mathbf{A} = 0\).
-
-
For Heat equation of unknow \(T\) :
-
On
V0,V1,UpperandBottom, we put Neumann condition \(\frac{\partial T}{\partial \mathbf{n}} = 0\) -
On
InteriorandExterior, we put Robin condition \(k \frac{\partial T}{\partial \mathbf{n}} = h \, \left( T - T_c \right)\). It represents the cooling by water.
-
-
For Elastic equation of unknow displacement \(u\) :
-
On
UpperandBottom, we put Strong Dirichlet condition : \(\mathbf{u} = 0\). The Dirichlet condition represents the embedding of mechanical part. -
On
InteriorandExterior, we put Neumann condition : \(\bar{\bar{\sigma}} \cdot \mathbf{n} = 0\). The Neumann condition represents the freedom of displacement. -
On
V_0, we put Component Strong Dirichlet : \(u_y = 0\). -
On
V_1, we put Component Strong Dirichlet : \(u_x = 0\).
-
The two Component Strong Dirichlet for Elastic equation represents the fact that the quart of torus is the simplification of a complete torus and because the problem is axisymmetric, the displacement must be on \(O_{rz}\) plan (here it’s \(O_{xz}\) for V0 and \(O_{yz}\) for V1).
|
On JSON file, the boundary conditions are writed :
"BoundaryConditions":
{
"magnetic":
{
"Dirichlet":
{
"Infty":
{
"expr":"{0,0,0}"
}
},
"Dirichlet_x":
{
"magdirx":
{
"markers":["V0","OXOZ"],
"expr":0
}
},
"Dirichlet_y":
{
"magdiry":
{
"markers":["V1","OYOZ"],
"expr":0
}
},
"Dirichlet_z":
{
"magdirz":
{
"markers":["V0","OXOZ","V1","OYOZ"],
"expr":0
}
}
},
"electric":
{
"Dirichlet":
{
"V0":
{
"expr":"V0:V0"
},
"V1":
{
"expr":"V1:V1"
}
}
},
"heat":
{
"Robin":
{
"Interior":
{
"expr1":"h:h",
"expr2":"h*T_c:h:T_c"
},
"Exterior":
{
"expr1":"h:h",
"expr2":"h*T_c:h:T_c"
}
}
},
"elastic":
{
"Dirichlet":
{
"V0":
{
"expr":"{0,0,0}"
},
"V1":
{
"expr":"{0,0,0}"
}
},
"Dirichlet_x":
{
"V1":
{
"expr":0
}
},
"Dirichlet_y":
{
"V0":
{
"expr":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":0,
"V0":0,
"V1":"1/4*0.2",
"h":80000, // W/m2/K
"T_c":293, // K
"T_i":293, // K
// 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
\(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
\(\begin{pmatrix} 0 \\ 0 \\ 0 \end{pmatrix}\)
On JSON file, the coefficients are writed :
"Materials":
{
"Conductor":
{
// Electric Part
"sigma":58e6, // S.m-1
"mu":"4*pi*1e-7", // kg.m/A2/S2
"magnetic_c":"1/mu:mu",
"magnetic_f":"{-sigma*electric_grad_V_0,-sigma*electric_grad_V_1,-sigma*electric_grad_V_2}:sigma:electric_grad_V_0:electric_grad_V_1:electric_grad_V_2",
"electric_c":"sigma:sigma",
// Thermic Part
"k":380, // W/m/K
"heat_c":"k:k",
"heat_f":"sigma*(electric_grad_V_0*electric_grad_V_0+electric_grad_V_1*electric_grad_V_1+electric_grad_V_2*electric_grad_V_2):sigma:electric_grad_V_0:electric_grad_V_1:electric_grad_V_2",
// Elastic Part
"E": 2.1e6,
"nu": 0.33,
"Lame_lambda":"E*nu/((1+nu)*(1-2*nu)):E:nu",
"Lame_mu": "E/(2*(1+nu)):E:nu",
"alpha_T":"17e-6",
"sigma_T":"-E/(1-2*nu)*alpha_T*(T-T0):E:nu:alpha_T:T:T0",
"F_laplace":"{-sigma*electric_grad_V_1*(magnetic_grad_A_10-magnetic_grad_A_01)+sigma*electric_grad_V_2*(-magnetic_grad_A_20+magnetic_grad_A_02),sigma*electric_grad_V_0*(magnetic_grad_A_10-magnetic_grad_A_01)-sigma*electric_grad_V_2*(magnetic_grad_A_21-magnetic_grad_A_12),-sigma*electric_grad_V_0*(-magnetic_grad_A_20+magnetic_grad_A_02)+sigma*electric_grad_V_1*(magnetic_grad_A_21-magnetic_grad_A_12)}:sigma:electric_grad_V_0:electric_grad_V_1:electric_grad_V_2:magnetic_grad_A_10:magnetic_grad_A_01:magnetic_grad_A_20:magnetic_grad_A_02:magnetic_grad_A_12:magnetic_grad_A_21",
"elastic_c": "Lame_mu:Lame_mu",
"elastic_gamma":"{-Lame_lambda*(elastic_div_u) - Lame_mu*elastic_grad_u_00 - bool_dilatation*sigma_T,-Lame_mu*elastic_grad_u_10,-Lame_mu*elastic_grad_u_20, -Lame_mu*elastic_grad_u_01,-Lame_lambda*(elastic_div_u) - Lame_mu*elastic_grad_u_11 - bool_dilatation*sigma_T,-Lame_mu*elastic_grad_u_21, -Lame_mu*elastic_grad_u_02,-Lame_mu*elastic_grad_u_12,-Lame_lambda*(elastic_div_u) - Lame_mu*elastic_grad_u_22 - bool_dilatation*sigma_T}:bool_dilatation:sigma_T:Lame_lambda:Lame_mu:elastic_div_u:elastic_grad_u_00:elastic_grad_u_01:elastic_grad_u_10:elastic_grad_u_11:elastic_grad_u_20:elastic_grad_u_21:elastic_grad_u_22:elastic_grad_u_02:elastic_grad_u_12",
"elastic_f":"{bool_laplace*F_laplace_0,bool_laplace*F_laplace_1,bool_laplace*F_laplace_2}:bool_laplace:F_laplace_0:F_laplace_1:F_laplace_2",
"sigma_xx":"(Lame_lambda+2*Lame_mu)*elastic_grad_u_00+Lame_lambda*elastic_grad_u_11+Lame_lambda*elastic_grad_u_22+bool_dilatation*sigma_T:bool_dilatation:Lame_lambda:Lame_mu:elastic_grad_u_00:elastic_grad_u_11:elastic_grad_u_22:sigma_T",
"sigma_yy":"Lame_lambda*elastic_grad_u_00+(Lame_lambda+2*Lame_mu)*elastic_grad_u_11+Lame_lambda*elastic_grad_u_22+bool_dilatation*sigma_T:bool_dilatation:Lame_lambda:Lame_mu:elastic_grad_u_00:elastic_grad_u_11:elastic_grad_u_22:sigma_T",
"sigma_zz":"Lame_lambda*elastic_grad_u_00+Lame_lambda*elastic_grad_u_11+(Lame_lambda+2*Lame_mu)*elastic_grad_u_22+bool_dilatation*sigma_T:bool_dilatation:Lame_lambda:Lame_mu:elastic_grad_u_00:elastic_grad_u_11:elastic_grad_u_22:sigma_T",
"sigma_xy":"Lame_mu*(elastic_grad_u_01+elastic_grad_u_10):Lame_mu:elastic_grad_u_01:elastic_grad_u_10",
"sigma_xz":"Lame_mu*(elastic_grad_u_02+elastic_grad_u_20):Lame_mu:elastic_grad_u_02:elastic_grad_u_20",
"sigma_yz":"Lame_mu*(elastic_grad_u_12+elastic_grad_u_21):Lame_mu:elastic_grad_u_12:elastic_grad_u_21"
}