Open lonAlpha opened 7 years ago
Here are better ways to write your input files.
blade_antenna.geo
:
L = 10; // triangle edge length (mesh fineness)
//Antenna
W_bottom = 20;
W_top = 100;
H = 220;
H2 = 77;
H_feed = 10;
W_feed = 10;
Point(1) = {-W_top/2, 0, H};
Point(2) = {-W_bottom/2, 0, H};
Point(3) = { W_bottom/2, 0, H};
Point(4) = { W_top/2, 0, H};
Line(1) = {1,2};
Line(2) = {2,3};
Line(3) = {3,4};
Transfinite Line(1) = 1 + (W_top-W_bottom)/(2*L);
Transfinite Line(2) = 1 + W_bottom/L;
Transfinite Line(3) = 1 + (W_top-W_bottom)/(2*L);
Extrude( 0, 0, -(H-H2) ) { Line{1,2,3}; Layers{(H-H2)/L}; }
Extrude( 0, 0, -(H2-H_feed) ) { Line{8}; Layers{(H2-H_feed)/L}; }
Line(50) = {11,5};
Line(51) = {12,10};
Line Loop(52) = {4,17,50};
Line Loop(53) = {-12,18,51};
Plane Surface(54) = {52};
Plane Surface(55) = {53};
// Ground plane
L_ground = 230;
W_ground = 50;
Point(101) = { -L_ground/2, -W_ground/2, -H_feed};
Point(102) = { -L_ground/2, W_ground/2, -H_feed};
Line(101) = {101,102};
Transfinite Line{101} = 1 + W_ground/L;
Extrude ( L_ground, 0, 0 ) { Line{101}; Layers{L_ground/L}; }
blade_antenna.ports
:
PORT
PPOLYGON -20 -20 +10 -20 20 +10 20 20 +10 20 -20 +10
MPOLYGON -25 -25 -10 -25 25 -10 25 25 -10 25 -25 -10
ENDPORT
blade_antenna.scuffgeo
:
OBJECT blade_antenna
MESHFILE blade_antenna.msh
ENDOBJECT
Generate visualization files:
% gmsh -2 blade_antenna.geo
% scuff-analyze --geometry blade_antenna.scuffgeo --WriteGMSHFiles
% scuff-rf --geometry blade_antenna.scuffgeo --portfile blade_antenna.ports --PlotPorts
% gmsh blade_antenna.pp blade_antenna.ports.pp
Compute input impedance:
% scuff-rf --geometry blade_antenna.scuffgeo --portfile blade_antenna.ports --minFreq 0.4 --maxFreq 0.8 --numFreqs 60 --zParameters
Let me know if this works for you.
Thanks for your detailed explanation. Transfinite line works better for rectangular ground.
If the ground is an irregular shape or corrugated, then how should the port be created?
It seems that the port needs to be 'exterior edges'. If a line is embedded in a surface, is there a workaround to set this line as port? If this works, I can change the ground without modifying the port.
The original error message is as below. Does this mean scuff-em does not handle junction where one edge can belong to 3 panels. This kind of junction is different from the MultiMaterialJunction.
error: blade_antenna.msh: invalid mesh topology: edge 0 of panel 210 also belongs to panels 136 and 137
It seems that the port needs to be 'exterior edges'.
That is correct.
If a line is embedded in a surface, is there a workaround to set this line as port? If this works, I can change the ground without modifying the port.
There is no workaround at the moment. However, I think I know how to implement this feature, so that a current could be fed directly into an interior edge as a port.
But I don't want to do this unless there's a clear test case with known results that we could use to check the correctness of the new feature. Could you supply such a test case, with known results for comparison?
Hi, What about this case? The proposed line port could lie on the box and the ground. Box-Shaped Antenna on a Finite Plate
And this is the S_11 result
box_antenna.geo
// This example is from http://www.tet.tuhh.de/concept/numerical-benchmarks/?lang=en
// Benchmark 4: Box-Shaped Antenna on a Finite Plate
lc = 1;
L_ground = 30;
H_feed = 1;
X_box = 5.4;
Y_box = 7.2;
Z_box = 5.6;
Point(1) = {-X_box/2, -Y_box/2, 0, lc};
Point(2) = { X_box/2, -Y_box/2, 0, lc};
Line(1) = {1,2};
Extrude {0, Y_box, 0} {
Line{1};
}
Extrude {0, 0, Z_box} {
Surface{5};
}
Point(100) = {-L_ground/2, -L_ground/2, -H_feed, lc};
Point(101) = { L_ground/2, -L_ground/2, -H_feed, lc};
Line(100) = {100,101};
Extrude {0, L_ground, 0} {
Line{100};
}
// line feed
L_feed = 0.5;
Point(200) = { -L_feed/2, 0, 0};
Point(201) = { L_feed/2, 0, 0};
Line(200) = {200,201};
Translate {0, 0, -H_feed} {
Duplicata { Line{200}; }
}
Line{200} In Surface{5};
Line{201} In Surface{104};
blade_antenna.zip
Hi, Can scuff-rf handle junction? For example, I want to simulate the attached blade antenna,I get an error message. Am I doing something wrong?
How to reproduce: Download and unzip blade_antenna.zip scuff-rf < blade_antenna.args