summaryrefslogtreecommitdiff
path: root/openEMS/matlab/Tutorials/Parallel_Plate_Waveguide.m
diff options
context:
space:
mode:
Diffstat (limited to 'openEMS/matlab/Tutorials/Parallel_Plate_Waveguide.m')
-rw-r--r--openEMS/matlab/Tutorials/Parallel_Plate_Waveguide.m51
1 files changed, 51 insertions, 0 deletions
diff --git a/openEMS/matlab/Tutorials/Parallel_Plate_Waveguide.m b/openEMS/matlab/Tutorials/Parallel_Plate_Waveguide.m
new file mode 100644
index 0000000..cbf76c0
--- /dev/null
+++ b/openEMS/matlab/Tutorials/Parallel_Plate_Waveguide.m
@@ -0,0 +1,51 @@
+%
+% Tutorials / Parallel_Plate_Waveguide
+%
+% Describtion at:
+% http://openems.de/index.php/Tutorial:_Parallel_Plate_Waveguide
+%
+% Tested with
+% - Matlab 2011a / Octave 4.0
+% - openEMS v0.0.33
+%
+% (C) 2011,2012 Sebastian Held <sebastian.held@gmx.de>
+% (C) 2011-2015 Thorsten Liebig <thorsten.liebig@gmx.de>
+
+close all
+clear
+clc
+
+% init and define FDTD parameter
+FDTD = InitFDTD(100,0,'OverSampling',50);
+FDTD = SetSinusExcite(FDTD,10e6);
+BC = {'PMC' 'PMC' 'PEC' 'PEC' 'MUR' 'MUR'};
+FDTD = SetBoundaryCond(FDTD,BC);
+
+% init and define FDTD mesh
+CSX = InitCSX();
+mesh.x = -10:10;
+mesh.y = -10:10;
+mesh.z = -10:30;
+CSX = DefineRectGrid(CSX, 1, mesh);
+
+% define the excitation
+CSX = AddExcitation(CSX,'excitation',0,[0 1 0]);
+CSX = AddBox(CSX,'excitation',0,[-10 -10 0],[10 10 0]);
+
+% define a time domain e-field dump box
+CSX = AddDump(CSX,'Et','DumpMode',0);
+CSX = AddBox(CSX,'Et',0,[-10 0 -10],[10 0 30]);
+
+% remove old simulation results (if exist)
+rmdir('tmp','s');mkdir('tmp');
+
+% write openEMS xml data file
+WriteOpenEMS('tmp/tmp.xml',FDTD,CSX);
+
+% view defined structure
+CSXGeomPlot( 'tmp/tmp.xml' );
+
+% run openEMS simulation
+RunOpenEMS('tmp','tmp.xml','');
+
+disp('use Paraview to visualize the FDTD result...');