create_bmp_for_rect_in_rect
parrot /export/home/davek/atlc-2.02/src % create_bmp_for_rect_in_rect Usage: create_bmp_for_rect_in_rect [-b bmp_size] [-f outfile] [-v] W H a b c d w h Er1 Er2 where W, H, a, b, c, d, w, and h are all in mm or all in inches (they *must* use the same units. Non-integers allowed for all parameters) options are: -b bmp_size Sets the size of the bitmap, the range 1 to 15 (default 3). -f outfile Write output to 'outfile' instead of stdout -v Write diagnostic information to stderr ----------------------------------------------------------------------- ^ | | | | Dielectric, permittivity=Er1 | | | | | | <----------------d-------------------------> | | | | | | <----------w-----------> | | | ------------------------ ^ | | | | | | | | | | Metallic conductor | | | H |<-----b----->| conductor (can be | c | | | | off-centre) | | | | | | | | | | | |------------------------------------------- ^ | | | |..........................................| | | | | |.....Dielectric, permittivity=Er2.........| | | | |<--a-->|.......(can be off centre )...............| h | | | |..........................................| | | | | |..........................................| | | | ----------------------------------------------------------------------- v <----------------------------------W---------------------------------> ***WARNING*** Since the output from create_bmp_for_rect_in_rect is binary data (the bitmap) it will screw up your terminal unless you redirect the output to a file. The '-f' option can be used to send the output to 'outfile' parrot /export/home/davek/atlc-2.02/src %Here's an example of using
create_bmp_for_rect_in_rect
.atlc
and create_bmp_for_rect_in_rect
) it is simply put on the command line, as is the vacuum (white region).
create_bmp_for_rect_in_rect 61.5 20.13 5.1 22.5 0.5 50 15.0 5.0 1.0 2.1; test.bmpThe output was redirected to a file
test.bmp
, which would then be read with atlc.
% atlc test.bmpThat is all that needs to be done.
create_bmp_for_rect_in_rect
must attempt to fit your dimensions to a square grid. If all dimensions are small integers, this is easy to do, but in some cases this is not possible without having very large grids. In this case, create_bmp_for_rect_in_rect
can only generate an approximation of what you want. For example, assume a structure is 120x240.0001 mm wide. It's impossible to represent that on a square grid, without having a grid of at least 1200000 x 2400001, which would be prohibitively large and requre an enormous amount of time for atlc
to analyse. In this case, create_bmp_for_rect_in_rect
will approximate this structure. Here is a very approximate idea of the sizes of the bitmaps, and the time to analyse in atlc, for various values of b.
b | size (kb) | time (min:sec, for single 125 MHz CPU, Er1=Er2) |
1 | 35 | 0:10 |
2 | 74 | 0:38 |
3 | 74 | 0:38 |
4 | 195 | 3:59 |
5 | 278 | |
% create_bmp_for_rect_in_rect -v 61.5 20.13 5.1 22.5 0.5 50 15.0 5.0 1.0 2.1 test.bmp User requested: WW=61.500000 HH=20.130000 a=5.100000 b=22.500000 c=0.500000 d=50.000000 w=15.000000 h=5.000000Er1=1.000000 Er2=2.100000 Internally the programme is using the following grid: W=492 H=161 a=41 b=180 c=4 d=400 w=120 h=40. The grid size is 0.125000 mm, inches or whatever This means we are simulating a transmission line with these dimensions: W=61.500000 H=20.125000 a=5.125000 b=22.500000 c=0.500000 d=50.000000 w=15.000000 h=5.000000 (mm, inches or whatever) These may be slightly different to what you indicated on the command line, but they are the best approximation possible, given the grid size parrot /export/home/davek/atlc-2.02/src %
atlc
in a reasonable time. It's possible to reduce the size of the bitmap, so giving lower accuracy, but in less time, by setting b to 1 or 2, as like this.% create_bmp_for_rect_in_rect -b 1 61.5 20.13 5.1 22.5 0.5 50 15.0 5.0 1.0 2.1 test2.bmp % atlc test2.bmpor of course accuracy can be improved, by making b larger, as in:
% create_bmp_for_rect_in_rect -b 6 61.5 20.13 5.1 22.5 0.5 50 15.0 5.0 1.0 2.1 test3.bmp % atlc test3.bmp
atlc is written and supported by Dr. David Kirkby (G8WRB) It it issued under the GNU General Public License