diff --git a/examples/Coax_Cart.xml b/examples/Coax_Cart.xml
deleted file mode 100644
index 69910be..0000000
--- a/examples/Coax_Cart.xml
+++ /dev/null
@@ -1,97 +0,0 @@
-
-
-
-
-
-
-
-
- -230,-225,-220,-215,-210,-205,-200,-195,-190,-185,-180,-175,-170,-165,-160,-155,-150,-145,-140,-135,-130,-125,-120,-115,-110,-105,-100,-95,-90,-85,-80,-75,-70,-65,-60,-55,-50,-45,-40,-35,-30,-25,-20,-15,-10,-5,0,5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100,105,110,115,120,125,130,135,140,145,150,155,160,165,170,175,180,185,190,195,200,205,210,215,220,225,230
- -230,-225,-220,-215,-210,-205,-200,-195,-190,-185,-180,-175,-170,-165,-160,-155,-150,-145,-140,-135,-130,-125,-120,-115,-110,-105,-100,-95,-90,-85,-80,-75,-70,-65,-60,-55,-50,-45,-40,-35,-30,-25,-20,-15,-10,-5,0,5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100,105,110,115,120,125,130,135,140,145,150,155,160,165,170,175,180,185,190,195,200,205,210,215,220,225,230
- -500,-490,-480,-470,-460,-450,-440,-430,-420,-410,-400,-390,-380,-370,-360,-350,-340,-330,-320,-310,-300,-290,-280,-270,-260,-250,-240,-230,-220,-210,-200,-190,-180,-170,-160,-150,-140,-130,-120,-110,-100,-90,-80,-70,-60,-50,-40,-30,-20,-10,0,10,20,30,40,50,60,70,80,90,100,110,120,130,140,150,160,170,180,190,200,210,220,230,240,250,260,270,280,290,300,310,320,330,340,350,360,370,380,390,400,410,420,430,440,450,460,470,480,490,500,510,520,530,540,550,560,570,580,590,600,610,620,630,640,650,660,670,680,690,700,710,720,730,740,750,760,770,780,790,800,810,820,830,840,850,860,870,880,890,900,910,920,930,940,950,960,970,980,990,1000,1010,1020,1030,1040,1050,1060,1070,1080,1090,1100,1110,1120,1130,1140,1150,1160,1170,1180,1190,1200,1210,1220,1230,1240,1250,1260,1270,1280,1290,1300,1310,1320,1330,1340,1350,1360,1370,1380,1390,1400,1410,1420,1430,1440,1450,1460,1470,1480,1490,1500
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/examples/Dipol.xml b/examples/Dipol.xml
deleted file mode 100644
index 31a19e6..0000000
--- a/examples/Dipol.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-
-
-
-
-
-
-
-
- -990,-970,-950,-930,-910,-890,-870,-850,-830,-810,-790,-770,-750,-730,-710,-690,-670,-650,-630,-610,-590,-570,-550,-530,-510,-490,-470,-450,-430,-410,-390,-370,-350,-330,-310,-290,-270,-250,-230,-210,-190,-170,-150,-130,-110,-90,-70,-50,-30,-10,10,30,50,70,90,110,130,150,170,190,210,230,250,270,290,310,330,350,370,390,410,430,450,470,490,510,530,550,570,590,610,630,650,670,690,710,730,750,770,790,810,830,850,870,890,910,930,950,970,990
- -990,-970,-950,-930,-910,-890,-870,-850,-830,-810,-790,-770,-750,-730,-710,-690,-670,-650,-630,-610,-590,-570,-550,-530,-510,-490,-470,-450,-430,-410,-390,-370,-350,-330,-310,-290,-270,-250,-230,-210,-190,-170,-150,-130,-110,-90,-70,-50,-30,-10,10,30,50,70,90,110,130,150,170,190,210,230,250,270,290,310,330,350,370,390,410,430,450,470,490,510,530,550,570,590,610,630,650,670,690,710,730,750,770,790,810,830,850,870,890,910,930,950,970,990
- -990,-970,-950,-930,-910,-890,-870,-850,-830,-810,-790,-770,-750,-730,-710,-690,-670,-650,-630,-610,-590,-570,-550,-530,-510,-490,-470,-450,-430,-410,-390,-370,-350,-330,-310,-290,-270,-250,-230,-210,-190,-170,-150,-130,-110,-90,-70,-50,-30,-10,10,30,50,70,90,110,130,150,170,190,210,230,250,270,290,310,330,350,370,390,410,430,450,470,490,510,530,550,570,590,610,630,650,670,690,710,730,750,770,790,810,830,850,870,890,910,930,950,970,990
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/examples/FDTD_examples.cpp b/examples/FDTD_examples.cpp
deleted file mode 100644
index 3420e31..0000000
--- a/examples/FDTD_examples.cpp
+++ /dev/null
@@ -1,876 +0,0 @@
-/*
-* Copyright (C) 2010 Thorsten Liebig (Thorsten.Liebig@gmx.de)
-*
-* This program is free software: you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation, either version 3 of the License, or
-* (at your option) any later version.
-*
-* This program is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with this program. If not, see .
-*/
-
-#include "FDTD_examples.h"
-#include "../tools/constants.h"
-
-void BuildDipol(const char* filename)
-{
- int maxIter = 1000;
- double f0=0.5e9;
- double fc=0.5e9;
- int Excit_Type=0;
- int bounds[] = {1,1,0,0,0,0};
-
- cerr << "Create Geometry..." << endl;
- ContinuousStructure CSX;
-
- CSPropMaterial* mat = new CSPropMaterial(CSX.GetParameterSet());
- mat->SetKappa(0.001);
- CSX.AddProperty(mat);
-
- CSPrimBox* matbox = new CSPrimBox(CSX.GetParameterSet(),mat);
- matbox->SetCoord(0,-1000.0);matbox->SetCoord(1,1000.0);
- matbox->SetCoord(2,-1000.0);matbox->SetCoord(3,1000.0);
- matbox->SetCoord(4,-1000.0);matbox->SetCoord(5,1000.0);
- CSX.AddPrimitive(matbox);
-
- CSPropElectrode* elec = new CSPropElectrode(CSX.GetParameterSet());
- elec->SetExcitation(1,1);
- elec->SetExcitType(1);
- elec->SetActiveDir(0,0);//disable x
- elec->SetActiveDir(0,2);//disable z
-// elec->SetDelay(2.0e-9);
- CSX.AddProperty(elec);
-
- CSPrimBox* box = new CSPrimBox(CSX.GetParameterSet(),elec);
- box->SetCoord(0,-10.0);box->SetCoord(1,10.0);
- box->SetCoord(2,-75.0);box->SetCoord(3,75.0);
- box->SetCoord(4,-10.0);box->SetCoord(5,10.0);
- CSX.AddPrimitive(box);
-
- CSRectGrid* grid = CSX.GetGrid();
-
- for (int n=-990;n<=990;n+=20)
- grid->AddDiscLine(2,(double)n);
- for (int n=-990;n<=990;n+=20)
- grid->AddDiscLine(0,(double)n);
- for (int n=-990;n<=990;n+=20)
- grid->AddDiscLine(1,(double)n);
-
- grid->SetDeltaUnit(1e-3);
-
- //*************** Create XML file **********************
- TiXmlDocument doc(filename);
- doc.InsertEndChild(TiXmlDeclaration("1.0","ISO-8859-1","yes"));
-
- TiXmlElement openEMS("openEMS");
-
- TiXmlElement FDTD_Opts("FDTD");
- FDTD_Opts.SetAttribute("NumberOfTimesteps",maxIter);
-
- TiXmlElement Excite("Excitation");
- Excite.SetAttribute("Type",Excit_Type);
- Excite.SetAttribute("f0",f0);
- Excite.SetAttribute("fc",fc);
- FDTD_Opts.InsertEndChild(Excite);
-
- TiXmlElement BC("BoundaryCond");
- BC.SetAttribute("xmin",bounds[0]);
- BC.SetAttribute("xmax",bounds[1]);
- BC.SetAttribute("ymin",bounds[2]);
- BC.SetAttribute("ymax",bounds[3]);
- BC.SetAttribute("zmin",bounds[4]);
- BC.SetAttribute("zmax",bounds[5]);
- FDTD_Opts.InsertEndChild(BC);
-
- openEMS.InsertEndChild(FDTD_Opts);
-
- if (CSX.Write2XML(&openEMS,true,true)==false)
- {
- cerr << "writing failed" << endl;
- exit(-1);
- }
-
- doc.InsertEndChild(openEMS);
-
- doc.SaveFile();
-}
-
-void BuildPlaneWave(const char* filename)
-{
- int maxIter = 10000;
- double f0=0.5e9;
- double fc=0.5e9;
- int Excit_Type=0;
- int bounds[] = {1,1,0,0,0,0};
-
- cerr << "Create Geometry..." << endl;
- ContinuousStructure CSX;
-
- double width = 1000;
- double hight = 1000;
- double length = 4000;
- double abs_l = 200;
-
- CSPrimBox* box = NULL;
- //fake pml....
- CSPropMaterial* mat = new CSPropMaterial(CSX.GetParameterSet());
-// mat->SetEpsilon(3.6);
- double finalKappa = 0.3/pow(abs_l,4);
- mat->SetKappa(finalKappa);
- std::ostringstream fct;
- fct << "pow(abs(z)-" << length/2.0-abs_l << ",4)";
- mat->SetKappaWeightFunction(fct.str(),0);
- mat->SetKappaWeightFunction(fct.str(),1);
- mat->SetKappaWeightFunction(fct.str(),2);
- mat->SetSigma(finalKappa*__MUE0__/__EPS0__);
- mat->SetSigmaWeightFunction(fct.str(),0);
- mat->SetSigmaWeightFunction(fct.str(),1);
- mat->SetSigmaWeightFunction(fct.str(),2);
- CSX.AddProperty(mat);
- box = new CSPrimBox(CSX.GetParameterSet(),mat);
- box->SetCoord(0,width/-2.0);box->SetCoord(1,width/2.0);
- box->SetCoord(2,hight/-2.0);box->SetCoord(3,hight/2.0);
- box->SetCoord(4,length/2.0-abs_l); box->SetCoord(5,length/2.0);
- CSX.AddPrimitive(box);
- box = new CSPrimBox(CSX.GetParameterSet(),mat);
- box->SetCoord(0,width/-2.0);box->SetCoord(1,width/2.0);
- box->SetCoord(2,hight/-2.0);box->SetCoord(3,hight/2.0);
- box->SetCoord(4,length/-2.0+abs_l); box->SetCoord(5,length/-2.0);
- CSX.AddPrimitive(box);
-
- CSPropMaterial* mat2 = new CSPropMaterial(CSX.GetParameterSet());
- mat2->SetEpsilon(2);
- CSX.AddProperty(mat2);
- CSPrimCylindricalShell* cylshell = new CSPrimCylindricalShell(CSX.GetParameterSet(),mat2);
- cylshell->SetRadius(length/4.0);
- cylshell->SetShellWidth(200.0);
- cylshell->SetCoord(0,0.0);cylshell->SetCoord(1,0.0);
- cylshell->SetCoord(2,hight/-2.0);cylshell->SetCoord(3,hight/2.0);
- cylshell->SetCoord(4,0.0);cylshell->SetCoord(5,0.0);
- CSX.AddPrimitive(cylshell);
-
- CSPropElectrode* elec = new CSPropElectrode(CSX.GetParameterSet());
- elec->SetExcitation(1,1);
- elec->SetExcitType(0);
- elec->SetActiveDir(0,0);//disable x
- elec->SetActiveDir(0,2);//disable z
-// elec->SetDelay(2.0e-9);
- CSX.AddProperty(elec);
-
- box = new CSPrimBox(CSX.GetParameterSet(),elec);
- box->SetCoord(0,width/-2.0);box->SetCoord(1,width/2.0);
- box->SetCoord(2,hight/-2.0);box->SetCoord(3,hight/2.0);
- box->SetCoord(4,0.0);box->SetCoord(5,0.0);
- CSX.AddPrimitive(box);
-
- //E-field dump
- CSPropDumpBox* Edump = new CSPropDumpBox(CSX.GetParameterSet());
- Edump->SetDumpType(0);
- Edump->SetName("Et_");
- CSX.AddProperty(Edump);
- box = new CSPrimBox(CSX.GetParameterSet(),Edump);
- box->SetCoord(0,width/-3.0);box->SetCoord(1,width/3.0);
- box->SetCoord(2,0.0);box->SetCoord(3,0.0);
- box->SetCoord(4,length/-2.0+abs_l);box->SetCoord(5,length/2.0-abs_l);
- CSX.AddPrimitive(box);
-
- //H-field dump
- CSPropDumpBox* Hdump = new CSPropDumpBox(CSX.GetParameterSet());
- Hdump->SetDumpType(1);
- Hdump->SetName("Ht_");
- CSX.AddProperty(Hdump);
- box = new CSPrimBox(CSX.GetParameterSet(),Hdump);
- box->SetCoord(0,width/-3.0);box->SetCoord(1,width/3.0);
- box->SetCoord(2,0.0);box->SetCoord(3,0.0);
- box->SetCoord(4,length/-2.0+abs_l);box->SetCoord(5,length/2.0-abs_l);
- CSX.AddPrimitive(box);
-
-// CSPropMetal* metal = new CSPropMetal(CSX.GetParameterSet());
-// CSX.AddProperty(metal);
-// CSPrimCylinder* cyl = new CSPrimCylinder(CSX.GetParameterSet(),metal);
-// cyl->SetRadius(100);
-// cyl->SetCoord(0,0.0);cyl->SetCoord(1,0.0);
-// cyl->SetCoord(2,-250.0);cyl->SetCoord(3,250.0);
-// cyl->SetCoord(4,-0000.0);cyl->SetCoord(5,-0000.0);
-// CSX.AddPrimitive(cyl);
-
- CSRectGrid* grid = CSX.GetGrid();
-
- for (int n=width/-2.0;n<=width/2;n+=20)
- grid->AddDiscLine(0,(double)n);
- for (int n=hight/-2.0;n<=hight/2.0;n+=20)
- grid->AddDiscLine(1,(double)n);
- for (int n=length/-2.0;n<=length/2.0;n+=20)
- grid->AddDiscLine(2,(double)n);
-
- grid->SetDeltaUnit(1e-3);
-
- //*************** Create XML file **********************
- TiXmlDocument doc(filename);
- doc.InsertEndChild(TiXmlDeclaration("1.0","ISO-8859-1","yes"));
-
- TiXmlElement openEMS("openEMS");
-
- TiXmlElement FDTD_Opts("FDTD");
- FDTD_Opts.SetAttribute("NumberOfTimesteps",maxIter);
-
- TiXmlElement Excite("Excitation");
- Excite.SetAttribute("Type",Excit_Type);
- Excite.SetAttribute("f0",f0);
- Excite.SetAttribute("fc",fc);
- FDTD_Opts.InsertEndChild(Excite);
-
- TiXmlElement BC("BoundaryCond");
- BC.SetAttribute("xmin",bounds[0]);
- BC.SetAttribute("xmax",bounds[1]);
- BC.SetAttribute("ymin",bounds[2]);
- BC.SetAttribute("ymax",bounds[3]);
- BC.SetAttribute("zmin",bounds[4]);
- BC.SetAttribute("zmax",bounds[5]);
- FDTD_Opts.InsertEndChild(BC);
-
- openEMS.InsertEndChild(FDTD_Opts);
-
- if (CSX.Write2XML(&openEMS,true,true)==false)
- {
- cerr << "writing failed" << endl;
- exit(-1);
- }
-
- doc.InsertEndChild(openEMS);
-
- doc.SaveFile();
-}
-
-void BuildMSL(const char* filename)
-{
- int maxIter = 10000;
- double f0=0.5e9;
- double fc=0.5e9;
- int Excit_Type=0;
- int bounds[] = {1,1,0,0,0,0};
-
- cerr << "Create Geometry..." << endl;
- ContinuousStructure CSX;
-
- double width = 1000;
- double height = 500;
- double length = 2000;
- double abs_l = 200;
- double MSL_height=50;
- double MSL_width=80;
- double delta[] = {20,10,20};
-
- //substrate....
- CSPropMaterial* mat = new CSPropMaterial(CSX.GetParameterSet());
-// mat->SetEpsilon(3.6);
- double finalKappa = 0.3/pow(abs_l,4);
- mat->SetKappa(finalKappa);
- std::ostringstream fct;
- fct << "pow(abs(z)-" << length/2.0-abs_l << ",4)";
- mat->SetKappaWeightFunction(fct.str(),0);
- mat->SetKappaWeightFunction(fct.str(),1);
- mat->SetKappaWeightFunction(fct.str(),2);
- mat->SetSigma(finalKappa*__MUE0__/__EPS0__);
- mat->SetSigmaWeightFunction(fct.str(),0);
- mat->SetSigmaWeightFunction(fct.str(),1);
- mat->SetSigmaWeightFunction(fct.str(),2);
- CSX.AddProperty(mat);
- CSPrimBox* box = new CSPrimBox(CSX.GetParameterSet(),mat);
- box->SetCoord(0,width/-2.0);box->SetCoord(1,width/2.0);
- box->SetCoord(2,0.0);box->SetCoord(3,height);
- box->SetCoord(4,length/2.0-abs_l); box->SetCoord(5,length/2.0);
- CSX.AddPrimitive(box);
-// box = new CSPrimBox(CSX.GetParameterSet(),mat);
-// box->SetCoord(0,width/-2.0);box->SetCoord(1,width/2.0);
-// box->SetCoord(2,0.0);box->SetCoord(3,hight);
-// box->SetCoord(4,length/-2.0+abs_l); box->SetCoord(5,length/-2.0);
-// CSX.AddPrimitive(box);
-
- //MSL
- CSProperties* MSL = NULL;
- CSPropMaterial* MSL_mat = new CSPropMaterial(CSX.GetParameterSet());
- MSL_mat->SetKappa(56e6);
- MSL = MSL_mat;
-// MSL = new CSPropMetal(CSX.GetParameterSet());
-
- CSX.AddProperty(MSL);
- box = new CSPrimBox(CSX.GetParameterSet(),MSL);
- box->SetCoord(0,MSL_width/-2.0);box->SetCoord(1,MSL_width/2.0);
- box->SetCoord(2,MSL_height);box->SetCoord(3,MSL_height+delta[1]);
- box->SetCoord(4,length/-2);box->SetCoord(5,length/2.0);
- box->SetPriority(100);
- CSX.AddPrimitive(box);
-
- //MSL excite...
- CSPropElectrode* elec = new CSPropElectrode(CSX.GetParameterSet());
- elec->SetExcitation(-1,1);
- elec->SetExcitType(0);
-// elec->SetDelay(2.0e-9);
- CSX.AddProperty(elec);
- box = new CSPrimBox(CSX.GetParameterSet(),elec);
- box->SetCoord(0,-40.0);box->SetCoord(1,40.0);
- box->SetCoord(2,0.0);box->SetCoord(3,50.0);
- box->SetCoord(4,length/-2.0);box->SetCoord(5,length/-2.0);
- CSX.AddPrimitive(box);
-
- CSPropDumpBox* Edump = NULL;
-// //E-field dump xz
-// Edump = new CSPropDumpBox(CSX.GetParameterSet());
-// Edump->SetDumpType(0);
-// Edump->SetName("Et_xz_");
-// CSX.AddProperty(Edump);
-// box = new CSPrimBox(CSX.GetParameterSet(),Edump);
-// box->SetCoord(0,width/-2.0);box->SetCoord(1,width/2.0);
-// box->SetCoord(2,25.0);box->SetCoord(3,25.);
-// box->SetCoord(4,length/-2.0);box->SetCoord(5,length/2.0);
-// CSX.AddPrimitive(box);
-//
-// //E-field dump xy
-// Edump = new CSPropDumpBox(CSX.GetParameterSet());
-// Edump->SetDumpType(0);
-// Edump->SetName("Et_xy_");
-// CSX.AddProperty(Edump);
-// box = new CSPrimBox(CSX.GetParameterSet(),Edump);
-// box->SetCoord(0,width/-2.0);box->SetCoord(1,width/2.0);
-// box->SetCoord(2,0.0);box->SetCoord(3,height);
-// box->SetCoord(4,0.0);box->SetCoord(5,0.0);
-// CSX.AddPrimitive(box);
-
- //E-field dump 3D
- Edump = new CSPropDumpBox(CSX.GetParameterSet());
- Edump->SetDumpType(0);
- Edump->SetDumpMode(2); //cell interpolated dump
- Edump->SetName("Et_");
- CSX.AddProperty(Edump);
- box = new CSPrimBox(CSX.GetParameterSet(),Edump);
- box->SetCoord(0,MSL_width*-1.5);box->SetCoord(1,MSL_width*1.5);
- box->SetCoord(2,0.0);box->SetCoord(3,MSL_height*1.5);
- box->SetCoord(4,length/-2.0);box->SetCoord(5,length/2.0);
- CSX.AddPrimitive(box);
-
- //voltage calc
- CSPropProbeBox* volt = new CSPropProbeBox(CSX.GetParameterSet());
- volt->SetProbeType(0);
- volt->SetName("u1");
- CSX.AddProperty(volt);
- box = new CSPrimBox(CSX.GetParameterSet(),volt);
- box->SetCoord(0,0.0);box->SetCoord(1,0.0);
- box->SetCoord(2,MSL_height);box->SetCoord(3,0.0);
- box->SetCoord(4,0.0);box->SetCoord(5,0.0);
- CSX.AddPrimitive(box);
-
- //current calc
- CSPropProbeBox* curr = new CSPropProbeBox(CSX.GetParameterSet());
- curr->SetProbeType(1);
- curr->SetName("i1");
- CSX.AddProperty(curr);
- box = new CSPrimBox(CSX.GetParameterSet(),curr);
- box->SetCoord(0,MSL_width*-1.5);box->SetCoord(1,MSL_width*1.5);
- box->SetCoord(2,MSL_height/2.0);box->SetCoord(3,MSL_height*1.5);
- box->SetCoord(4,0.0);box->SetCoord(5,0.0);
- CSX.AddPrimitive(box);
-
- CSRectGrid* grid = CSX.GetGrid();
-
- for (double n=width/-2.0;n<=width/2;n+=delta[0])
- grid->AddDiscLine(0,n);
- for (double n=0;n<=height;n+=delta[1])
- grid->AddDiscLine(1,n);
- for (double n=length/-2.0;n<=length/2.0;n+=delta[2])
- grid->AddDiscLine(2,n);
-
- grid->SetDeltaUnit(1e-3);
-
- //*************** Create XML file **********************
- TiXmlDocument doc(filename);
- doc.InsertEndChild(TiXmlDeclaration("1.0","ISO-8859-1","yes"));
-
- TiXmlElement openEMS("openEMS");
-
- TiXmlElement FDTD_Opts("FDTD");
- FDTD_Opts.SetAttribute("NumberOfTimesteps",maxIter);
-
- TiXmlElement Excite("Excitation");
- Excite.SetAttribute("Type",Excit_Type);
- Excite.SetAttribute("f0",f0);
- Excite.SetAttribute("fc",fc);
- FDTD_Opts.InsertEndChild(Excite);
-
- TiXmlElement BC("BoundaryCond");
- BC.SetAttribute("xmin",bounds[0]);
- BC.SetAttribute("xmax",bounds[1]);
- BC.SetAttribute("ymin",bounds[2]);
- BC.SetAttribute("ymax",bounds[3]);
- BC.SetAttribute("zmin",bounds[4]);
- BC.SetAttribute("zmax",bounds[5]);
- FDTD_Opts.InsertEndChild(BC);
-
- openEMS.InsertEndChild(FDTD_Opts);
-
- if (CSX.Write2XML(&openEMS,true,true)==false)
- {
- cerr << "writing failed" << endl;
- exit(-1);
- }
-
- doc.InsertEndChild(openEMS);
-
- doc.SaveFile();
-}
-
-void BuildCoaxial_Cartesian(const char* filename)
-{
- int maxIter = 1000;
- double f0=1e9;
- double fc=1e9;
- int Excit_Type=0;
- int bounds[] = {0,0,0,0,0,0};
-
- cerr << "Create Geometry..." << endl;
- ContinuousStructure CSX;
-
- double rad[] = {100, 230};
- double length[] = {-500,1500};
- double abs_l = 200;
-
- double delta[] = {5,5,10};
-
- CSPrimBox* box = NULL;
- //fake pml....
- CSPropMaterial* mat = new CSPropMaterial(CSX.GetParameterSet());
-// mat->SetEpsilon(3.6);
- double finalKappa = 0.3/pow(abs_l,4);
- mat->SetKappa(finalKappa);
- std::ostringstream fct;
- fct << "pow(abs(z)-" << length[1]-abs_l << ",4)";
- mat->SetKappaWeightFunction(fct.str(),0);
- mat->SetKappaWeightFunction(fct.str(),1);
- mat->SetKappaWeightFunction(fct.str(),2);
- mat->SetSigma(finalKappa*__MUE0__/__EPS0__);
- mat->SetSigmaWeightFunction(fct.str(),0);
- mat->SetSigmaWeightFunction(fct.str(),1);
- mat->SetSigmaWeightFunction(fct.str(),2);
- CSX.AddProperty(mat);
-
- box = new CSPrimBox(CSX.GetParameterSet(),mat);
- box->SetCoord(0,-1.0*rad[1]);box->SetCoord(1,1.0*rad[1]);
- box->SetCoord(2,-1.0*rad[1]);box->SetCoord(3,1.0*rad[1]);
- box->SetCoord(4,length[1]-abs_l); box->SetCoord(5,length[1]);
- box->SetPriority(10);
- CSX.AddPrimitive(box);
-
- CSPropElectrode* elec = new CSPropElectrode(CSX.GetParameterSet());
- elec->SetExcitation(1.0,0);
- elec->SetExcitation(1.0,1);
- elec->SetWeightFunction("x/pow(rho,2)",0);
- elec->SetWeightFunction("y/pow(rho,2)",1);
- elec->SetExcitType(0);
-// elec->SetActiveDir(0,0);//disable x
-// elec->SetActiveDir(0,2);//disable z
-// elec->SetDelay(2.0e-9);
- CSX.AddProperty(elec);
-
-// double coords[] = {-100,-100,0};
-// cerr << elec->GetWeightedExcitation(0,coords) << endl;
-// cerr << elec->GetWeightedExcitation(1,coords) << endl;
-// exit(0);
-
- box = new CSPrimBox(CSX.GetParameterSet(),elec);
- box->SetCoord(0,-1.0*rad[1]);box->SetCoord(1,1.0*rad[1]);
- box->SetCoord(2,-1.0*rad[1]);box->SetCoord(3,1.0*rad[1]);
- box->SetCoord(4,length[0]);box->SetCoord(5,length[0]);
- box->SetPriority(5);
- CSX.AddPrimitive(box);
-
- //E-field dump
- CSPropDumpBox* Edump = new CSPropDumpBox(CSX.GetParameterSet());
- Edump->SetDumpType(0);
- Edump->SetDumpMode(0);
- Edump->SetName("Et_");
- CSX.AddProperty(Edump);
- box = new CSPrimBox(CSX.GetParameterSet(),Edump);
- box->SetCoord(0,-1*rad[1]);box->SetCoord(1,rad[1]);
- box->SetCoord(2,-0*rad[1]);box->SetCoord(3,0*rad[1]);
- box->SetCoord(4,length[0]);box->SetCoord(5,length[1]);
- CSX.AddPrimitive(box);
-
- //voltage calc
- CSPropProbeBox* volt = new CSPropProbeBox(CSX.GetParameterSet());
- volt->SetProbeType(0);
- volt->SetName("u1");
- CSX.AddProperty(volt);
- box = new CSPrimBox(CSX.GetParameterSet(),volt);
- box->SetCoord(0,rad[0]);box->SetCoord(1,rad[1]);
- box->SetCoord(2,0.0);box->SetCoord(3,0.0);
- box->SetCoord(4,0.0);box->SetCoord(5,0.0);
- CSX.AddPrimitive(box);
-
- //current calc
- CSPropProbeBox* curr = new CSPropProbeBox(CSX.GetParameterSet());
- curr->SetProbeType(1);
- curr->SetName("i1");
- CSX.AddProperty(curr);
- box = new CSPrimBox(CSX.GetParameterSet(),curr);
- box->SetCoord(0,-1.5*rad[0]);box->SetCoord(1,1.5*rad[0]);
- box->SetCoord(2,-1.5*rad[0]);box->SetCoord(3,1.5*rad[0]);
- box->SetCoord(4,0.0);box->SetCoord(5,0.0);
- CSX.AddPrimitive(box);
-
- CSPropMaterial* metal = new CSPropMaterial(CSX.GetParameterSet());
- metal->SetKappa(56e9);
-// CSPropMetal* metal = new CSPropMetal(CSX.GetParameterSet());
- CSX.AddProperty(metal);
- CSPrimCylinder* cyl = new CSPrimCylinder(CSX.GetParameterSet(),metal);
- cyl->SetRadius(rad[0]);
- cyl->SetCoord(0,0.0);cyl->SetCoord(1,0.0);
- cyl->SetCoord(2,0.0);cyl->SetCoord(3,0.0);
- cyl->SetCoord(4,length[0]);cyl->SetCoord(5,length[1]);
- cyl->SetPriority(100);
- CSX.AddPrimitive(cyl);
- box = new CSPrimBox(CSX.GetParameterSet(),metal);
- box->SetCoord(0,-1.0*rad[1]);box->SetCoord(1,1.0*rad[1]);
- box->SetCoord(2,-1.0*rad[1]);box->SetCoord(3,1.0*rad[1]);
- box->SetCoord(4,length[0]);box->SetCoord(5,length[1]);
- box->SetPriority(1);
- CSX.AddPrimitive(box);
-
- CSPropMaterial* air = new CSPropMaterial(CSX.GetParameterSet());
- CSX.AddProperty(air);
- cyl = new CSPrimCylinder(CSX.GetParameterSet(),air);
- cyl->SetRadius(rad[1]);
- cyl->SetCoord(0,0.0);cyl->SetCoord(1,0.0);
- cyl->SetCoord(2,0.0);cyl->SetCoord(3,0.0);
- cyl->SetCoord(4,length[0]);cyl->SetCoord(5,length[1]);
- cyl->SetPriority(9);
- CSX.AddPrimitive(cyl);
-
- CSRectGrid* grid = CSX.GetGrid();
-
- for (int n=-1.0*rad[1];n<=rad[1];n+=delta[0])
- grid->AddDiscLine(0,(double)n);
- for (int n=-1.0*rad[1];n<=rad[1];n+=delta[1])
- grid->AddDiscLine(1,(double)n);
- for (int n=length[0];n<=length[1];n+=delta[2])
- grid->AddDiscLine(2,(double)n);
-
- grid->SetDeltaUnit(1e-3);
-
- //*************** Create XML file **********************
- TiXmlDocument doc(filename);
- doc.InsertEndChild(TiXmlDeclaration("1.0","ISO-8859-1","yes"));
-
- TiXmlElement openEMS("openEMS");
-
- TiXmlElement FDTD_Opts("FDTD");
- FDTD_Opts.SetAttribute("NumberOfTimesteps",maxIter);
-
- TiXmlElement Excite("Excitation");
- Excite.SetAttribute("Type",Excit_Type);
- Excite.SetAttribute("f0",f0);
- Excite.SetAttribute("fc",fc);
- FDTD_Opts.InsertEndChild(Excite);
-
- TiXmlElement BC("BoundaryCond");
- BC.SetAttribute("xmin",bounds[0]);
- BC.SetAttribute("xmax",bounds[1]);
- BC.SetAttribute("ymin",bounds[2]);
- BC.SetAttribute("ymax",bounds[3]);
- BC.SetAttribute("zmin",bounds[4]);
- BC.SetAttribute("zmax",bounds[5]);
- FDTD_Opts.InsertEndChild(BC);
-
- openEMS.InsertEndChild(FDTD_Opts);
-
- if (CSX.Write2XML(&openEMS,true,true)==false)
- {
- cerr << "writing failed" << endl;
- exit(-1);
- }
-
- doc.InsertEndChild(openEMS);
-
- doc.SaveFile();
-}
-
-void BuildHelix(const char* filename)
-{
- int maxIter = 5e5;
- double f0=0.5e9;
- double fc=0.5e9;
- int Excit_Type=0;
- int bounds[] = {1,1,1,1,1,1};
-
- cerr << "Create Helix Geometry..." << endl;
- ContinuousStructure CSX;
-
- double feed_length=10;
- double wire_rad = sqrt(1.4/PI);
- double coil_rad = 10;
- double coil_length = 50;
- int coil_turns = 8;
- int coil_res = 10;
- double delta[] = {0.5,0.5,0.5};
-
- CSPrimBox* box = NULL;
-
- ParameterSet* PS = CSX.GetParameterSet();
- PS->AddParameter(new Parameter("rad_coil",coil_rad));
- PS->AddParameter(new Parameter("rad_wire",wire_rad));
- PS->AddParameter(new Parameter("turns",coil_turns));
- PS->AddParameter(new Parameter("coil_length",coil_length));
-
- CSPropMaterial* copper = new CSPropMaterial(CSX.GetParameterSet());
- copper->SetKappa(56e6);
- copper->SetName("copper");
- CSX.AddProperty(copper);
-
-// CSPropMetal* pec = new CSPropMetal(CSX.GetParameterSet());
-// CSX.AddProperty(pec);
-// CSPrimCurve* curve = new CSPrimCurve(CSX.GetParameterSet(),pec);
- CSPrimWire* curve = new CSPrimWire(CSX.GetParameterSet(),copper);
- curve->SetWireRadius("rad_wire");
- double p[3];
- double dt = 1.0/coil_res;
- double height=0;
- for (int n=0;nAddPoint(p);
- }
- height += coil_length/(double)coil_turns;
- }
-// exit(0);
- CSX.AddPrimitive(curve);
-
-// CSPrimUserDefined* helix = new CSPrimUserDefined(CSX.GetParameterSet(),copper);
-// helix->SetCoordSystem(CSPrimUserDefined::CYLINDER_SYSTEM);
-// helix->SetFunction("(r>(rad_coil-rad_wire))&(r0)&(zSetCoord(0,coil_rad); box->SetCoord(1,coil_rad+feed_length);
- box->SetCoord(2,-0.5); box->SetCoord(3,0.5);
- box->SetCoord(4,-0.5); box->SetCoord(5,0.5);
- CSX.AddPrimitive(box);
- box = new CSPrimBox(CSX.GetParameterSet(),copper);
- box->SetCoord(0,coil_rad); box->SetCoord(1,coil_rad+feed_length);
- box->SetCoord(2,-0.5); box->SetCoord(3,0.5);
- box->SetCoord(4,coil_length-0.5); box->SetCoord(5,coil_length+0.5);
- CSX.AddPrimitive(box);
- box = new CSPrimBox(CSX.GetParameterSet(),copper);
- box->SetCoord(0,coil_rad+feed_length-0.5); box->SetCoord(1,coil_rad+feed_length+0.5);
- box->SetCoord(2,-0.5); box->SetCoord(3,0.5);
- box->SetCoord(4,0.0); box->SetCoord(5,coil_length);///2.0-delta[2]);
- CSX.AddPrimitive(box);
-
- double kappa_resist = (coil_length/3.0)/50/1e-3;
- CSPropMaterial* Src_Resist = new CSPropMaterial(CSX.GetParameterSet());
- Src_Resist->SetKappa(kappa_resist,2);
- Src_Resist->SetIsotropy(false);
- Src_Resist->SetName("resist");
- CSX.AddProperty(Src_Resist);
- box = new CSPrimBox(CSX.GetParameterSet(),Src_Resist);
- box->SetPriority(100);
- box->SetCoord(0,coil_rad+feed_length-0.5); box->SetCoord(1,coil_rad+feed_length+0.5);
- box->SetCoord(2,-0.5); box->SetCoord(3,0.5);
- box->SetCoord(4,coil_length/3.0); box->SetCoord(5,coil_length/3.0*2.0);///2.0-delta[2]);
- CSX.AddPrimitive(box);
-// box = new CSPrimBox(CSX.GetParameterSet(),Src_Resist);
-// box->SetCoord(0,coil_rad+feed_length-0.5); box->SetCoord(1,coil_rad+feed_length+0.5);
-// box->SetCoord(2,-0.5); box->SetCoord(3,0.5);
-// box->SetCoord(4,coil_length/2.0+delta[2]); box->SetCoord(5,coil_length);
-// CSX.AddPrimitive(box);
-
- CSPropElectrode* elec = new CSPropElectrode(CSX.GetParameterSet());
- elec->SetExcitation(1.0,2);
- elec->SetExcitType(0);
-// elec->SetDelay(2.0e-9);
- CSX.AddProperty(elec);
- box = new CSPrimBox(CSX.GetParameterSet(),elec);
- box->SetCoord(0,coil_rad+feed_length+0.5); box->SetCoord(1,coil_rad+feed_length-0.5);
- box->SetCoord(2,-0.5); box->SetCoord(3,0.5);
- box->SetCoord(4,coil_length/3.0); box->SetCoord(5,coil_length/3.0*2.0);///2.0-delta[2]);
- CSX.AddPrimitive(box);
-
-// CSPropMetal* elec_mat = new CSPropMetal(CSX.GetParameterSet());
-// CSX.AddProperty(elec_mat);
-// box = new CSPrimBox(CSX.GetParameterSet(),elec_mat);
-// box->SetCoord(0,coil_rad+feed_length+0.5); box->SetCoord(1,coil_rad+feed_length-0.5);
-// box->SetCoord(2,-0.5); box->SetCoord(3,0.5);
-// box->SetCoord(4,coil_length/2.0-delta[2]); box->SetCoord(5,coil_length/2.0+delta[2]);
-// CSX.AddPrimitive(box);
-
- CSPropDumpBox* Edump = NULL;
- //E-field dump xz
- Edump = new CSPropDumpBox(CSX.GetParameterSet());
- Edump->SetDumpType(0);
- Edump->SetDumpMode(0);
- Edump->SetName("Et_xz_");
- CSX.AddProperty(Edump);
- box = new CSPrimBox(CSX.GetParameterSet(),Edump);
- box->SetCoord(0,coil_rad/-1.0-25.0);box->SetCoord(1,coil_rad/1.0+25.0+feed_length);
- box->SetCoord(2,0.0);box->SetCoord(3,0.0);
- box->SetCoord(4,-25.0);box->SetCoord(5,coil_length+25.0);
- CSX.AddPrimitive(box);
-
- CSPropDumpBox* Hdump = NULL;
- //H-field dump xz
- Hdump = new CSPropDumpBox(CSX.GetParameterSet());
- Hdump->SetDumpType(1);
- Hdump->SetDumpMode(0);
- Hdump->SetName("Ht_xz_");
- CSX.AddProperty(Hdump);
- box = new CSPrimBox(CSX.GetParameterSet(),Hdump);
- box->SetCoord(0,coil_rad/-1.0-25.0);box->SetCoord(1,coil_rad/1.0+25.0+feed_length);
- box->SetCoord(2,0.0);box->SetCoord(3,0.0);
- box->SetCoord(4,-25.0);box->SetCoord(5,coil_length+25.0);
- CSX.AddPrimitive(box);
-
-//
-// //E-field dump xy
-// Edump = new CSPropDumpBox(CSX.GetParameterSet());
-// Edump->SetDumpType(0);
-// Edump->SetName("Et_xy_");
-// CSX.AddProperty(Edump);
-// box = new CSPrimBox(CSX.GetParameterSet(),Edump);
-// box->SetCoord(0,width/-2.0);box->SetCoord(1,width/2.0);
-// box->SetCoord(2,0.0);box->SetCoord(3,height);
-// box->SetCoord(4,0.0);box->SetCoord(5,0.0);
-// CSX.AddPrimitive(box);
-
-// //E-field dump 3D
-// Edump = new CSPropDumpBox(CSX.GetParameterSet());
-// Edump->SetDumpType(0);
-// Edump->SetDumpMode(2); //cell interpolated dump
-// Edump->SetName("Et_");
-// CSX.AddProperty(Edump);
-// box = new CSPrimBox(CSX.GetParameterSet(),Edump);
-// box->SetCoord(0,MSL_width*-1.5);box->SetCoord(1,MSL_width*1.5);
-// box->SetCoord(2,0.0);box->SetCoord(3,MSL_height*1.5);
-// box->SetCoord(4,length/-2.0);box->SetCoord(5,length/2.0);
-// CSX.AddPrimitive(box);
-//
- //voltage calc
- CSPropProbeBox* volt = new CSPropProbeBox(CSX.GetParameterSet());
- volt->SetProbeType(0);
- volt->SetName("u1");
- CSX.AddProperty(volt);
- box = new CSPrimBox(CSX.GetParameterSet(),volt);
- box->SetCoord(0,coil_rad+feed_length);box->SetCoord(1,coil_rad+feed_length);
- box->SetCoord(2,0.0);box->SetCoord(3,0.0);
- box->SetCoord(4,coil_length);box->SetCoord(5,0.0);
- CSX.AddPrimitive(box);
-
- //current calc
- double curr_dist = 2;
- CSPropProbeBox* curr = new CSPropProbeBox(CSX.GetParameterSet());
- curr->SetProbeType(1);
- curr->SetName("i1");
- CSX.AddProperty(curr);
- box = new CSPrimBox(CSX.GetParameterSet(),curr);
- box->SetCoord(0,coil_rad+feed_length-curr_dist);box->SetCoord(1,coil_rad+feed_length+curr_dist);
- box->SetCoord(2,-curr_dist);box->SetCoord(3,curr_dist);
- box->SetCoord(4,coil_length/2.0);box->SetCoord(5,coil_length/2.0);
- CSX.AddPrimitive(box);
-
- CSRectGrid* grid = CSX.GetGrid();
-
- double offset[]={coil_rad/-1.0,coil_rad/-1.0,0.0};
- //graded mesh
- for (int n=0;n<3;++n)
- {
- grid->AddDiscLine(n,offset[n] - 25.0);
- grid->AddDiscLine(n,offset[n] - 15.0);
- grid->AddDiscLine(n,offset[n] - 10.0);
- grid->AddDiscLine(n,offset[n] - 5.0);
- grid->AddDiscLine(n,offset[n] - 2.0);
- grid->AddDiscLine(n,offset[n] - 1.0);
- grid->AddDiscLine(n,offset[n] - 0.5);
- }
-
- for (double n=coil_rad/-1.0;n<=coil_rad;n+=delta[0])
- grid->AddDiscLine(0,n);
- //feeding mesh
- grid->AddDiscLine(0,coil_rad+0.5);
- grid->AddDiscLine(0,coil_rad+1);
- grid->AddDiscLine(0,coil_rad+2);
- grid->AddDiscLine(0,coil_rad+3.5);
- grid->AddDiscLine(0,coil_rad+5);
- grid->AddDiscLine(0,coil_rad+7);
- grid->AddDiscLine(0,coil_rad+8);
- grid->AddDiscLine(0,coil_rad+9);
- grid->AddDiscLine(0,coil_rad+9.5);
- grid->AddDiscLine(0,coil_rad+10);
- for (double n=coil_rad/-1.0;n<=coil_rad;n+=delta[1])
- grid->AddDiscLine(1,n);
- for (double n=0.0;n<=coil_length;n+=delta[2])
- grid->AddDiscLine(2,n);
-
- offset[0]=coil_rad+feed_length;
- offset[1]=coil_rad;
- offset[2]=coil_length;
- for (int n=0;n<3;++n)
- {
- grid->AddDiscLine(n,offset[n] + 0.5);
- grid->AddDiscLine(n,offset[n] + 1.0);
- grid->AddDiscLine(n,offset[n] + 2.0);
- grid->AddDiscLine(n,offset[n] + 3.0);
- grid->AddDiscLine(n,offset[n] + 5.0);
- grid->AddDiscLine(n,offset[n] + 7.5);
- grid->AddDiscLine(n,offset[n] + 10.0);
- grid->AddDiscLine(n,offset[n] + 15.0);
- grid->AddDiscLine(n,offset[n] + 25.0);
- grid->Sort(n);
- }
-
- grid->SetDeltaUnit(1e-3);
-
- //*************** Create XML file **********************
- TiXmlDocument doc(filename);
- doc.InsertEndChild(TiXmlDeclaration("1.0","ISO-8859-1","yes"));
-
- TiXmlElement openEMS("openEMS");
-
- TiXmlElement FDTD_Opts("FDTD");
- FDTD_Opts.SetAttribute("NumberOfTimesteps",maxIter);
- FDTD_Opts.SetDoubleAttribute("endCriteria",1e-8);
-
- TiXmlElement Excite("Excitation");
- Excite.SetAttribute("Type",Excit_Type);
- Excite.SetAttribute("f0",f0);
- Excite.SetAttribute("fc",fc);
- FDTD_Opts.InsertEndChild(Excite);
-
- TiXmlElement BC("BoundaryCond");
- BC.SetAttribute("xmin",bounds[0]);
- BC.SetAttribute("xmax",bounds[1]);
- BC.SetAttribute("ymin",bounds[2]);
- BC.SetAttribute("ymax",bounds[3]);
- BC.SetAttribute("zmin",bounds[4]);
- BC.SetAttribute("zmax",bounds[5]);
- FDTD_Opts.InsertEndChild(BC);
-
- openEMS.InsertEndChild(FDTD_Opts);
-
- if (CSX.Write2XML(&openEMS,true,true)==false)
- {
- cerr << "writing failed" << endl;
- exit(-1);
- }
-
- doc.InsertEndChild(openEMS);
-
- doc.SaveFile();
-}
diff --git a/examples/FDTD_examples.h b/examples/FDTD_examples.h
deleted file mode 100644
index 7c5d200..0000000
--- a/examples/FDTD_examples.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
-* Copyright (C) 2010 Thorsten Liebig (Thorsten.Liebig@gmx.de)
-*
-* This program is free software: you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation, either version 3 of the License, or
-* (at your option) any later version.
-*
-* This program is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with this program. If not, see .
-*/
-
-#ifndef FDTD_EXAMPLES_H
-#define FDTD_EXAMPLES_H
-
-#include "ContinuousStructure.h"
-#include "tinyxml.h"
-
-void BuildDipol(const char* filename);
-
-void BuildPlaneWave(const char* filename);
-
-void BuildMSL(const char* filename);
-
-void BuildCoaxial_Cartesian(const char* filename);
-
-void BuildHelix(const char* filename);
-
-#endif // FDTD_EXAMPLES_H
diff --git a/examples/Helix.xml b/examples/Helix.xml
deleted file mode 100644
index 9f9b654..0000000
--- a/examples/Helix.xml
+++ /dev/null
@@ -1,190 +0,0 @@
-
-
-
-
-
-
-
-
- -35,-25,-20,-15,-12,-11,-10.5,-10,-9.5,-9,-8.5,-8,-7.5,-7,-6.5,-6,-5.5,-5,-4.5,-4,-3.5,-3,-2.5,-2,-1.5,-1,-0.5,0,0.5,1,1.5,2,2.5,3,3.5,4,4.5,5,5.5,6,6.5,7,7.5,8,8.5,9,9.5,10,10.5,11,12,13.5,15,17,18,19,19.5,20,20.5,21,22,23,25,27.5,30,35,45
- -35,-25,-20,-15,-12,-11,-10.5,-10,-9.5,-9,-8.5,-8,-7.5,-7,-6.5,-6,-5.5,-5,-4.5,-4,-3.5,-3,-2.5,-2,-1.5,-1,-0.5,0,0.5,1,1.5,2,2.5,3,3.5,4,4.5,5,5.5,6,6.5,7,7.5,8,8.5,9,9.5,10,10.5,11,12,13,15,17.5,20,25,35
- -25,-15,-10,-5,-2,-1,-0.5,0,0.5,1,1.5,2,2.5,3,3.5,4,4.5,5,5.5,6,6.5,7,7.5,8,8.5,9,9.5,10,10.5,11,11.5,12,12.5,13,13.5,14,14.5,15,15.5,16,16.5,17,17.5,18,18.5,19,19.5,20,20.5,21,21.5,22,22.5,23,23.5,24,24.5,25,25.5,26,26.5,27,27.5,28,28.5,29,29.5,30,30.5,31,31.5,32,32.5,33,33.5,34,34.5,35,35.5,36,36.5,37,37.5,38,38.5,39,39.5,40,40.5,41,41.5,42,42.5,43,43.5,44,44.5,45,45.5,46,46.5,47,47.5,48,48.5,49,49.5,50,50.5,51,52,53,55,57.5,60,65,75
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/examples/MSL.xml b/examples/MSL.xml
deleted file mode 100644
index f52d6c3..0000000
--- a/examples/MSL.xml
+++ /dev/null
@@ -1,79 +0,0 @@
-
-
-
-
-
-
-
-
- -500,-480,-460,-440,-420,-400,-380,-360,-340,-320,-300,-280,-260,-240,-220,-200,-180,-160,-140,-120,-100,-80,-60,-40,-20,0,20,40,60,80,100,120,140,160,180,200,220,240,260,280,300,320,340,360,380,400,420,440,460,480,500
- 0,10,20,30,40,50,60,70,80,90,100,110,120,130,140,150,160,170,180,190,200,210,220,230,240,250,260,270,280,290,300,310,320,330,340,350,360,370,380,390,400,410,420,430,440,450,460,470,480,490,500
- -1000,-980,-960,-940,-920,-900,-880,-860,-840,-820,-800,-780,-760,-740,-720,-700,-680,-660,-640,-620,-600,-580,-560,-540,-520,-500,-480,-460,-440,-420,-400,-380,-360,-340,-320,-300,-280,-260,-240,-220,-200,-180,-160,-140,-120,-100,-80,-60,-40,-20,0,20,40,60,80,100,120,140,160,180,200,220,240,260,280,300,320,340,360,380,400,420,440,460,480,500,520,540,560,580,600,620,640,660,680,700,720,740,760,780,800,820,840,860,880,900,920,940,960,980,1000
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/examples/PlaneWave.xml b/examples/PlaneWave.xml
deleted file mode 100644
index 3f5b280..0000000
--- a/examples/PlaneWave.xml
+++ /dev/null
@@ -1,75 +0,0 @@
-
-
-
-
-
-
-
-
- -500,-480,-460,-440,-420,-400,-380,-360,-340,-320,-300,-280,-260,-240,-220,-200,-180,-160,-140,-120,-100,-80,-60,-40,-20,0,20,40,60,80,100,120,140,160,180,200,220,240,260,280,300,320,340,360,380,400,420,440,460,480,500
- -500,-480,-460,-440,-420,-400,-380,-360,-340,-320,-300,-280,-260,-240,-220,-200,-180,-160,-140,-120,-100,-80,-60,-40,-20,0,20,40,60,80,100,120,140,160,180,200,220,240,260,280,300,320,340,360,380,400,420,440,460,480,500
- -2000,-1980,-1960,-1940,-1920,-1900,-1880,-1860,-1840,-1820,-1800,-1780,-1760,-1740,-1720,-1700,-1680,-1660,-1640,-1620,-1600,-1580,-1560,-1540,-1520,-1500,-1480,-1460,-1440,-1420,-1400,-1380,-1360,-1340,-1320,-1300,-1280,-1260,-1240,-1220,-1200,-1180,-1160,-1140,-1120,-1100,-1080,-1060,-1040,-1020,-1000,-980,-960,-940,-920,-900,-880,-860,-840,-820,-800,-780,-760,-740,-720,-700,-680,-660,-640,-620,-600,-580,-560,-540,-520,-500,-480,-460,-440,-420,-400,-380,-360,-340,-320,-300,-280,-260,-240,-220,-200,-180,-160,-140,-120,-100,-80,-60,-40,-20,0,20,40,60,80,100,120,140,160,180,200,220,240,260,280,300,320,340,360,380,400,420,440,460,480,500,520,540,560,580,600,620,640,660,680,700,720,740,760,780,800,820,840,860,880,900,920,940,960,980,1000,1020,1040,1060,1080,1100,1120,1140,1160,1180,1200,1220,1240,1260,1280,1300,1320,1340,1360,1380,1400,1420,1440,1460,1480,1500,1520,1540,1560,1580,1600,1620,1640,1660,1680,1700,1720,1740,1760,1780,1800,1820,1840,1860,1880,1900,1920,1940,1960,1980,2000
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/main.cpp b/main.cpp
index 23f9d9b..45c9e13 100644
--- a/main.cpp
+++ b/main.cpp
@@ -15,16 +15,14 @@
* along with this program. If not, see .
*/
+#include
+#include
#include
#include
#include
#include "openems.h"
-#include "examples/FDTD_examples.h"
-
-#define STANDALONE
-
#ifndef GIT_VERSION
#define GIT_VERSION "unknown:compiled@" __DATE__
#endif
@@ -35,7 +33,6 @@ int main(int argc, char *argv[])
{
openEMS FDTD;
-#ifdef STANDALONE
if (argc<=1)
{
cout << " | openEMS version " GIT_VERSION << endl;
@@ -53,32 +50,7 @@ int main(int argc, char *argv[])
}
}
- char* file = argv[1];
-#else
- //*************** setup/read geometry ************//
-
- const char* fileDP="../examples/Dipol.xml";
- BuildDipol(fileDP);
-
- const char* filePW="../examples/PlaneWave.xml";
- BuildPlaneWave(filePW);
-
- const char* fileMSL="../examples/MSL.xml";
- BuildMSL(fileMSL);
-
- const char* fileCoax="../examples/Coax_Cart.xml";
- BuildCoaxial_Cartesian(fileCoax);
-
- const char* fileHelix="../examples/Helix.xml";
- BuildHelix(fileHelix);
-
- const char* file=fileHelix;
-
- FDTD.DebugMaterial();
-// FDTD.DebugOperator();
-#endif
-
- int EC = FDTD.SetupFDTD(file);
+ int EC = FDTD.SetupFDTD(argv[1]);
if (EC) return EC;
FDTD.RunFDTD();
diff --git a/openEMS.pro b/openEMS.pro
index 66da7b3..1016be6 100644
--- a/openEMS.pro
+++ b/openEMS.pro
@@ -41,7 +41,6 @@ SOURCES += main.cpp \
FDTD/processfields.cpp \
FDTD/processfields_td.cpp \
FDTD/processcurrent.cpp \
- examples/FDTD_examples.cpp \
openems.cpp \
FDTD/engine_multithread.cpp \
FDTD/operator_cylinder.cpp \
@@ -64,7 +63,6 @@ HEADERS += tools/ErrorMsg.h \
FDTD/processfields.h \
FDTD/processfields_td.h \
FDTD/processcurrent.h \
- examples/FDTD_examples.h \
openems.h \
FDTD/engine_multithread.h \
FDTD/operator_cylinder.h \