Skip to content

openEMS is a free and open electromagnetic field solver using the FDTD method.

Notifications You must be signed in to change notification settings

MiLabUnimi/openEMS-Project

 
 

Repository files navigation

openEMS
openEMS is a free and open electromagnetic field solver using the FDTD method. Matlab or Octave are used as an easy and flexible scripting interface.

Website: http://openEMS.de
Forum: http://openEMS.de/forum
Wiki: http://openems.de/index.php
Github: https://github.com/thliebig/openEMS-Project

openEMS Features:

  • fully 3D Cartesian and cylindrical coordinates graded mesh.
  • Multi-threading, SIMD (SSE) and MPI support for high speed FDTD.
  • Octave and Matlab-Interface
  • Dispersive material (Drude/Lorentz/Debye type)
  • Field dumps in time and frequency domain as vtk or hdf5 file format
  • Flexible post-processing routines in Octave/Matlab
  • and many more

Install Instruction

Requirements

Ubuntu

  • Install all necessary dependencies, e.g. on Ubuntu 18.04 and above:
sudo apt-get install build-essential cmake git libhdf5-dev libvtk7-dev libboost-all-dev libcgal-dev libtinyxml-dev qtbase5-dev libvtk7-qt-dev

Note: For later versions of Ubuntu you may have to choose a later version of vtk.

  • Optional: Install octave and octave devel packages:
sudo apt-get install octave liboctave-dev
  • Optional: For the package hyp2mat you need additonal dependencies:
sudo apt-get install gengetopt help2man groff pod2pdf bison flex libhpdf-dev libtool
  • Optional: For MPI support:
sudo apt-get install libopenmpi-dev

Clone, build and install

  • Clone this repository, build openEMS and install e.g. to "~/opt/openEMS":
git clone --recursive https://github.com/thliebig/openEMS-Project.git
cd openEMS-Project
./update_openEMS.sh ~/opt/openEMS

or including hyp2mat and CTB and MPI:

./update_openEMS.sh ~/opt/openEMS --with-hyp2mat --with-CTB --with-MPI
  • Add the given paths to your Octave/Matlab environment (e.g.):
addpath('~/opt/openEMS/share/openEMS/matlab');
addpath('~/opt/openEMS/share/CSXCAD/matlab');
  • Add the optional packages to your Octave/Matlab environment (e.g.):
addpath('~/opt/openEMS/share/hyp2mat/matlab');
addpath('~/opt/openEMS/share/CTB/matlab');

For more informations and other platforms see: http://www.openems.de/index.php/OpenEMS#Installation

Update Instruction:

  • Perform an update in case of a new release

Note: Changes you may have made (e.g. to the tutorials or examples) may be overwritten!

cd openEMS-Project
git pull
./update_openEMS.sh ~/opt/openEMS

About

openEMS is a free and open electromagnetic field solver using the FDTD method.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Shell 60.3%
  • CMake 32.3%
  • Ruby 7.4%