OpenEMS is a electromagnetic field solver. The development was started in February 2010 and is written in C++.
For defining the FDTD options, the program uses an extensive Matlab (or Octave) interface. The geometry used for the FDTD simulations is handled by the CSXCAD library which is part of the openEMS project.
Here are some key features of "openEMS":
· Efficient EC-FDTD method in full 3D cartesian coordinates (x,y,z)
· Efficient EC-FDTD method in full 3D cylindrical coordinates (ρ, φ, z)
· Fully graded mesh
· Multi-threading, SIMD (SSE) and MPI support for high speed parallel FDTD
· Simple engine extensions API to easily introduce new features to the FDTD algorithm
· Matlab-Interface
· Absorbing boundary conditions (MUR, PML)
· Coordinate dependent material definitions
· Coordinate dependent excitation definitions (e.g. mode-profiles)
· Dispersive material (Drude type)
· Field dumps in time and frequency domain as vtk or hdf5 file format
· Flexible post-processing routines (mostly in Matlab)
· Subgrids to reduce simulation time in cylindrical coordinates
· Remote simulations using SSH
What's New in This Release: [ read full changelog ]
· update and test of all tutorials
· many minor fixes and enhancements
· removed misleading percentage progress in openEMS output, replaced by warnings concerning low max. number of timesteps
· CSXCAD: Octave support improved
· Octave support: fixes in calculating nf2ff
· Octave support: now full hdf5 read support (needs execution of setup.m)
· Matlab/Octave: Convert hdf5 dump to vtk
· Fixes and Updates to Queue framework (see help on InitQueue)