FDTD Boundary Conditions

From openEMS

Jump to: navigation, search



function FDTD = SetBoundaryCond(FDTD, BC, varargin)

BC = [xmin xmax ymin ymax zmin zmax];

Types of Boundary Conditions (BC)

  • PEC: Perfect electric conductor (default BC)
  • PMC: Perfect magnetic conductor
  • MUR: A simple absorbing boundary condition (ABC)
  • PML_x: Perfectly Matched Layer absorbing boundary condition, using x number of cells

openEMS example

BC = {'PEC' 'PMC' 'MUR' 'PML_8' 'PML_8' 'PML_10'};
FDTD = SetBoundaryCond( FDTD, BC );

Perfect electric conductor (PEC)

  • All tangential electric fields on this boundary will be set to zero. This results in the behavior as a perfect electric conductor. This BC is the default in a FDTD simulation.

For example, this BC can be used to model waveguide walls or a infinite ground-plane for PCB board.

Perfect magnetic conductor (PMC)

  • All tangential magnetic fields on this boundary will be set to zero.
  • This results in the behavior as a perfect magnetic conductor. Since there is no real material with such a behavior, it is usually used as symmetry boundary condition.
  • Since in FDTD all magnetic fields are shifted by half a cell, this wall is effectively located in the middle of the last two lines of the respective direction.


  • Simple absorbing boundary condition (ABC)
  • Only works perfect for a completely orthogonal impinging waves with a known phase-velocity (e.g. speed of light)


  • Artificial x-cells thick layer that effectively absorbs incoming EM waves. (default x=8)
  • PML thickness can be 6 to 20 cells. PML_8 is a good default.
  • Warning: In openEMS the last x lines in the respective direction are defined as this artificial absorbing material: Keep your structures far enough away!
  • Info: This ABC is not optimally implemented regarding the simulation speed. Use the Mur-ABC for faster simulations.