Classes:
1) BatchFLCAXI
2) SolverFLCAXI
3) ExactSolutionFLCAXI_PHI
4) SettingsFLCAXI
Files:
1) flc-axi/src/main.cpp
2) flc-axi/include/solver.hpp
3) flc-axi/src/solver.cpp
4) flc-axi/include/exact_solution.hpp
5) flc-axi/src/exact_solution.cpp
6) flc-axi/src/static_scalar_input.cpp
7) flc-axi/include/settings.hpp
In this numerical experiment we will test if the StaticScalarSolver::Solver class template can solve axisymmetric problems that involve floating conductors. To do so, we will solve the two problems of the Floating conductor (flc/) numerical experiment on axisymmetric problem domains. We expect that the electrostatic potential calculated in this numerical experiment will be identical to the electrostatic potential calculated in the Floating conductor (flc/) numerical experiment.
In this numerical experiment we will reuse the two textbook problems of the Floating conductor (flc/) numerical experiment. This time, however, these two textbook problems will be solved on two-dimensional axisymmetric domains.
We convert the first problem into an axisymmetric problem domain as shown in the figure below.
We remove the first and the second conductors from the problem domain and model them by setting up Dirichlet boundary conditions on the surfaces that delineate them. We replace the third conductor, i.e., the floating conductor, with a dielectric of a high permittivity. Consequently, the problem domain consists of three strips made of dissimilar dielectric materials with Dirichlet conditions applied on the boundaries horizontal boundaries. Due to the cylindrical symmetry in the initial three-dimensional problem we can predict that the electrostatic field will be directed radially from the axis of rotation, i.e., will be aligned with the vertical boundaries of the axisymmetric domain. For this reason, we apply the homogeneous Neumann boundary conditions on the two vertical boundaries.
We convert the second problem into an axisymmetric problem domain as shown in the figure below.
We remove the first and the second conductors from the problem domain and model them by setting up Dirichlet boundary conditions on the surfaces that delineate them. We replace the third conductor, i.e., the floating conductor, with a dielectric of a high permittivity. Consequently, the problem domain consists of three half-rings made of dissimilar dielectric materials with Dirichlet conditions applied on the curved boundaries. Due to the spherical symmetry in the initial three-dimensional problem we can predict that the electrostatic field will be directed radially from the center of the spheres, i.e., will be aligned with the vertical boundaries of the axisymmetric domain. For this reason, we apply the homogeneous Neumann boundary conditions on the two straight segments of the boundary.
This numerical experiment solves the following boundary value problem.
\begin{equation} \begin{array}{lrcll} \text{ }&- \vec{\nabla} \cdot \big( \epsilon \vec{\nabla} \Phi \big)= 0 & \text{in} & \Omega & \text{(i)},\\ \text{(e)} &\Phi = \Phi_0 & \text{on} & \Gamma_{D1} & \text{(ii)},\\ \text{(e)} &\Phi = 0 & \text{on} & \Gamma_{D2} & \text{(iii)},\\ \text{(n)} & \epsilon \hat{n} \cdot \vec{\nabla} \Phi = 0 & \text{on} & \Gamma_{R1} & \text{(iv)},\\ \text{(e)} &\Phi_{+} = \Phi_{-} & \text{on} & \Gamma_{I1} & \text{(v)},\\ \text{(n)}&\epsilon_{+}\hat{n}\cdot\vec{\nabla}\Phi_{+}-\epsilon_{-}\hat{n} \cdot\vec{\nabla}\Phi_{-}=0&\text{on}&\Gamma_{I1}&\text{(vi)},\\ \text{(e)} &\Phi_{+} = \Phi_{-} & \text{on} & \Gamma_{I2} & \text{(vii)},\\ \text{(n)}&\epsilon_{+}\hat{n}\cdot\vec{\nabla}\Phi_{+}-\epsilon_{-}\hat{n} \cdot\vec{\nabla}\Phi_{-}=0&\text{on}&\Gamma_{I2}&\text{(iix)}. \end{array} \end{equation}
This boundary value problem is a special case of the general static scalar boundary value problem.
This experiment is implemented in accordance with the base code structure. The build process generates two executable files: flc-axi-cylinder and flc-axi-sphere. That is, one executable file for the first problem above and one for the second. To rebuild them change into flc-axi/build/Release directory and execute the following:
Then all executable files must be executed again. This can be done by changing into the flc-axi/bin/Release directory and executing run-all script there,
This will generate various files in the flc-axi/bin/Release/Data directory. Among the generated files there are vtu files that can be viewed with a help of ParaView software package of the Kitware, Inc. The data files in tex and txt format contain the convergence tables.
Note that executable files require a set of meshes to be present in the flc-axi/gmsh/data directory. If they are missing, they can be generated anew. This can be done by changing into flc-axi/gmsh directory and executing the following:
This will generate a set of globally refined meshes in flc-axi/gmsh/data.
The SettingsFLCAXI class allows switching on three useful features: printing time tables on the computer screen, logging convergence data of the conjugate gradient solver, and saving the exact solution into the vtu files next to the numerical solution.
The program invokes first- and second-order mapping of the FE_Q finite elements when solving the first and the second problems, respectively.
Both problems above were solved numerically with the following settings (see SettingsFLCAXI): \(a = 0.4[m]\), \(b=1.0[m]\), \(d_1=0.6[m]\), \(d_2 = 0.8[m]\), \(\epsilon_1 = 32\epsilon_0\big[\frac{C^2}{Nm^2}\big]\), \(\epsilon_2 = 4\epsilon_0\big[\frac{C^2}{Nm^2}\big]\), and \(\epsilon_3 = 10^9 \epsilon_0\big[\frac{C^2}{Nm^2}\big]\).
The figures below illustrate the numerically calculated electrostatic potential. As expected, the potential is continuous on the interfaces, i.e., at \(x = 0.6[m]\) and at \(x = 0.8[m]\). The potential within the floating conductor is constant. The plot on the right allows a comparison between the results obtained on the two-dimensional planar domain (flc/ numerical experiment) and on the two-dimensional axisymmetric domain (flc-axi/ numerical experiment).
The corresponding convergence table is shown below.
p | r | cells | dofs | \(\|e\|_{L^2}\) | \(\alpha_{L^2}\) | \(\|e\|_{H^1}\) | \(\alpha_{H^1}\) |
---|---|---|---|---|---|---|---|
1 | 3 | 12 | 21 | 9.63e-04 | - | 2.88e-02 | - |
1 | 4 | 27 | 40 | 4.30e-04 | 1.99 | 1.92e-02 | 0.99 |
1 | 5 | 48 | 65 | 2.42e-04 | 1.99 | 1.44e-02 | 1.00 |
1 | 6 | 75 | 96 | 1.55e-04 | 2.00 | 1.15e-02 | 1.00 |
2 | 3 | 12 | 65 | 1.52e-05 | - | 9.85e-04 | - |
2 | 4 | 27 | 133 | 4.55e-06 | 2.98 | 4.42e-04 | 1.98 |
2 | 5 | 48 | 225 | 1.92e-06 | 2.99 | 2.49e-04 | 1.99 |
2 | 6 | 75 | 341 | 9.86e-07 | 2.99 | 1.60e-04 | 1.99 |
3 | 3 | 12 | 133 | 4.25e-07 | - | 3.99e-05 | - |
3 | 4 | 27 | 280 | 8.81e-08 | 3.88 | 1.21e-05 | 2.94 |
3 | 5 | 48 | 481 | 2.82e-08 | 3.96 | 5.15e-06 | 2.97 |
3 | 6 | 75 | 736 | 1.45e-07 | -7.34 | 2.76e-06 | 2.79 |
The following notations were used in the table header:
The figures below illustrate the numerically calculated electrostatic potential. As expected, the potential is continuous on the interfaces, i.e., at \(x = 0.6[m]\) and at \(x = 0.8[m]\). The potential within the floating conductor is constant. The plot on the right allows a comparison between the results obtained in the three-dimensional domain (flc/ numerical experiment) and in the two-dimensional axisymmetric domain (flc-axi/ numerical experiment).
The corresponding convergence table is shown below.
p | r | cells | dofs | \(\|e\|_{L^2}\) | \(\alpha_{L^2}\) | \(\|e\|_{H^1}\) | \(\alpha_{H^1}\) |
---|---|---|---|---|---|---|---|
1 | 3 | 48 | 63 | 7.39e-03 | - | 2.00e-01 | - |
1 | 4 | 108 | 130 | 3.33e-03 | 1.97 | 1.33e-01 | 0.99 |
1 | 5 | 192 | 221 | 1.88e-03 | 1.98 | 1.00e-01 | 1.00 |
1 | 6 | 300 | 336 | 1.20e-03 | 1.99 | 8.02e-02 | 1.00 |
2 | 3 | 48 | 221 | 1.84e-04 | - | 1.13e-02 | - |
2 | 4 | 108 | 475 | 5.34e-05 | 3.05 | 5.06e-03 | 1.98 |
2 | 5 | 192 | 825 | 2.24e-05 | 3.03 | 2.85e-03 | 1.99 |
2 | 6 | 300 | 1271 | 1.14e-05 | 3.02 | 1.83e-03 | 1.99 |
3 | 3 | 48 | 475 | 7.49e-05 | - | 1.92e-03 | - |
3 | 4 | 108 | 1036 | 1.52e-05 | 3.93 | 5.58e-04 | 3.05 |
3 | 5 | 192 | 1813 | 4.92e-06 | 3.93 | 2.32e-04 | 3.05 |
3 | 6 | 300 | 2806 | 2.07e-06 | 3.87 | 1.18e-04 | 3.05 |
The following notations were used in the table header: