Boundary Element Method (BEM) SolversThe 3D solvers used and developed within the Elfi-Project are based on the Boundary Element Method.
CasoptCasopt is a derivate of the Polopt solver initiated by Zoran Andjelic in the early 1980s [3.1] and continued at TU Munich within the Polopt-Project. The name Casopt originates from an EU project that has been performed significantly later between 2009 and 2013 as a cooperation of Technical Universities Munich, Graz and the University of Cambridge coordinated by ABB Corporate Research Switzerland.
The Casopt solver is based on the old Polopt version from 1990s that has been used as a reference solver to perform benchmarking of new BEM solvers developed in scope of the Casopt project. The results of benchmarking have been summarized in [3.2]. The Casopt solver has limited performance since it does not make use of new numerical techniques like compression of the fully populated matrix or clustering of far field regions. However, it is supposed to be sufficient for the research and educational purposes, which are currently the target of the Elfi platform. The main purpose of including the the Casopt-solver in the Elfi-package is to provide a reliable reference solver for benchmarking (the same purpose as in the Casopt-Project). The new solvers being developed within the Casopt-Project are beyond the scope of the Elfi-Project. More information can be obtained from the following links or by contacting the developers:
- Polopt3 (or newer): a further development of Polopt continued and maintained after Casopt project by Polopt Technologies
- BETL electrostatics: Boundary Element Template Library initially developed within the Casopt project and continued at Seminar of Applied Mathematics of ETH Zurich. Tailored solutions like electrostatic solver are offered by TAILSIT
- Gobem: a highly accurate solver based on the direct BEM approach, developed by the TU Graz, see details and contacts in [3.3].
Elfi-VenusElfi-Venus is a new development within the Elfi-project started in 2021. The main motivation is creation of a new C/C++ code that can be efficiently handled in academic environment. The new code should enable researchers, working on future formulations and performance improvements, to reference the components of Elfi-Venus as a library. Currently, referencing (reusing) the existing components of the Fortran Casopt code is very difficult (or almost impossible). The Elfi-Venus will include all experience gained during more than 40 years of working with the 3D electrostatic codes mentioned above as well as the codes developed within the Venus-Project. An implementation of the region-oriented BEM formulation specified in [3.5] is also planned. A special focus is on extending the model size, which is in case of Casopt limited to the range of 100000, but should grow to more than 1 Million (it is the dimension of a fully populated BEM matrix !). Such large models can be now created in modern CAD systems when computing detailed representations of industrial devices. A cloud computing service will be available for Elfi-Venus solver.
Features of the Casopt solver
- Basic formulation. A 2-steps indirect Boundary Element Method (BEM) is used. In the first step the virtual charge density in corner nodes of triangular parabolic elements assumed as an unknown quantity is calculated. In the second step the field strength and potential in these nodes are calculated based on the charge density obtained in the first step [1.6]. The charge distribution between the corner nodes of triangular elements is assumed as linear (along element edges). For the corner nodes of electrodes the Fredholm integral equation of the first type is formulated (Dirichlet boundary condition). For the corner nodes on surfaces of insulators the Fredholm integral equation of the second type is formulated (flux continuity equation)
- Floating potential formulation. For an electrode at floating potential an additional equation based on the flux compensation for such an electrode is formulated. This equation allows to find the unknown value of the floating potential. More details are included in [3.3].
- Saturation charge formulation. For surfaces that may be affected by charge accumulation the saturation boundary condition replacing the flux continuity equation is formulated. It includes 2 equations: The first one forces a zero flux on the surface side where the charge is accumulated (Neumann boundary condition). The second one ensures that the flux on the side of the solid dielectric is equal to the accumulated charge that is assumed as an additional unknown in the equation system. More details are included in [3.4].
- Solution techniques. Building of matrix and field calculations are based on near singular integration using techniques partially described in [1.6] as well as on far field integration using multipole expansion. For solving the linear equation system the GMRES method is used.
- Input/output file format. The format defined in 1990s for the Polopt-solver is used. The input file name is derived from the model name followed by the extension .tra whereas the output files have extensions .qqq and .res. All these files are ASCII-files containing input and result data sets. The format of all data sets has been described in the user manual of the Elfi3d application included in the Elfi-package.
- Memory requirements. A fully populated matrix is created for the BEM-formulation. This matrix is supposed to be stored in the memory (RAM) available on the computer, which size is specified as a configuration parameter. It is recommended that the matrix size is lower than the available memory. Otherwise, the matrix part that does not fit into the specified memory will be stored in a file, which will significantly degrade performance of solving the matrix. For example, a model dimension N=100000 (which can be approximated by the number of triangle corner nodes) would require approximately 40 Gbyte memory, which can be calculated as 4*N*N bytes since the matrix is stored in a single precision format.
- Parallel computations. By default the solver will perform a parallel computation on a number of processors that is specified by the operating system. For example Windows specifies the number of processors as a number of cores multiplied by 2. The user can change this number by specifying the corresponding configuration parameter. For the number of processors equal to 1 a sequential computation will be performed. It is recommended to use the same number of processors as the number of available cores.
Features of the Elfi-Venus solverMost features of the Casopt-solver will be available for Elfi-Venus. An additional feature is the cloud computing option, which enables computation of models with dimensions significantly larger than 100000. Anther extension is implementation quasistatic fields. Conductive fields as well as region-oriented and thin layer formulations will become a subject of follow-up projects. Elfi-Venus is planned to become the main 3D solver of the Elfi-package.
References[3.1] Z. Andjelic, A contribution to the BEM for calculation and optimization of 3D electrostatic fields, Ph.D. Thesis, Faculty of Electrical Engineering, University of Zagreb 1984.
[3.2] T. Müller, Techniques for adapting industrial simulation software for power devices and networks to multi- and many-core architectures, Ph.D. Thesis, Faculty of Computer Science, Technical University Munich 2014.
[3.3] D. Amann, A. Blaszczyk, G. Of, and O. Steinbach, Simulation of floating potentials in industrial applications by boundary element methods, Journal of Mathematics in Industry, Springer Open, 2014.
[3.4] A. Blaszczyk, T. Christen, H. K. Meyer, M. Schueller, Surface charging formulations for engineering applications. Validation by experiments and transient models, Scientific Computing in Electrical Engineering, SCEE 2018, Taormina, Springer Nature 2020.
[3.5] A. Blaszczyk, Region-oriented BEM formulation for numerical computations of electric fields, Scientific Computing in Electrical Engineering, SCEE 2008, Espoo, Finland, Springer series Mathematics in Industry, Heidelberg 2010.