ISEF 2005 - XII International Symposium on Electromagnetic Fields in Mechatronics, Electrical and Electronic Engineering Baiona, Spain, September 15-17, 2005
Computational electromagnetism requires a wide range of numerical methods depending on the application, the topology of the geometry, the frequency and the quality of the solution. Different efforts have been done to develop a universal software package able to deal with any problem, by integrating existing specific modules in the same interface. Nevertheless, modern computational approaches suggest to use a common basic environment, as high level computing lenguage, to be adapted to the requirements done by the end-user. Following this philosophy, this paper proposes three useful computer tools, combining the most usual requirements, to be customised for any electromagnetic problem.
Different classifications of the electromagnetic problems can be done, but considering the growing and diverse community of developers and users, we will follow a scheme based on the applications or, in other words, the user initial requirements:
A first level or requirements is done by the purpose of the results: academic, industrial or research.
The first is basically focused on teaching electromagnetic concepts, showing some materials properties (magnets, superconductors, dielectrics) or explain the differences between basic configurations (a dipole, the mirror effect, boundary conditions, etc). It does not require high precision results, and the complex models should be avoided. Nevertheless, it is important to allow the easy modification of the parameters (geometry, materials, load and boundary conditions) by the students. In this case, the precision of the results should be limited to reduce the computing time.
The second case, industrial applications, typically demands a very precise results. The possibility of modify the parameters of the problem is not so important as the quality of obtained solution. The industrial products or processes use to have well defined materials, components and limited device configurations, and the technological innovations basically depend on minor changes. Usually, the computing time is not so important as the details of the results. However, for some industrial designs is only needed a qualitative comparison of solutions between two possible designs. For example, to design magnetic screens for TV receptors is needed to consider the non linearity of the materials as well as the low thickness of the screen, with a high computing cost. It seems to be more convenient to include an optimisation algorithm using just lineal materials, and deciding the best design by comparing qualitative solutions.
Finally, the research world moves from one scenario (the industrial) to the other (the academic), trying to provide new developments, new answers to the questions coming from the industry, by obtaining a new level of the abstraction of the problem, but exploring the basic concepts, the open possibilities to better solve those questions.
By Industry, there are two traditional fields in computational electromagnetism: related to communication systems, usually equivalent to full wave problems, and related to industrial machines, usually working with quasistatic (or uncoupled) fields. Nevertheless, the electronic topics belong to both disciplines, make more difficult this basic classification.
Electrical machines is one of the first electromagnetic topics  where the numerical methods was applied, probably due to their similar formulation to the thermal or structural problems, based in the Poisson equation. This field includes computation of the magnetic fields in motors, transformers and any other device including non linear magnetic materials (permanent magnets, ferromagnetic composes, etc…) The static approach should be enough for many of the problems, and the quasistatic solution, usually in the time domain, includes the estimation of the Eddy currents, but without considering the whole coupling between the electric and magnetic field. This kind of modules are also able to design magnetic screenings, magnetic sensors or complex systems for scientific devices, such as the magnets for Synchrotrons. It can be used also for low frequency electronic circuits, but mainly coupled to thermal modules to compute the heat dissipation, for example. At higher frequencies, where the circuit dimensions are greater that the wavelength, it is required full wave electromagnetic modules (transmission lines, radiofrequency and microwave circuits and devices, etc).
Typical telecommunication problems, quite close to the industrial machines, are those requiring the computation of the electromagnetic compatibility, to obtain the emission created by high frequency (in terms of the dimension of the system) sources, to avoid interferences between electronic devices and circuits. Analogous simulation modules are used to improve the design of mobile communications systems (cell phones, radio antennas, bluetooth technology, etc), to compute the electromagnetic radiation absorbed by the human body (the SAR, Specific Absortion Rate).
But the highest computing cost electromagnetic problems are those with open domains and big dimensions in term of wavelength, where the full wave model is also used. It is the case of most of the antenna related problems (antenna design, radiation diagram computation, antenna radiation effects on the environment, placement of antennas in aerostructures, wideband and multi-frequency antennas, smart antennas and arrays). It is equivalent to the RCS (Radar Cross Section) computation, to predict the shape of objects, improve radar detection systems by exploring the propagation effects on communications and radar systems (e.g. atmosphere, complex terrains), etc.
Last but not less, new emerging technologies are requiring the combination of disciplines at high level, now possible thanks to the individual advances of each of them, but an exiting challenge putting all together. Two good examples are the food technologies, where the thermal, fluid dynamic and electromagnetism are the basic phenomena to better understand and improve the sterilisation, drying and other complex processes. The second is the bio-engineering, assuming the human body as a complex mechanical, thermal, fluid and electromagnetic system, with promising results to advance in the medical sciences.
A simulation program can be described using the user point of view, that can be easily compared with an experimental laboratory process:
Additionally, if we are working with symmetric problems, or open domains, special conditions have to be considered, the boundary conditions, to simulate the evolution of the electromagnetic fields in the limits of the domain.
In terms of a flux diagram, we have:
This diagram can be extended if we need to move the geometry, change the load conditions or adapt to any other aditional method or external program (parallel computing, circuit design, etc).
From the point of view of the code, we can classify the methods in the time domain (TD, adequate to obtain transient solutions) or frequency domain (FD, when the sinusoidal mode is enough). Depending of the equations to be solved (the mathematical formulation), a simplified list could be :
Based on the direct discretisation of the differential equations.
FDTD (Finite Difference Time Domain), FDFD(Finite Difference Frequency Domain).
Based on the variational formulation of Maxwell’s equations.
MoM (Method of Moments), FEM (Finite Element Methods), FVM (Finite Volume Methods), etc.
MoM (Method of Moments), BEM(Boundary Element Method)
FEM (Finite Element Method).
Based on the approximation of the Maxwell equation. It do not solve the full Maxwell set of equations.
GO (Geometric Optics), GTD (Geometric Theory of Diffraction), UTD (Uniform Theory of Diffraction), UAT (Uniform Asintotic Theory), PTD (Physical Theory of Diffraction).
FEM-MoM, FDTD-FEM, GTD-FEM
Blend of two or more methods which takes advantage of their most remarkable features and minimize their weakest points.
Additionally to the topics previously mentioned, there are other important efforts to complement the simulation programs with transversal capabilities as, for example, the advances in parallel computing and grid computing, the possibilities of the remote computing (strongly linked to the previous feature).
These technologies, easily adapted to any simulation program, as external plug-ins, are also quite close to other artificial intelligence methods, such as neural networks, to include optimisation loops in the simulation procedures, and multi-agent engines, for the management of the grid computing resources. Extending this concept, new simulation methods can be guess for the future, by combining the traditional numerical methods above classified with the new multi-agent paradigms [3, 4].
In summary, after the above classification, the important questions that the developer (or buyer), should have to answer are:
It is usual to associate qualitative solutions for academic exercises and quantitative ones for the professional world. But a more or less precise solution is not always depending on this direct classification, as presented in the introduction.
Most of the problems of interest are dynamics, but due to the high cost of the different time and/or frequency steps, it is important to consider if the real parameter to obtain is directly related with the dynamics of the problem. There are a huge number of designs that can be decided using static solutions (or just the values for one frequency, under the sinusoidal mode approach).
The real world is three dimensional, but some important electromagnetic structures can be defined using a two or even one dimensional domain: planar structures, transmission lines, axysimmetric geometries, etc.
The kind of domain can strongly determine the numerical method. For open domains is usual to work with the method of moments, and for close domains can be better to work with finite element methods.
Time domain is used when we are interested in transient behaviour (as in lightning stroke simulation, transient eddy curents, etc ) . Frequency domain is suitable when we are interested in the sinusoidal steady state analysis as such in aerial design, microwave circuits design, etc.
Full wave problems have been traditionally solved with boundary methods, usually only in presence of perfect conductors. Considerations of materials with losses, or non linearities are easier to solve with finite elements, where inhomogeneities and non linearities are naturally consider in the formulation. Non linearities also increase the computation time by adding an additional loop to find the working point of the material.
Finally, is also clear that other very important question is related to which one will be the application, already mentioned.
One of the most critical and time consuming problems for the numerical simulation is the selection of a good simplified geometrical model, the creation of an appropriate mesh  and processing of the results, in the sense of finding a fast presentation of the million of unknows obtained (quick visualisation, combination of variables, etc). All this problems are responsibility of the pre and postprocessing software, and are common not just in most of the electromagnetic problems, but also in other engineering disciplines.
GiD  was developed at CIMNE, the International Center for Numerical Methods in Enginnering, as result of the demands of our own numerical methods experts, coming from different fields (civil, industrial, naval or aeronautic engineers). Each of them required specific geometrical and mesh specifications, to be used with their own mathematical formulation and computing codes. Therefore, the initial requirements for GiD included a common interface to handle complex 2D and 3D geometries, easily labeled with material properties and conditions, and prepared to export the mesh data linked with all the problem information to their solvers.
After near ten years of development, GiD is used by about 10.000 scientist and engineers worldwide, and over 45,500 downloads from more than 50 countries. For this reason, one of the key aspects to be successful in a so wide range of applications is the continuous feedback with their users.
Summarising their main features, GiD is a competitive pre and post processor, universal, adaptive and user-friendly graphical user Interface for geometrical modelling, data input meshing and visualisation of results for all types of numerical simulation programs.
Typical problems that can be successfully tackled with GiD include most situations in solid and structural mechanics, fluid dynamics, electromagnetism, heat transfer, geomechanics, etc. using finite element, finite volume, boundary element, finite difference or point based (meshless) numerical procedures (visit http://gid.cimne.upc.es/2004/papers.subst to see some advanced applications of GiD, including some applications to electromagnetism).
The following are the capabilities that make of GiD a key tool for the simulation programs developers:
GiD has been designed to be used in universities, research centers and companies to develop and apply different numerical simulation programs. However, in spite of its advantageous features, GiD has some limitations for electromagnetic problems, mainly due to the unavailability of non-standard (H(curl) and H(div), low and higher orders) finite elements. Nowadays, the programmer can deal with these limitations by creating their own TCL/TK functions.
There are some commercial and open source software for numerical simulations that have selected GiD as a pre and postprocessor. Good examples are Impact , Tochnog  or GiD_CEM , a software package for geometrical creation, simplification, cleaning and meshing of CAD models for Computational ElectroMagnetics, result of a EADS-CIMNE partnership.
Different efforts are being done to create a single environment to deal with multi-physic problems [10, 11, 12]. The natural evolution of the current software packages is to extend their capabilities to multi-disciplinary problems, by integrating other minor programs, or by including capabilities to accept plug-ins.
This integration of disciplines, in the physical as well as in the mathematical sense, suggests the use of the modern object oriented philosophy from the computational point of view. The modular design, hierarchy and abstraction of these approachs fits to the generality, flexibility and reusability required for the current and future challenges in numerical methods.
Kratos  has as main objective to establish a framework, methodology and computing structure to allow the building of finite element programs at different levels of implementation. For example, depending on the interest of the user the package can be used as a high level library to explore new finite element formulations or to check the features of new technical implementation of physical applications.
Summarising the main Kratos capabilities:
The major drawback of Kratos current version for computational electromagnetism is that does not work with complex numbers and that it only deals with Langrangian elements, but, in next versions, both problems are planned to be solved. Also, Kratos includes the possibility of using phyton to interact with the database on run time, in order to extend their set of functions to be adapted to the user requirements.
EMANT:  is the result of integrate Kratos and GiD as a single package for electromagnetic analysis .
The main requirements for EMANT, as a numerical code for solving Maxwell’s equations, based in the finite element method formulation , is to take advantage of all the Kratos features but considering the peculiarities of the electromagnetic problems [17, 18]. Therefore, the major difference between Kartos, as a general tool, and EMANT as electromagnetic one, is the need of an specific database for complex numbers, and functions to work in the frequency domain.
The progress in the EMANT features goes from static and quasistatic problems in the time domain, based in the Poisson equation, quite similar to the thermal or structural ones, to those for full wave propagation, in the frequency domain, where a new formulation is needed. For the first case, electro-thermal coupled and typical eddy current problems has been successfully tested, and can be easily integrated in other Kratos modules such as the fluid dynamic or structural ones, of high interest for electrical machines, or food processes.
A full wave 2D electromagnetic module is free available in [XX], with some examples of use and an user manual. The three 3D modules have been also already developed, but due to the limitations of the finite element method (FEM) for open problems, new hybrid formulations combining the Method of Moments with the FEM is being developed.
The future challenges for EMANT is to combine different methods (BEM-FEM or GTD-FEM) to solve complex electromagnetic problems, where the open geometries are solved using boundary elements but with specific areas, the sources for example, working with the finite element method, or in those places where non metalic materials has to be used.
Additionally, taking advantage of Kratos inherent modularity, EMANT is intended to cope with multi-physics coupled problems, such as thermal dissipation in the packaging of circutis.
The current version has been designed mainly for research and academic purposes, to help students, scientist and engineers to calculate electromagnetic fields in a wide variety of practical situations, helping also to reach a deeper knowledge of electromagnetic phenomena by showing fields behavior visually.
A summary of the current developments on computational electromagnetism has been reviewed, and a list of the common needs is obtained by comparing the most usual electromagnetic problems. As a result, three general computer tools are presented to cover these requirements, their advantages and drawbacks. The main feature of these programs is that they can be used to craft customised numerical simulation programs: GiD for geometrical modeling, data input and visualisation of results. Kratos as starting point for a C++ finite element code, and finally, EMANT, as an example of how to blend Kratos and GiD to analyse electromagnetic problems.
 P.P. Silvester and R. L. Ferrari, Finite Elements for Electrical Engineers, Cambridge University Press, 1983
 F. Reitich and K. K. Tamma, State-of-the-art, trends and directions in Computational Electromagnetics, CMES Comput. Model. Eng. Sci. 5 (2004), 287-294
 S. Bieniasz, K. Cetnarowicz, E. Nawarecki, S. Kluska-Nawarecka: Agent-based Simulation in Finite Element Environment. Management and Control of Production and Logistics. IFIP, IFAC, IEEE Conference, ENSIEG, LAG Grenoble, France 2000
 Gilbert Peffer and Javier Mora, “Multi-Agent Scientific Computing”, VI Symposium on Artificial Intelligence –AI-METH 2005, Gliwice (Poland), 16, 17 and 18 November 2005
 Joseph George Ferrante, “Geometrical and Electromagnetic Modelling for Aerospace Engineering”, 2nd Conference on Advances and Applications of GiD, Barcelona, Spain, 18, 19 and 20 February 2004
 GiD:Personal Pre and Post Processor. http://www.gidhome.com . International Center for Numerical Methods in Engineering (CIMNE)
 Impact: A Free Explicit Dynamic Finite Element Program, http://impact.sourceforge.net/
 Tochnog: A Free Explicit/Implicit Finite Element Program, http://tochnog.sourceforge.net/
 GID-CEM: Geometrical Creation, Simplification, Cleaning and Meshing of CAD models for Computational ElectroMagnetics, http://www.aseris-emc2000.com/products/gid_cem/index.php
 POOMA: Parallel Object-Oriented Methods and Applications, http://acts.nersc.gov/pooma/
 deal.II: A Finite Element Differential Equations Analysis Library, http://www.dealii.org/
 Femlab: an interactive environment for modeling scientific and engineering applications, http://www.comsol.com/products/femlab/
 KRATOS: An Object-Oriented Environment for Development of Multi-Physics Analysis Software. http://www.cimne.com/kratos . International Center for Numerical Methods in Engineering (CIMNE)
 EMANT-Kratos: Electromagnetic Analysis with Numerical Tools using a Multi-Physics Object-Oriented Environment Software. http://www.cimne.com/kratos/emant . International Center for Numerical Methods in Engineering (CIMNE)
 Rubén Otín, Javier Mora and Eugenio Oñate, EMANT: Integration of GiD and Kratos, Open and Flexible Computational Tools, 2005 IEEE/ACES International Conference on Wireless Communications and Applied Computational Electromagnetics, April 3-7, 2005, Hilton Hawaiian Village, Honolulu, Hawaii
 J. Jin. The Finite Element Method in Electromagnetics. John Wiley & Sons, 2002
 C. Hazard and M. Lenoir. On the solution of the time-harmonic scattering problems for Maxwell’s equations. SIAM Journal on Mathematical Analysis, 27:1597–1630, 1996
 Bo-Nan Jiang, Jie Wu, and L.A. Povinelli. The origin of spurious solutions in computational electromagnetics. Journal of Computational Physics, 125:104–123, 1996