1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
|
function CSX = AddPlaneWaveExcite(CSX, name, k_dir, E_dir, f0, varargin)
% function CSX = AddPlaneWaveExcite(CSX, name, k_dir, E_dir, <f0, varargin>)
%
% Creates a plane wave excitation in the sense of a total-field/scattered
% field approach.
%
% Note: A plane wave excitation must not intersect with any kind of
% material. This exctiation type can only be applies in air/vacuum and
% completely surrounding a structure!!!
%
% Note: Only a single Box can be applied to this property!!
%
% Arguments
% CSX: CSX-struct created by InitCSX
% name: property name for the excitation
% k_dir: unit vector of wave progation direction
% E_dir: electric field polarisation vector (must be orthogonal to k_dir)
% f0: frequency for numerical phase velocity compensation (optional)
%
% example:
% inc_angle = 0 /180*pi; %incident angle on the x-axis
% k_dir = [cos(inc_angle) sin(inc_angle) 0]; % plane wave direction
% E_dir = [0 0 1]; % plane wave polarization --> E_z
% f0 = 500e6; % frequency for numerical phase velocity compensation
%
% CSX = AddPlaneWaveExcite(CSX, 'plane_wave', k_dir, E_dir, f0);
%
% CSXCAD matlab interface
% -----------------------
% author: Thorsten Liebig
%
% See also AddExcitation, AddBox
if (nargin<5)
f0 = 0;
end
CSX = AddExcitation(CSX, name, 10, E_dir, 'PropDir', k_dir, 'Frequency', f0, varargin{:});
|