create_bmp...ect_in_rect(1)
๐ธ NAME ๐ธ
create_bmp_for_rect_in_rect โ it's a bitmap generator for a rectangular conductor inside a rectangular conductor, and it's part of the atlc fam. Yes bestie, that's the whole manual page header vibe: it's section 1, General Commands Manual, and the page itself is filed under create_bmp...ect_in_rect(1) because apparently even man page titles deserve a little mystery. ๐
๐ซถ SYNOPSIS ๐ซถ
create_bmp_for_rect_in_rect [options... ] W H a b c d w h Er1 Er2
filename.bmp
Like, that's a lot of positional args, I know, but every single one of them matters and we're gonna go through them one by one, no skipping. ๐
โ ๏ธ WARNING โ ๏ธ
Okay so real talk for a sec. This man page is not a complete set of documentation โ the atlc project is just too complex for man pages to be an ideal way to document it, and honestly? Man pages get produced out of completeness anyway. ๐
The best documentation that was current at the time this version was produced should be sitting on your hard drive, usually at:
/usr/local/share/atlc/docs/html-docs/index.html
...although it might be somewhere else entirely if your system administrator chose to install the package elsewhere. Sometimes errors get corrected in the docs and posted at http://atlc.sourceforge.net/ before a new release of atlc drops.
And if you spot a problem with the documentation โ even spelling errors and typos โ please, please let them know. Fr fr, they asked nicely. ๐ฅบ
๐ DESCRIPTION ๐
create_bmp_for_rect_in_rect is a pre-processor for atlc, the finite difference program used to calculate the properties of a two and three conductor electrical transmission line of arbitrary cross section.
It's the fast way to generate bitmaps for a rectangular conductor inside a rectangular conductor, with two dielectrics โ no graphics program needed, we're just built different. โจ It looks like this:
----------------------------------------------------- ^
| | |
| <--------------d-------------------> | |
| | |
| <----------w-----------> | |
| ------------------------ ^ | |
| | | | | |
| | Metallic conductor | | | H
|<----b-->| conductor (can be | c Er1 | |
| | off-centre) | | | |
| | | | | |
| ------------------------------------ ^ | |
| |..................................| | | |
| |...Dielectric, permittivity=Er2...| | | |
|<-a->|.....(can be off centre ).........| h | |
| |..................................| | | |
| |..................................| | | |
----------------------------------------------------- |
<---------------------------W----------------------->
So here's the tea on the parameters ๐ต โ the parameters W and H are the inner dimensions of the outer conductor. The outer dimensions of the inner conductor are w and c. The inner conductor is assumed to rest on a dielectric (Er2) which is d wide, and the inner conductor is offset b from the left hand sidewall of the outer conductor. The whole region is surrounded by a dielectric of relative permittivity Er1.
And the page says, and I quote, "The dielectricsEr1and thenEr1andEr2will both be 1.0" โ we're keeping that exactly as written, no editing, that's just what it says bestie. ๐ญ
The bitmap is printed to the file specified as the last argument:
create_bmp_for_rect_in_rect -f filename.bmp W H a b c d w h Er1 Er2
The bitmaps it produces are 24-bit colour bitmaps, as are required by atlc.
The permittivities of the bitmap, set by Er1 and Er2, determine the colours in the bitmap. If Er1 or Er2 is 1.0, 1.0006, 2.1, 2.2, 2.33, 2.5, 3.3, 3.335, 3.7, 4.8, 10.2 or 100, then the colour corresponding to that permittivity will be set according to the colours defined in COLOURS below. ๐
- If
Er1is not one of those permittivities, the region of permittivityEr1will be set to the colour0xCAFF00. - If
Er2is not one of those values, then the region of the image will be set to the colour0xAC82AC.
And here's the catch, bestie: the program atlc does not know what these permittivities are, so atlc must be told with the command line option -d, as in example 4 below. ๐
โจ OPTIONS โจ
-bbitmapsize โ sets the size of the bitmap, and therefore the accuracy to whichatlcis able to calculate the transmission line's properties. The default value forbitmapsizeis normally4, although this is set at compile time. You can set the value anywhere from1to15, but more than8is probably not sensible. ๐-foutfile โ sets the output filename. By default, the bitmap is sent tostdout, but it *must* be sent to a file, with this option, or as described above. No cap.-vโ causescreate_bmp_for_rect_in_rectto print some data tostderr. Note: nothing extra goes to standard output, because that's expected to be redirected to a bitmap file. Keep it clean. ๐งผ
๐ COLOURS ๐
The 24-bit bitmaps that atlc expects have 8 bits assigned to represent the amount of red, 8 for blue and 8 for green. So there are 256 levels of red, green and blue, making a total of 256*256*256=16777216 colours. ๐คฏ Every single one of those possible 16777216 colours can be defined precisely by stating the exact amount of red, green and blue, as in:
red = 255,000,000 or 0xff0000
green = 000,255,000 or 0x00ff00
blue = 000,000,255 or 0x0000ff
black = 000,000,000 or 0x000000
white = 255,255,255 or 0xffffff
Brown = 255,000,255 or 0xff00ff
gray = 142,142,142 or 0x8e8e8e
Some colours, such as pink, turquoise, sandy, brown, gray etc may mean slightly different things to different people. This is not so with atlc, as the program expects the colours below to be EXACTLY defined as given. Whether you feel the colour is sandy or yellow is up to you, but if you use it in your bitmap, then it either needs to be a colour recognised by atlc, or you must define it with a command line option (see OPTIONS and example 5 below). โ๏ธ
red = 255,000,000 or 0xFF0000 is the live conductor.
green = 000,255,000 or 0x00FF00 is the grounded conductor.
blue = 000,000,000 or 0x0000FF is the negative conductor
All bitmaps must have the live (red) and grounded (green) conductor. The blue conductor is not currently supported, but it will be used to indicate a negative conductor, which will be needed if/when the program gets extended to analyse directional couplers. ๐ฎ
The following dielectrics are recognised by atlc and so are produced by create_bmp_for_rect_cen_in_rect. (Yes, it says create_bmp_for_rect_cen_in_rect right there in the source text โ we are not touching it, we are simply reporting. ๐)
white 255,255,255 or 0xFFFFFF as Er=1.0 (vacuum)
pink 255,202,202 or 0xFFCACA as Er=1.0006 (air)
L. blue 130,052,255 or 0x8235EF as Er=2.1 (PTFE)
Mid gray 142,242,142 or 0x8E8E8E as Er=2.2 (duroid 5880)
mauve 255.000,255 or 0xFF00FF as Er=2.33 (polyethylene)
yellow 255,255,000 or 0xFFFF00 as Er=2.5 (polystyrene)
sandy 239,203,027 or 0xEFCC1A as Er=3.3 (PVC)
brown 188,127,096 or 0xBC7F60 as Er=3.335 (epoxy resin)
Turquoise 026,239,179 or 0x1AEFB3 as Er=4.8 (glass PCB)
Dark gray 142,142,142 or 0x696969 as Er=6.15 (duroid 6006)
L. gray 240,240,240 or 0xDCDCDC as Er=10.2 (duroid 6010)
D. orange 213,160,067 or 0xD5A04D as Er=100.0 (mainly for test purposes)
๐ EXAMPLES ๐
Here are a few examples of the use of create_bmp_for_rect_in_rect. Again, see the html documentation in atlc-X.Y.Z/docs/html-docs/index.html for more examples. โจ
Example one โ there's just an air dielectric, so Er1=Er2=1.0. The inner of 1x1 inches (or mm, miles etc) is placed centrally in an outer with dimensions 3 x 3 inches.
The exact place where the dielectric starts (a) and its width (d) are unimportant, but they must still be entered. ๐ซ
% create_bmp_for_rect_in_rect 3 3 1 1 1 1 1 1 > ex1.bmp
% atlc ex1.bmp
Example two โ an inner of 15.0 mm x 0.5 mm is surrounded by an outer with internal dimensions of 61.5 x 20.1 mm. There is a material with permittivity 2.1 (Er of PTFE) below the inner conductor. The output from create_bmp_for_rect_in_rect is sent to a file ex1.bmp, which is then processed by atlc. ๐ธ
% create_bmp_for_rect_in_rect 61.5 20.1 5 22 0.5 50 15 5 1.0 2.1 >
ex2.bmp
% atlc ex2.bmp
Example three โ the bitmap is made larger, to increase accuracy, but otherwise this is identical to the second example. ๐
% create_bmp_for_rect_in_rect -b7 61.5 20.1 5 22 0.5 50 15 5 1.0 2.1 >
ex3.bmp
% atlc ex3.bmp
Example four โ materials with permittivities 2.78 and 7.89 are used. While there is no change in how to use create_bmp_for_rect_in_rect, since these permittivities are not known, we must tell atlc what they are. ๐ฅ
% create_bmp_for_rect_in_rect 61 20 1 4 22 0.5 50 15 5 2.78 7.89 > ex5.bmp
% atlc -d CAFF00=2.78 -d AC82AC=7.89 ex5.bmp
In the sixth and final example, the -v option is used to print some extra data to stderr from create_bmp_for_rect_in_rect. ๐
๐ SEE ALSO ๐
atlc(1)create_bmp_for_circ_in_circ(1)create_bmp_for_circ_in_rect(1)create_bmp_for_microstrip_coupler(1)create_bmp_for_rect_cen_in_rect(1)create_bmp_for_rect_cen_in_rect_coupler(1)create_bmp_for_rect_in_circ(1)create_bmp_for_stripline_coupler(1)create_bmp_for_symmetrical_stripline(1)design_coupler(1)find_optimal_dimensions_for_microstrip_coupler(1)readbin(1)
http://atlc.sourceforge.net - Home page
http://sourceforge.net/projects/atlc - Download area
atlc-X.Y.Z/docs/html-docs/index.html - HTML docs
atlc-X.Y.Z/docs/qex-december-1996/atlc.pdf - theory paper
atlc-X.Y.Z/examples - examples
And that's the whole page, bestie โ written by Dr. David Kirkby, from atlc-4.5.0, dated 28th Sept 2003. Old school but iconic, and the vibes are immaculate. Go make some bitmaps. ๐ฆ๐
๐ฆ where this page comes from
- debian bookworm: atlc 4.6.1-5
- debian trixie: atlc 4.6.1-6
- ubuntu jammy: atlc 4.6.1-5
- ubuntu noble: atlc 4.6.1-6build1
- ubuntu resolute: atlc 4.6.1-6build2
- ubuntu stonking: atlc 4.6.1-6build2
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms