diff --git a/Analyse/PlotVoltage.m b/Analyse/PlotVoltage.m
index 7422055..19989c1 100644
--- a/Analyse/PlotVoltage.m
+++ b/Analyse/PlotVoltage.m
@@ -2,6 +2,8 @@
clear all;
clc
+fmax = 50e6;
+
figure(1);
tmpu = load('../tmp/u1');
tmpi = load('../tmp/i1');
@@ -58,11 +60,11 @@ grid on;
figure(2);
subplot(2,1,1);
plot(f,real(fu./fi));
-xlim([0 1e9]);
+xlim([0 fmax]);
grid on;
subplot(2,1,2);
plot(f,imag(fu./fi));
-xlim([0 1e9]);
+xlim([0 fmax]);
grid on;
diff --git a/examples/Coax_Cart.xml b/examples/Coax_Cart.xml
index cd0032d..31f7b32 100644
--- a/examples/Coax_Cart.xml
+++ b/examples/Coax_Cart.xml
@@ -13,8 +13,8 @@
-
-
+
+
@@ -23,29 +23,29 @@
-
-
+
+
-
-
+
+
+
+
+
+
-
+
-
-
-
-
@@ -54,8 +54,8 @@
-
-
+
+
diff --git a/examples/FDTD_examples.cpp b/examples/FDTD_examples.cpp
index 48d963e..d028fb4 100644
--- a/examples/FDTD_examples.cpp
+++ b/examples/FDTD_examples.cpp
@@ -103,7 +103,7 @@ void BuildDipol(const char* filename)
void BuildPlaneWave(const char* filename)
{
- int maxIter = 1000;
+ int maxIter = 10000;
double f0=0.5e9;
double fc=0.5e9;
int Excit_Type=0;
@@ -614,6 +614,10 @@ void BuildHelix(const char* filename)
double coil_length = 50;
double delta[] = {0.5,0.5,0.5};
+ CSPrimBox* box = NULL;
+
+ ParameterSet* PS = CSX.GetParameterSet();
+
CSPropMaterial* copper = new CSPropMaterial(CSX.GetParameterSet());
copper->SetKappa(56e6);
copper->SetName("copper");
@@ -625,52 +629,58 @@ void BuildHelix(const char* filename)
CSX.AddPrimitive(helix);
CSPrimCylinder* cyl = new CSPrimCylinder(CSX.GetParameterSet(),copper);
cyl->SetRadius(wire_rad);
- cyl->SetCoord(0,coil_rad);cyl->SetCoord(1,coil_rad+feed_length);
- cyl->SetCoord(2,0.0);cyl->SetCoord(3,0.0);
- cyl->SetCoord(4,0.0);cyl->SetCoord(5,0.0);
+ cyl->SetCoord(0,coil_rad); cyl->SetCoord(1,coil_rad+feed_length);
+ cyl->SetCoord(2,0.0); cyl->SetCoord(3,0.0);
+ cyl->SetCoord(4,0.0); cyl->SetCoord(5,0.0);
CSX.AddPrimitive(cyl);
cyl = new CSPrimCylinder(CSX.GetParameterSet(),copper);
cyl->SetRadius(wire_rad);
- cyl->SetCoord(0,coil_rad);cyl->SetCoord(1,coil_rad+feed_length);
- cyl->SetCoord(2,0.0);cyl->SetCoord(3,0.0);
- cyl->SetCoord(4,coil_length);cyl->SetCoord(5,coil_length);
+ cyl->SetCoord(0,coil_rad); cyl->SetCoord(1,coil_rad+feed_length);
+ cyl->SetCoord(2,0.0); cyl->SetCoord(3,0.0);
+ cyl->SetCoord(4,coil_length); cyl->SetCoord(5,coil_length);
CSX.AddPrimitive(cyl);
- double kappa_resist = (coil_length-2.0*delta[2])/(PI*wire_rad*wire_rad)/50/1e-3;
+ double kappa_resist = (coil_length)/50/1e-3;
CSPropMaterial* Src_Resist = new CSPropMaterial(CSX.GetParameterSet());
- Src_Resist->SetKappa(kappa_resist);
+ Src_Resist->SetKappa(kappa_resist,2);
+ Src_Resist->SetIsotropy(false);
Src_Resist->SetName("resist");
CSX.AddProperty(Src_Resist);
- cyl = new CSPrimCylinder(CSX.GetParameterSet(),Src_Resist);
- cyl->SetRadius(wire_rad);
- cyl->SetCoord(0,coil_rad+feed_length);cyl->SetCoord(1,coil_rad+feed_length);
- cyl->SetCoord(2,0.0);cyl->SetCoord(3,0.0);
- cyl->SetCoord(4,0.0);cyl->SetCoord(5,coil_length/2.0-delta[2]);
- CSX.AddPrimitive(cyl);
- cyl = new CSPrimCylinder(CSX.GetParameterSet(),Src_Resist);
- cyl->SetRadius(wire_rad);
- cyl->SetCoord(0,coil_rad+feed_length);cyl->SetCoord(1,coil_rad+feed_length);
- cyl->SetCoord(2,0.0);cyl->SetCoord(3,0.0);
- cyl->SetCoord(4,coil_length/2.0+delta[2]);cyl->SetCoord(5,coil_length);
- CSX.AddPrimitive(cyl);
+ 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,0.0); box->SetCoord(5,coil_length);///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(1);
+ elec->SetExcitType(0);
// elec->SetDelay(2.0e-9);
CSX.AddProperty(elec);
- cyl = new CSPrimCylinder(CSX.GetParameterSet(),elec);
- cyl->SetRadius(wire_rad);
- cyl->SetCoord(0,coil_rad+feed_length);cyl->SetCoord(1,coil_rad+feed_length);
- cyl->SetCoord(2,0.0);cyl->SetCoord(3,0.0);
- cyl->SetCoord(4,coil_length/2.0-delta[2]);cyl->SetCoord(5,coil_length/2.0+delta[2]);
- CSX.AddPrimitive(cyl);
+ 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,0.0); box->SetCoord(5,coil_length);
+ 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;
- CSPrimBox* box = 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);
@@ -678,6 +688,20 @@ void BuildHelix(const char* filename)
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());
@@ -710,11 +734,11 @@ void BuildHelix(const char* filename)
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/2.0+delta[2]);box->SetCoord(5,coil_length/2.0-delta[2]);
+ box->SetCoord(4,coil_length);box->SetCoord(5,0.0);
CSX.AddPrimitive(box);
//current calc
- double curr_dist = 2;
+ double curr_dist = 1;
CSPropProbeBox* curr = new CSPropProbeBox(CSX.GetParameterSet());
curr->SetProbeType(1);
curr->SetName("i1");
@@ -746,8 +770,10 @@ void BuildHelix(const char* filename)
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);
@@ -764,7 +790,9 @@ void BuildHelix(const char* filename)
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);
diff --git a/examples/Helix.xml b/examples/Helix.xml
index e6fb18d..765e377 100644
--- a/examples/Helix.xml
+++ b/examples/Helix.xml
@@ -6,15 +6,15 @@
- -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,15,17,19,19.5,20,20.5,21,22,25,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,15,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,55,60,65,75
+ -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
-
-
+
+
@@ -22,34 +22,41 @@
-
-
-
-
+
+
+
+
-
+
-
-
-
+
+
+
+
+
+
+
+
+
+
-
+
-
+
@@ -67,29 +74,29 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
+
+
+
+
diff --git a/examples/MSL.xml b/examples/MSL.xml
index d8602bc..4043888 100644
--- a/examples/MSL.xml
+++ b/examples/MSL.xml
@@ -13,8 +13,8 @@
-
-
+
+
@@ -23,8 +23,8 @@
-
-
+
+
@@ -33,25 +33,25 @@
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
diff --git a/examples/PlaneWave.xml b/examples/PlaneWave.xml
index bb0e251..ad0bd42 100644
--- a/examples/PlaneWave.xml
+++ b/examples/PlaneWave.xml
@@ -1,6 +1,6 @@
-
+
@@ -8,7 +8,7 @@
-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
+ -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,-990,-980,-970,-960,-950,-940,-930,-920,-910,-900,-890,-880,-870,-860,-850,-840,-830,-820,-810,-800,-790,-780,-770,-760,-750,-740,-730,-720,-710,-700,-690,-680,-670,-660,-650,-640,-630,-620,-610,-600,-590,-580,-570,-560,-550,-540,-530,-520,-510,-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,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
@@ -22,32 +22,22 @@
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
-
-
-
+
+
+
@@ -63,18 +53,14 @@
-
-
-
-
-
+
-
+