# Three-Dimensional Wide-Band Electromagnetic Forward Modelling Using Potential Technique
## 2 Theory and Methodology
### Finite Volume Analysis  
In computing numerically, the partial differential equation (PDE), it is vital to discretize the model domain. Several numerical techniques can be adopted to solve the equation, but in our case, we applied the finite volume method (Figure 1) for the discretization of the models with the magnetic vector potential defined on the edge centre and electric scalar potential at the node.  
The discretized governing equation of the assembled (matrix) system of equations can be written as  
\[\mathbf{K}\mathbf{e}=\mathbf{b} \tag{9}\]  
where \(\mathbf{K}\) denotes the operators and the conductivity terms, \(\mathbf{e}\) represents the unknown parameters to be determined, and \(\mathbf{b}\) represents the source term. The effectiveness of the Krylov iterative solvers regarding its convergence is dependent on the condition number of the system matrix. Since the assembled system of Equation (9) is ill conditioned due to the conductivity contrasts between the  
Figure 1: The finite volume grid discretization for the system of equation.  
air-ground interface and the use of non-uniform discretized mesh. It is essential that we can enhance the performance of the linear system by applying a preconditioner to yield.  
\[\mathbf{M^{-1}Ke}=\mathbf{M^{-1}b} \tag{10}\]  
Here, the \(\mathbf{M^{-1}}\) represent the preconditioner incorporated into the linear system of equation. In this study we use the Matlab environment to implement the block ILU preconditioner and compared with other preconditioners such as the symmetric successive over-relaxation (SSOR) and symmetric Gauss Siedel (SGS).  
The block ILU preconditioner is suitable for the discretization of the partial differential equation in Equation (7) due to reordering of the coefficient matrix \(\mathbf{K}\) in block form.  
\[\mathbf{K}=\mathbf{L}+\mathbf{D}+\mathbf{U} \tag{11}\]  
The assembled matrix can be expressed in Equation (11). Where the \(\mathbf{D}\) denotes the block diagonal matrix of the diagonal blocks, \(\mathbf{L}\) represent the lower triangular matrix of the sub-diagonal blocks and \(\mathbf{U}\) denotes upper triangular matrix of the diagonal blocks. The merit of the block ILU preconditioner is that it enhances the calculation of the incomplete factorization and the triangular system solution. For the algorithm details of the block ILU, we refer the reader to [34].  
Numerous sets of iterative solvers can be implemented to solve a large linear system of equations. The most often used type are the [37] (quasi-minimum residual (QMR), and [38] (bi-conjugate gradient stabilizer (BiCGStab). Both iterative solver stated above are Lanczos-based methods and they utilize least storage in computing the matrix-vector product.  
\[\mathbf{err}=\parallel\mathbf{E_{ref}}-\mathbf{E}\parallel\div\parallel\mathbf{E_{ref}} \parallel\times 100; \tag{12}\]  
The calculation of the relative residual error (err) is shown in Equation (12). where \(\mathbf{E_{ref}}\) is an electric field from the analytical solution, and \(\mathbf{E}\) is the solution from the our finite volume method.  
\[\mathbf{rel}=\parallel\mathbf{b}-\mathbf{Ke}\parallel\div\parallel\mathbf{b}\parallel \tag{13}\]  
And the computation of the relative residual is indicated in Equation (13). The residual tolerance is \(10^{-8}\).