disp('defining sources');

impressed_J = [];
impressed_M = [];

% define source waveform types and parameters
waveforms.gaussian(1).number_of_cells_per_wavelength = 0; 
%waveforms.gaussian(2).number_of_cells_per_wavelength = 15; 
waveforms.edwingray(1).frequency = 1e7;

% electric current sources
% direction: 'xp', 'xn', 'yp', 'yn', 'zp', or 'zn'
impressed_J(1).min_x = -3.5e-2;
impressed_J(1).min_y = -1.5e-2;
impressed_J(1).max_x = -2.5e-2;
impressed_J(1).max_y = -0.5e-2;
impressed_J(1).direction = 'zp';
impressed_J(1).magnitude = 1e3;
impressed_J(1).waveform_type = 'edwingray';
impressed_J(1).waveform_index = 1;

% electric current sources
% direction: 'xp', 'xn', 'yp', 'yn', 'zp', or 'zn'
impressed_J(2).min_x = -3.5e-2;
impressed_J(2).min_y = 0.5e-2;
impressed_J(2).max_x = -2.5e-2;
impressed_J(2).max_y = 1.5e-2;
impressed_J(2).direction = 'zp';
impressed_J(2).magnitude = -1e3;
impressed_J(2).waveform_type = 'edwingray';
impressed_J(2).waveform_index = 1;

% electric current sources
% direction: 'xp', 'xn', 'yp', 'yn', 'zp', or 'zn'
impressed_J(3).min_x = 0;
impressed_J(3).min_y = -1.5e-2;
impressed_J(3).max_x = 1e-2;
impressed_J(3).max_y = -0.5e-2;
impressed_J(3).direction = 'zp';
impressed_J(3).magnitude = -1e3;
impressed_J(3).waveform_type = 'edwingray';
impressed_J(3).waveform_index = 1;

% electric current sources
% direction: 'xp', 'xn', 'yp', 'yn', 'zp', or 'zn'
impressed_J(4).min_x = 0;
impressed_J(4).min_y = 0.5e-2;
impressed_J(4).max_x = 1e-2;
impressed_J(4).max_y = 1.5e-2;
impressed_J(4).direction = 'zp';
impressed_J(4).magnitude = 1e3;
impressed_J(4).waveform_type = 'edwingray';
impressed_J(4).waveform_index = 1;

% % magnetic current sources
% % direction: 'xp', 'xn', 'yp', 'yn', 'zp', or 'zn'
%impressed_M(1).min_x = -0.1e-3;
%impressed_M(1).min_y = -0.1e-3;
%impressed_M(1).max_x = 0.1e-3;
%impressed_M(1).max_y = 0.1e-3;
%impressed_M(1).direction = 'zp';
%impressed_M(1).magnitude = 1e-3;
%impressed_M(1).waveform_type = 'gaussian';
%impressed_M(1).waveform_index = 1;
