Getting Started


JCMsuite is a software package with a focus on fast and highly accurate electromagnetic simulations. It is based on the Finite Element Method (FEM) and contains following modules:

  • JCMgeo: Finite Element mesh generator
  • JCMsolve: Simulation engine
  • JCMview: Viewer for mesh and computed fields
  • JCMcontrol: User interface

JCMsolve provides specialized algorithms for solving electromagnetic scattering problems, and for computing waveguide modes and eigenmodes of cavities and resonators. Further, it can be used to solve heat conduction and continuum mechanics projects and to study the interaction between temperature, stress, and electromagnetic fields.


This tutorial contains a collection of examples of electromagnetic simulation setups. In order to run these examples or other projects, JCMsuite can be controlled via a number of different environments: JCMcontrol is a mainly text-based user interface, which is located in the installation directory. It allows to set up basic projects and to perform computations. In order to set up more complex simulation tasks, parameter scans, inverse problems, etc. JCMsuite offers comfortable interfaces to Matlab, Octave and Python. JCMsolve can also be used from command line.

Each example project of this tutorial includes a description of the physical and numerical setup. The corresponding project setup is provided for download and can be opened with JCMcontrol. Some examples include more sophisticated setups, e.g. scans and are run via the Matlab interface.

The collection of examples is grouped according to the corresponding physics/engineering background. We encourage you to start with the Basic Examples which provide the basics of using JCMsuite.

Download tutorial examples

Please download the archive which contains the project files for all examples discussed in this tutorial.

Further reading

The geometry of each simulated structure or device is described in a so-called layout file. The Geometry Tutorial provides a detailed description how to define the geometrical setup.

The tutorials Matlab Interface and Python Interface introduce the usage of JCMsuite within Matlab and Python in detail.

The complete input tree of all input files is described in the Parameter Reference.