embcs.mac

This macro file can be imported to an input file with

$ import embcs

It is imported by VSimEM in all cases.

This macro file is available to all packages.

This macro file defines numerous different electromagnetic boundary conditions such as Ports, PortLauncers, PMLs and MALs, magnetic symmetries and electric symmetries.

Public Macros

addElectricBoundary(name, fieldName, location)

Add an electric (PEC) boundary condition.

Parameters
  • name – The name of the updater.

  • fieldName – Unused.

  • location – The location of the boundary condition, [lower/upper][X/Y/Z].

addMagneticBoundary(boundaryConditionName, fieldName, location)

Add a magnetic boundary condition.

Parameters
  • boundaryConditionName – The name of the updater.

  • fieldName – Unused.

  • location – The location of the boundary condition, [lower/upper][X/Y/Z].

addOpenBoundary(boundaryConditionName, fieldName, location)

Add an open boundary.

Parameters
  • boundaryConditionName – The name of the updater.

  • fieldName – Unused.

  • location – The location of the boundary condition, [lower/upper][X/Y/Z].

addMalBoundary(boundaryConditionName, fieldName, location, malThickness)

Add a Matched Absorbing Layer (MAL), a layer with increasing resistance out to the simulation boundary. Sets default pwr = 3.0, frac = 0.5, and malThickness = 1.0.

Parameters
  • boundaryConditionName – The name of the updater.

  • fieldName – Name of the field. Determines updater and step names.

  • location – The location of the boundary condition, [lower/upper][X/Y/Z].

  • malThickness – Real valued thickness of MAL into sim domain, same units as the grid. There are macro guards on the tickness that restrict the MAL thickness to be no greater than 50% of the simulation domain and no thinner than 2 grid cells regardless of whether the user specify quantities greater/lesser than these values.

addBoundaryLauncher(boundaryConditionName, fieldName, xProfile, yProfile, zProfile, location)

Add boundary launcher, formats the bounds.

Parameters
  • boundaryConditionName – The name of the updater.

  • fieldName – Name of the field. Determines updater and step names.

  • xProfile – The x component of the field.

  • yProfile – The y component of the field.

  • zProfile – The z component of the field.

  • location – The location of the boundary condition, [lower/upper][X/Y/Z].