circ_in_circ ‐ bitmap generator for circular conductor
inside circular conductor (part of atlc)

circ_in_circ [options... ] D d O Er

This man page is not a complete set of documentation. See
the html files for more complete information. So far, I’ve
not managed to install the html files into /usr/local, so
you will have to look into the atlc‐X.Y.Z/docs/html‐docs
directory for them.

circ_in_circ is a pre‐processor for atlc, the finite
difference programme that is used to calculate the
properties of a two‐conductor electrical transmission line
of arbitrary cross section. The programme circ_in_circ is
used as a fast way of generating bitmaps (there is no need
to use a graphics programme), for a circular conductor
inside a circular conductor (coaxial conductors), like this:

                ****                 ****
             ****    <‐‐‐‐‐d‐‐‐‐‐‐>     ****
           ***            *****            ***
         ***           ***********           ***
       ***            *************            ***
      ***            ***************            ***
     ***      ^      ***************             ***
    ***       |      ***************              ***
   ***        |       *************                ***
   **         O        ***********                  **
  ***         |            ***                      ***
  **          |                                      **
  **                                                 **
  **                                                 **
  **                                                 **
  ***                                               ***
   **                                               **
   ***                                             ***
    **                                             **
     **                                           **
      **                                         **
       ***                                     ***
        ****                                 ****
          ****                             ****
            *****                       *****
               ******               ******
The parameter ’D’ is the inner dimensions of the outer
conductor and ’d’ is the outer diameter of the inner
conductor.  The inner conductor is offset ’h’ from the
centre of the outer conductor. The whole region is
surrounded by a dielectric of relative permittivity ’Er’.


     The bitmap is printed to standard output, which MUST be
re‐directed to either a file in one of the following two
The bitmaps produced by circ_in_circ are 24‐bit bit colour
bitmaps, as are required by atlc.

The permittivities of the dielectric ’Er’ determines the
colours in the bitmap. If Er is 1.0, 1.006, 2.1, 2.2, 2.33,
2.5, 3.3, 3.335, 4.8 or 10.2, then the colour corresponding
to that permittivity will be set according to the colours
defined in COLOURS below. If Er is not one of those
permittivities, the region of permittivity Er will be set to
the colour 0xCAFF00. The programme atlc does not know what
this permittivity is, so atlc, must be told with the command
line option ‐d, as in example 4 below.

‐b bitmapsize
is used to set the size of the bitmap, and so the accuracy
to which atlc is able to calculate the transmission line’s
properties. The default value for ’bitmapsize’ is normally
4, although this is set at compile time. The value can be
set anywhere from 1 to 15, but more than 8 is probably not

     ‐f outfile
Set the output filename. By default, the bitmap is sent to
stdout, but it *must* be sent to a file, with this option,
or as described above.  ‐v
Causes circ_in_circ to print some data to stderr. Note,
nothing extra goes to standard output, as that is expected
to be redirected to a bitmap file.

The 24‐bit bitmaps that atlc expects, have 8 bits assigned
to represent the amount of red, 8 for blue and 8 for green.
Hence there are 256 levels of red, green and blue, making a
total of 256*256*256=16777216 colours.  Every one of the
possible 16777216 colours can be defined precisely by the
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, turquiose, sandy, brown,
gray etc may mean slightly different things to different
people. This is not so with atlc, as the programme 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).
The following conductors are recognised by atlc:
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 0x000000 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 programme gets
extended to analyse directional couplers.

     The following dielectrics are recognised by atlc and so
are produced by circ_in_circ.

     white     255,255,255 or 0xFFFFFF as Er=1.0   (vacuum)
pink      255,202,202 or 0xFFCACA as Er=1.0006 (air)
blue      000,000,255 or 0x0000FF 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 ox696969 as Er=6.15  (duroid 6006)
L. gray   240,240,240 or 0xDCDCDC as Er=10.2  (duroid 6010)

Although circ_in_circ is used for circular inner and outer
conductors, the outside of the outer conductor is drawn as a
square. This is for convenience and makes no difference to
the calculations. The inside is of the outer conductor is
drawn as a circle.

Here are a few examples of the use of circ_in_circ. Again,
see the html documentation in atlc‐X.Y.Z/docs/html‐
docs/index.html for more examples.  1) In the first example,
the outer conductor has an inside diameter of 12 units
(inches, mm, feet etc.), the inner has an outside diameter
of 3.9 units.  The inner is placed centrally (h=0) and the
dielectric is vacuum (Er=1.0).
% circ_in_circ 12 3.9 0 1.0 > coaxial_1.bmp
% atlc coaxial_1.bmp
atlc will indicate the correct value of impedance to be
67.3667 Ohms, whereas an exact analysis will show the true
value to be 67.4358 Ohms, so atlc has an error of 0.102%.
2) In this second example, the conductor sizes are the sames
as in example 1, but the inner is located 3.5 units off‐
centre and the dielectric has a relative permittivity of 2.1
(Er of PTFE) The output is sent to a file not_in_centre.bmp
which is then processed by atlc
% circ_in_circ 12 3.9 3.5 2.1 > not_in_centre.bmp
% atlc not_in_centre.bmp
The impedance of this is theoretically 24.315342 Ohms, as


circ_in_circ will calculate for you. atlc’s esitmate is
24.2493 Ohms, an error of only ‐0.271 %.  3) In the third
example the bitmap is made larger, to increase accuracy, but
otherwise this is identical to the previous one.
% circ_in_circ ‐b8 12 3.9 3.5 2.1 > bigger_not_in_centre.bmp
% atlc bigger_not_in_centre.bmp
This time atlc will take much longer to calculate Zo, since
the bitmap is larger and so it needs to do more
calculations. However, the final result should be more
accurate. In this case, the result reported is 24.2461 Ohms,
an error that’t manginally smaller than before at 0.285 %.
It is possible there may be something to be gained by
decreassing the cutoff at larger grids, so this is being
investigated. However, errors almost always below 0.25 %, no
matter what is being analysed.  In the fourth example,
instead of re‐directing circ_in_circ’s output to a file with
the > sign, it is done using the ‐f option.
% circ_in_circ ‐f 13inner_22outer_coax.bmp 22 13 0 1.0
% atlc 13inner_22outer_coax.bmp
%atlc will calculate an impedance of 32.5063 Ohms, whereas
the correct value, calculated using the formula Zo=60
log(D/d) is 31.5656 Ohms, so altc has an error of ‐0.187 %.
In the fifth example, a material with a relativity
permittivity 7.89 of is used. While there is no change in
how to use circ_in_circ, since this permittivity is not one
of the pre‐defined values (see COLOURS), we must tell atlc
what it is % circ_in_circ 23 9 0 7.89 > an_odd_er.bmp
% atlc ‐d CAFF00=7.89 an_odd_er.bmp This has a theoretical
impedance of 20.041970 Ohms, but atlc version 3.0.1 will
calculate it to be 20.0300, an error of ‐0.058 % !!! If you
look at the file an_odd_er.bmp with a graphics package, you
will see there are 3 colours in it ‐ the red inner
conductor, the green outer and an olive‐green dielectric.

atlc(1), rect_cen_in_rect(1), rect_in_rect(1).
rect_in_circ(1), circ_in_rect(1).  rect_in_circ(1),
readbin(1) and sym_strip(1).                ‐ Home page       ‐ 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
http://www.david‐              ‐ my home page
http://www.david‐          ‐ ham radio pages