SetBoundaryCond

SetBoundaryCond(FDTD, BC, varargin)

Full definition:

FDTD = SetBoundaryCond(FDTD, BC, varargin)
BC = [xmin xmax ymin ymax zmin zmax];

or

BC = {xmin xmax ymin ymax zmin zmax};

?min/?max:

  • 0 = PEC or ‘PEC’

  • 1 = PMC or ‘PMC’

  • 2 = MUR-ABC or ‘MUR’

  • 3 = PML-ABC or ‘PML_x’ with pml size x => 4..50

example:

BC = [ 1     1     0     0     2     3     ]  %using numbers or
BC = {'PMC' 'PMC' 'PEC' 'PEC' 'MUR' 'PML_8'}  %using equivalent strings

mur-abc definitions define a phase-velocity to be used by the mur-abc useful e.g. for dispersive waveguides

FDTD = SetBoundaryCond(FDTD,BC,'MUR_PhaseVelocity',299792457.93272);

pml definitions arguments:

  • ‘PML_Grading’,’gradFunction’

    • Define the pml grading grading function.

  • Predefined variables in this grading function are:

    • D = depth in the pml in meter

    • dl = mesh delta inside the pml in meter

    • W = width (length) of the pml in meter

    • N = number of cells for the pml

    • Z = wave impedance at the current depth and position

example:

FDTD = SetBoundaryCond(FDTD,BC);

or

FDTD = SetBoundaryCond(FDTD,BC,’PML_Grading’,’-log(1e-6)log(2.5)/(2dl*pow(2.5,W/dl)-1) * pow(2.5, D/dl) / Z’);


author: Thorsten Liebig