2010-03-22 22:15:04 +00:00
|
|
|
function FDTD = SetBoundaryCond(FDTD,BC)
|
2010-04-01 07:39:12 +00:00
|
|
|
% FDTD = SetBoundaryCond(FDTD,BC)
|
|
|
|
%
|
|
|
|
% BC = [xmin xmax ymin ymax zmin zmax];
|
2010-07-16 15:25:32 +00:00
|
|
|
% ?min/?max: 0=PEC 1=PMC 2=MUR-ABC 3=PML-ABC
|
2010-04-24 14:43:22 +00:00
|
|
|
%
|
|
|
|
% openEMS matlab interface
|
|
|
|
% -----------------------
|
|
|
|
% author: Thorsten Liebig
|
2010-03-22 22:15:04 +00:00
|
|
|
|
2010-07-30 15:03:34 +00:00
|
|
|
if (numel(BC)~=6)
|
|
|
|
error('openEMS:SetBoundaryCond','wrong number of boundary conditions');
|
|
|
|
end
|
|
|
|
|
|
|
|
if isnumeric(BC)
|
|
|
|
FDTD.BoundaryCond.ATTRIBUTE.xmin=BC(1);
|
|
|
|
FDTD.BoundaryCond.ATTRIBUTE.xmax=BC(2);
|
|
|
|
FDTD.BoundaryCond.ATTRIBUTE.ymin=BC(3);
|
|
|
|
FDTD.BoundaryCond.ATTRIBUTE.ymax=BC(4);
|
|
|
|
FDTD.BoundaryCond.ATTRIBUTE.zmin=BC(5);
|
|
|
|
FDTD.BoundaryCond.ATTRIBUTE.zmax=BC(6);
|
|
|
|
elseif iscell(BC)
|
|
|
|
FDTD.BoundaryCond.ATTRIBUTE.xmin=BC{1};
|
|
|
|
FDTD.BoundaryCond.ATTRIBUTE.xmax=BC{2};
|
|
|
|
FDTD.BoundaryCond.ATTRIBUTE.ymin=BC{3};
|
|
|
|
FDTD.BoundaryCond.ATTRIBUTE.ymax=BC{4};
|
|
|
|
FDTD.BoundaryCond.ATTRIBUTE.zmin=BC{5};
|
|
|
|
FDTD.BoundaryCond.ATTRIBUTE.zmax=BC{6};
|
|
|
|
else
|
|
|
|
error('openEMS:SetBoundaryCond','unknown boundary condition type');
|
|
|
|
end
|
|
|
|
|
|
|
|
|