Elfi-2D
Charge Simulation Method (CSM) Solvers
The evolution of Elfi-2D includes several CSM solvers that have been developed and used since 1960s at the TU Munich.Rotasym and Efeld
Rotasym and Efeld are Fortran solvers created in the initial phase of CSM developments in 1960s and 1970s for computations of axisymmetric and 2D-planar models, respectively [1.1],[1.2]. These programs did not have any graphical user interface. The input has been provided by data records where each of them represented a geometrical entity like arc or line or a definition of boundary conditions or materials. (initially in the 1960s and early 1970s the punched cards have been used as records) The executables of Rotasym and Efeld are not available anymore, but their core part has been transferred into the following versions of Elfi.GKS-Elfi and X-Elfi
Both initial versions of Elfi-2D have been created in scope of the Venus-project. They include graphical user interface based on the GUI-systems that have been used in the late 1980s and early 1990s. The first one is GKS (Graphical Kernel System) created and standardized in the late 1970s. The second one is X-Windows created mid of 1980s and maintained as a non-commercial package until today. The GKS-Elfi does not exist anymore; it was used only on some Unix workstations where the GKS-graphic system was available (eg. Apollo) [1.4]. The X-Elfi is still used as an educational software package at TU Munich on the Linux platform, but not maintained.Both GKS- and X-Elfi have the same numerical kernel, which is based on the region-oriented formulation [1.3]. The capacitive and quasi-static fields are implemented [2.1]. The primary input is still based on the record-oriented data files. The Elfi input file format is similar to Rotasym and Efeld, but has been redefined according to the requirements of the new region-oriented approach.
Elfi Uranus
Elfi Uranus is the first version of Elfi implemented in Java. Java language, introduced after mid of 1990s, offered a new, portable UI platform that could be operated on both Linux and Windows architectures. Java Elfi was an experimental project aimed at exploring the Java performance not only for UI but also for numerical applications. Elfi Uranus is a result of these experiments performed from 1997 until 2020. The numerical solver of Uranus includes a subset of the X-Elfi code. It is still kept in C-language and is integrated with the UI over the Java Native Interface JNI. The input file format is the same as for the X-Elfi.Elfi Saturn
Elfi Saturn provides a completely new concept of UI, which cleanly separates the numerical functionality of Elfi from the user interface. Some parts of the numerics is written in Java but the solver core is still the same as the C-code of Elfi-Uranus. It includes implementation of the saturation charge boundary condition, which started to be used to explain the breakdown behavior in 2010s [2.2]. Elfi Saturn is the newest development in scope of Elfi-Project started in 2021. An overview of implemented CSM scope as well as examples are included in [1.9]. The features of Elfi Saturn are described on this page below. Elfi-Saturn is currently the main 2D-solver of the Elfi-package.Elfi Jupiter and more
Elfi Jupiter is the future version of Elfi-2D based purely on Java language with a clean separation between the UI and the application logic (including numerics). It is planned as a follow-up version replacing Elfi-Saturn in future. Further steps may go in the direction of merging Elfi-2D and 3D together with evaluation tools like Q-Lab into one Elfi-program containing all functionalities.Features of Elfi Saturn
- Formulation. The full scope of formulated equations has been recently explained in [1.9]. It includes 8 types of equations: (1) predefined potential of electrodes, (2) flux continuity (Gauss law) for dielectric interface, (3) potential continuity for dielectric interface, (4) charge compensation in non-open dielectric regions, (5) flux (charge) balance through boundaries of floating electrodes, (6) stability equation for triple points (locally applied Gauss law), (7) Neumann boundary condition for surface charge saturation and (8) Gauss law for the surface charge saturation. The region-oriented formulation is used [1.3], which enables an effective treatment of thin layers.
- Static and quasi-static mode. By default Elfi-Saturn calculates in the static mode. For the static mode a purely capacitive computation based on permittivities is performed. Alternatively, a purely conductive static computation (based on conductivities only) can be performed. If a frequency is defined in the input data set the computation is performed in the quasistatic mode. In this mode the electrical conductivity of the dielectric regions is taken into account as well as the phase angle of the predefined potentials [2.1]. See example in Fig. 2.1.
- 2D planar and axi-symmetric mode The type of model is defined by the input data set.
- Solution techniques. The discrete charges positioned out of boundaries are assumed as infinite line charges for the 2D planar mode and ring charges for the axisymmetric mode. Building of matrix and field calculations are based on the logarithmic integral functions for the 2D-planar mode and the elliptic integrals for the axisymmetric mode [1.1], [1.2]. The equation system is solved using a direct Gauss elimination solver.
- Method of images. The user may define symmetry images on vertical and horizontal planes, X=0 and Y=0, respectively as well as an image on the grounded horizontal plane Y=0. In addition, an image on a grounded cylinder with a defined radius can be specified. More details about these images can be found in the work published by W. Thomson (Lord Kelvin) in 1848. Note: the electric images on the grounded plane or cylinder must be used for open-region configurations of the 2D-planar models. (Reason: logarithmic integrals do not ensure a zero potential in infinity.)
- Input/output file format. The format defined in 1990s for Elfi-Uranus is used. A description of this format is included in the help-menu of Elfi-Uranus. Elfi-Saturn can import this format and convert it into the internal format representing the Java-classes used in the model definition of Elfi-Saturn. This internal format (json-format) is written to a file when saving the Elfi-Saturn model. The saved files can be loaded back into Elfi-Saturn. In addition, Elfi-Saturn defines a new Saturn-format that is supposed to replace the Uranus-format. The new format is record-oriented, similar to the old Uranus-format but ensures a consistent model definition, which is not always possible when using the old format. Elfi-Saturn can read and save files in all available Elfi-formats.
- Memory requirements. For the dimension N of a static model a memory of 8*N*N bytes is required (Elfi-Uranus solver uses double precision numbers). For a quasistatic model of the same size the required memory is doubled. For example, a dimension of 5000 would result in approximately 200 MBytes memory for a static case. The dimension N=10000 is still below 1 GByte. Typically, memory does not provide a bottleneck for the Elfi2d computations.
- Computation time. A model with N=5000 may need approximately 1 minute of computation (on a typical laptop computer). Due to the Gauss solver the computation grows with the third power of the dimension. Consequently, the computation time for a model with N=10000 could take up to 8-10 minutes. It is recommended to keep the model size below 10000 since the Elfi-Uranus solver is not yet parallelized.
- CAD link. Elfi Saturn can connect to a Creo session that is open on the same computer. If the data of the Creo-model are prepared properly, as specified in the Elfi-Creo-Manual, the Elfi-Creo-App will interactively extract the Elfi input data from Creo. This data set includes all material properties and boundary conditions.
- Automatic discretization. Elfi-Saturn as well as Elfi-Uranus include an automatic discretization feature for the region-oriented formulation [2.3]. The automatic discretization takes care of the proper selection of density of contour points with regard to positions of the discrete charges. The whole discretization of a complex model can be accomplished within one click.
References
[2.1] A. Blaszczyk. Computation of quasi-static electric fields with region-oriented charge simulation. IEEE Trans. on Magnetics, vol. 32. no. 3, May 1996, pp. 828–831.[2.2] A. Pedersen, A. Blaszczyk: ‘An engineering approach to computational prediction of breakdown in air with surface charging effects,’ IEEE Trans. on Dielectrics and Electrical Insulation, vol. 24, no. 5, Oct. 2017.
[2.3] H. Nilsson, P. Wolpert: ‘Automatic boundary discretization for the region-oriented charge simulation’, M.Sc. Graduation Project, Royal Institute of Technology, NADA Dept., TRITA-NA-E9272, Stockholm 1992.