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