On a disk, the constant-coefficient Neumann problem separates in polar coordinates: Fourier modes in the angle, and one ordinary differential equation along the radius per mode. The finite element version of this needs no special elements. It only needs a mesh that is invariant under a rotation, and it gives a fast solver and a preconditioner for the Weighted Stiffness Matrix , like the transform methods of Fast Solvers on Rectangular Domains.

Rotationally symmetric meshes

Take a centre node and rings of nodes at radii and angles . Connect the centre to the first ring by a fan of triangles and split every quadrilateral between two rings along the same diagonal. The mesh is then invariant under the rotation by , which maps node to . The radii are arbitrary: they can be graded towards the boundary, where EIT sensitivity and the singularities at electrode edges are concentrated (see Decay of Boundary Measurements, Complete Electrode Model). For electrodes covering the fraction of the boundary, a multiple of puts the electrode edges on nodes.

With the same number of nodes on every ring, elements become long and thin near the centre and, with boundary grading, near the boundary. For linear elements this is harmless for the approximation, as long as no angle approaches . It does make the matrix strongly anisotropic, and that degrades Algebraic Multigrid. The transform solver below is exact for any radii and is not affected.

Block-circulant structure

Order the unknowns ring by ring, . Invariance under means that the stiffness matrix (constant conductivity) couples and only through , and the offset :

with blocks , . Only neighbouring angles couple, so , and only neighbouring rings, so every is tridiagonal. The discrete Fourier transform in ,

block-diagonalises , as for every circulant matrix:

a Hermitian tridiagonal system for each angular mode . For real data the modes and are complex conjugate, so suffice (real FFT). A solve costs one FFT per ring, per mode and one inverse FFT: in total.

The centre node and the constants

The centre node couples with the same weight to all nodes of a ring, so it enters only mode . Mode also contains the null space of the Neumann problem, the constants (see Null Space of the Neumann Problem). It is solved together with the centre value and the grounding as a bordered system:

The result is the Moore–Penrose pseudo-inverse : the mean-zero solution for data orthogonal to the constants. Other groundings follow by subtracting a constant (see Grounding of the Potential).

Preconditioning, electrodes and Dirichlet problems

Everything else carries over from Fast Solvers on Rectangular Domains, which needs only a fast that is exact on the range of :

  • Variable conductivity. is a preconditioner with condition number at most on every mesh.
  • Contact terms and constrained nodes. The contact terms of the complete electrode model and the constrained nodes of voltage-driven problems enter through the bordered capacitance system.
  • Electrode voltages. These are eliminated with a small Schur complement.

The electrodes need not respect the rotational symmetry: only is required to be circulant.

The blocks , and can be read off the assembled stiffness matrix. Every entry must then agree with its rotated copies, which verifies the symmetry of a given mesh at the same time.

General domains

The disk is the model domain for every simply connected planar domain. A conformal map from the disk onto the domain keeps the conductivity equation isotropic in two dimensions (see Conformal Invariance of the Conductivity Equation). Mapping the nodes of a polar mesh by gives a mesh of the domain with the same connectivity (see Numerical Conformal Mapping). Its stiffness matrix is spectrally equivalent to the one of the disk mesh, with constants that tend to under refinement. The disk solver is therefore an equally good preconditioner there, while the problem itself (electrodes, conductivity, data) is posed on the physical domain.

In ModularEIT.jl: PolarPreconditioner, polar_preconditioner, polar_grid, fast_neumann_solve.

References

  1. M.-C. Lai, W.-C. Wang (2001). Fast direct solvers for Poisson equation on 2D polar and spherical geometries. Numer. Methods Partial Differ. Equ. 18(1), 56–68. doi:10.1002/num.1038
  2. P. N. Swarztrauber (1974). A Direct Method for the Discrete Solution of Separable Elliptic Equations. SIAM J. Numer. Anal. 11(6), 1136–1150. doi:10.1137/0711086
  3. T. F. Chan (1988). An Optimal Circulant Preconditioner for Toeplitz Systems. SIAM J. Sci. Stat. Comput. 9(4), 766–771. doi:10.1137/0909051