1 ****** Version 4.6.0 Realeased ??? November 2003
5 has been modified so it updates the NEWS.html file.
7 atlc/examples directory.
8 Have removed the following files from the distribution:
9 atlc/examples/100-Ohm-201b.bmp \
10 atlc/examples/100-Ohm-401b.bmp \
11 atlc/examples/200-Ohm-201b.E.bmp \
12 atlc/examples/200-Ohm-201b.Er.bmp \
13 atlc/examples/200-Ohm-201b.Ex.bmp \
14 atlc/examples/200-Ohm-201b.Ey.bmp \
15 atlc/examples/200-Ohm-201b.U.bmp \
16 atlc/examples/200-Ohm-201b.V.bmp \
17 atlc/examples/200-Ohm-201b.bmp \
18 atlc/examples/200-Ohm-401b.bmp \
19 atlc/examples/200-Ohm-801b.bmp \
20 atlc/examples/25-Ohm-201b.bmp \
21 atlc/examples/25-Ohm-401b.bmp \
22 atlc/examples/25-Ohm-401h.bmp \
23 atlc/examples/25-Ohm-801h.bmp \
24 atlc/examples/50-Ohm-201h.bmp \
25 atlc/examples/50-Ohm-401h.bmp
27 I'm not sure they were that usful, given there are plenty of
28 files like 50ohm-201h.bmp etc.
30 Remove atlc/examples/13inner_22outer_coax.bmp.txt too, as there was
31 no 13inner_22outer_coax.bmp to match up with it.
33 atlc/docs/html-docs/accuracy.html
34 Completed updated all results to those obtained with ver 4.6.0
35 Put into 4 sections detailing:
36 Section 1. Two conductor Transmission Lines with a Uniform Dielectric
37 Section 2. Two-conductor Transmission Lines with a non-uniform dielectric
38 Section 3. Accuracy of atlc with coupled lines
39 Section 4. Conclusions about the accuracy of atlc
41 Added a completly new section:
42 2.1 Comparision of atlc and a dual dielectric coaxial cable
46 atlc/src/non_gui/create_bmp_for_symmetrical_stripline.c
47 This no longer computes the theretical impedance if the
48 structure is too narrow. Only computes if the -v option
51 atlc/src/create_bmp_for_circ_in_circ.c
52 Will now print sensible error messages if the inner conductor is too big
53 or if the inner and outer will touch since the offset is too large
55 atlc/src/set_oddity_value.c
56 This sets a global array unsigned char **oddity; to a value describing
57 if the pixel is matallic, has conductors to the right/left etc.
58 cell_type was not adequate for this, since once you had set one cell,
59 you did not know the result for those around it. #
61 atlc/src/non_gui/print_data_for_directional_couplers.c
62 No longer fails to print intermediate values of impedance if
63 verbose is >2 as it did before.
65 atlc/src/non_gui/write_fields_for_two_conductor_lines.c
66 This can now write the oddity values from set_oddity_value()
67 to a bitmap file, although this has been commented out by default.
70 A huge number of changes were made to this release. Not every
71 one is fully documented, as to do so I would have spent as long
72 documenting the code as writing it.
73 ****** Version 4.5.1 Released 16th October 2003 ****
74 A problem with multiple dielectrics has been discoved, and aslo with
75 multi-threaded operating. As such, both have been disabled. This affects
79 changed version to 4.5.1
80 No longer accepts the option --with-threads, since I have some
81 suspicions about threaded code.
83 docs/html-docs/examples.html
84 Removed the example of multi-dielectrics, as that is not working
87 docs/html-docs/FAQ.html
88 Changed the answer to 'No' about the qestion of multi-dielectrics
90 docs/html-docs/multi-processing.html
91 Mentioned this has been disabled.
93 docs/html-docs/accuracy.html
94 Pointed out multiple dielectrics are not working properly
96 src/non_gui/definitions.h
97 Removed two duplicate function definitions for
98 free_cmatrix and ustring, whilst removing the #define
99 around the #ifdef ENABLE_MPI so there is only one
100 definition of do_columns now.
102 Added the variable 'size' to several functions -
103 do_fd_calculation.c, write_fields_for_directional_couplers.c,
104 write_fields_for_two_conductor_lines.c
107 src/non_gui/do_fd_calculation.c
108 Added variable 'size' as a command line argument to stop
109 it needing to be declared global.
111 src/non_gui/do_fd_calculation.c
112 Added variable 'size' as a command line argument to stop
113 it needing to be declared global.
115 src/non_gui/write_fields_for_two_conductor_lines.c
116 Added variable 'size' as a command line argument to stop
117 it needing to be declared global.
120 size_t size is no longer global but local to main. This would at first
121 checking appear to stop the issue with all (which was one or two)
122 test failures on AIX 5.2. Later I found this is not so and there
123 is a problem in the multi-threaded code for atlc.
125 tests/WARNING--The-next-test+benchmark-takes-a-long-while.test
126 return 0 (pass), as previously it did multi-dielectrics.
129 Removed 2[b-h]* from the tests. 2a-create_bmp_for_rect_in_rect.bmp.test
133 ****** Version 4.5.0 Released 13th September 2003 ****
135 The ChangeLog shows version 4.5.0 being released on
136 the 13th September, when it fact it was the 11th of
139 WRONG XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
140 ****** Version 4.5.0 Released 13th September 2003 ****
141 WRONG XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
144 mention lattest news - mainly correction of a few errors
145 and the fact its no longer necessary to link in gsl.
148 changed, as the old version was accidently deleted and
149 I could not be bothered to read from tape. Might not be
150 100% okay, but it is not needed for use of atlc - only
153 'update' added to CVS tree
154 Added a file called 'update' that generates docs/html-docs/*.1.html
155 and docs/html-docs/BUGS.html This uses header and footer for the
156 generation of docs/html-docs/BUGS.html
158 'header' and 'footer'' added to CVS tree
159 used with 'update' to generate docs/html-docs/BUGS.html
162 Removed, as information is out of date.
164 tests/find-zero-length.test
165 Added a file to check for the existance on zero length
166 files in the source distribution.
169 Incremented version to 4.5.0
170 Removed tests for gsl and all that involved.
171 Removed tets for the sizeof short, int and long
172 as they are not needed.
174 man/man1/create_bmp_for_stripline_coupler.1
175 changed email address to make it less easy for spammers to grab.
177 man/man1/man-pages.html
178 Added a new man page for design_coupler.1.html
180 src/calculate_Zodd_and_Zeven.c:
181 Added #include gsl_types.h and #include "gsl_definitions.h"
183 src/non_gui/usage_create_bmp_for_symmetrical_stripline
184 made it print the fact the -v option computes the
185 theoeretical impedance. Before the binary did it, but
186 the usage message did not say so.
188 docs/html-docs/jpgs/home-email.jpg
189 Added new file with my email address, that is not easy to
192 Removed all occurance of my email address from the html
193 files, so that those published on the web are less likely
197 All the following had my email address removed
198 usage_create_bmp_for_stripline_coupler.c
199 usage_create_bmp_for_rect_in_rect.c
200 usage_create_bmp_for_rect_in_circ.c
201 usage_create_bmp_for_rect_cen_in_rect_coupler.c
202 usage_create_bmp_for_rect_cen_in_rect.c
203 usage_create_bmp_for_microstrip_coupler.c
204 usage_create_bmp_for_circ_in_rect.c
205 usage_create_bmp_for_circ_in_circ.c
206 usage_atlc.c swap_conductor_voltages.c setup_arrays.c
207 read_bitmap_file_headers.c
208 print_data_for_two_conductor_lines.c
209 print_data_for_directional_couplers.c
213 get_file_pointer_with_right_filename.c
214 get_Er1_and_Er2_colours.c
215 finite_difference_single_threaded.c
216 finite_difference_multi_threaded.c
217 finite_difference_mpi.c
218 find_maximum_values.c
219 find_energy_per_metre.c
220 find_electric_fields.c
224 exit_with_msg_and_exit_code.c
226 create_bmp_for_rect_in_rect.c
227 create_bmp_for_rect_in_circ.c
228 create_bmp_for_rect_cen_in_rect_coupler.c
230 tests/8a-design_coupler.bmp.test
231 Removed the test for gsl library and so to exit with 77 if not present.
233 Added a second checksum:
234 aebd9a6d1c1db548d39723edec454640
235 that is acceptable, as this will be produced on
238 tests/6e-create_50ohm_401Pixel_high_symmetrical_stripline.test
240 tests/7n-create_bmp_for_stripline_coupler.bmp.pre-atlc.txt.test
241 Removed the test for gsl library and so to exit with 77 if not present.
243 tests/10b-create-lots-of-examples-check-last-one.test
244 Removed the test for gsl library and so to exit with 77 if not present.
246 tests/10a-create-lots-of-examples-check-last-one.test
247 Removed the test for gsl library and so to exit with 77 if not present.
249 src/non_gui/gsl_sf_ellint_Kcomp.c
250 Added new file that basically has the gsl_sf_ellint_Kcomp
251 function for computing the elliptic integral. This requires
252 several functions for it to opperate, as it calls several
253 functions. These are all in the same file gsl_sf_ellint_Kcomp.c
256 src/non_gui/definitions.h
257 Added quite a few function definitions, #defines etc to allow
258 the gsl_sf_ellint_Kcomp function to work. It needed several
259 other functions added.
262 ****** Version 4.4.4 Released 13th September 2003 ****
264 Version incremented to 4.4.4
267 mention made of the fact the sources have been
268 changed primarily so it should build under Windoze.
270 docs/html-docs/jpgs/Makefile.am
271 added bluefish.jpg properly to the file - it was
272 missing partically before, so bluefish.jpg was
273 not included in the distribution.
275 docs/html-docs/create_bmp_for_symmetrical_stripline.1.html
276 Autogenerated, reflecting changes in man page, which
277 was a change in the warning information about the
278 inability of man pages to fully describe the atlc
281 docs/html-docs/create_bmp_for_symmetrical_stripline.1.html
282 Autogenerated, reflecting changes in man page, which
283 was a change in the warning information about the
284 inability of man pages to fully describe the atlc
288 Removed text saying man page is not a full set of
289 docs, since in the case of the simple sysdata.1, the
290 man page adequately describes the function. This is
291 no so really with some of the other man pages, because
292 your can't really describe fully how to use such
293 programs with man pages.
295 src/non_gui/create_bmp_for_rect_in_rect.c
296 Changed fopen to open in binary mode, to make it work
299 src/non_gui/find_optimal_dimensions_for_microstrip_coupler.c
300 Changed fopen to open in binary mode, to make it work
303 src/non_gui/create_bmp_for_symmetrical_stripline.c
304 Changed fopen to open in binary mode, to make it work
307 src/non_gui/create_bmp_for_rect_in_circ.c
308 Changed fopen to open in binary mode, to make it work
311 src/non_gui/create_bmp_for_rect_cen_in_rect_coupler.c
312 Changed fopen to open in binary mode, to make it work
315 src/non_gui/create_bmp_for_rect_cen_in_rect.c
316 Changed fopen to open in binary mode, to make it work
319 src/non_gui/create_bmp_for_microstrip_coupler.c
320 Changed fopen to open in binary mode, to make it work
323 src/non_gui/create_bmp_for_circ_in_rect.c
324 Changed fopen to open in binary mode, to make it work
327 tests/8a-design_coupler.bmp.test
328 Changed so the temporary storage is no longer in /tmp
329 but instead in $top_builddir/tmp/results. This should be
330 compatible with Windoze, but I don't know for sure if it is
331 yet. I don't build Windoze binaries.
334 Changed fopen to open in binary mode, to make it work
337 tools/src/myfilelength.c
338 Changed fopen to open in binary mode, to make it work
341 tools/src/locatediff.c
342 Changed fopen to open in binary mode, to make it work
346 Changed fopen to open in binary mode, to make it work
350 ****** Version 4.4.3 Released 11th September 2003 ****
352 Replace 'kb' and 'Mb' with 'kB and MB, as I was advised the lower
353 case is used for bit and the upper case for byte. These required
354 changes in tests/benchmarks.test
357 Added a man page for the program sysdata in man/man1/sysdata.1
358 This has about 11 examples, which are there more for my own use
359 that anyones elses. When possible I'll try to expand the files
360 that gather data about the hardware.
363 Corrected many typo, spelling errors etc in all the man pages.
364 more significantly, the
367 docs/html-docs/accuracy.html
368 Corrected a few typos and made the page a bit clearer
369 I hope. Any HTML that did not strictly follow the stanard has
370 been corrected, so it should pass the test at
371 http://validator.w3.org/check/referer
372 hence an W3C logo has been added at the bottom of the page.
374 docs/html-docs/accuracy.html
375 A bluefish logo has been added too.
377 The spamtrap on the page has been changed a bit, which is a bit
378 annoying as it is now visable. But the code was not strict
379 HTML before, so there were problems in making it valid
383 References to the gsl library have been removed, so the
384 thread tests will pass if the gsl library is not present.
385 This was changed just in case someone runs a binary
386 in pkgadd format on a Sun without having the gsl library
387 installed. Some binaries will break, but Test_threads_a
388 and Test_threads_b should now still pass, even if
389 the gsl library is not present. No functions from gsl
390 are needed on these two files, so it was sensless linking
391 them against the library.
394 The code has been changed a bit so it should now (I hope)
395 compile under Windoze too. Someone has done a Windoze port
396 but found a bug in the code, which has been corrected.
399 Added code to make it cleaner and so no variables
400 get declared if not needed.
402 ****** Version 4.4.2 Released September 6th 2003 ****
404 src/non_gui/readbin.c
405 swapped the second (size) and third (number) arguments around
406 on an fread, as were the wrong wary around - not that I think
407 it will make any difference.
410 swapped the second (size) and third (number) arguments around
411 on an fread, as were the wrong way around - not that I think
412 it will make any difference.
414 src/non_gui/check_for_boundaries.c
415 put a check in for j=0 which could cause a progrom on the
416 Digital UNIX (spe145.testdrive.compaq.com) system on
417 the HP testdrive site. A real bug found at least!!!!
420 put some checks for NGROUPS, including a couple more
421 header files if NGROUPS is not defined. This causes a
422 problems on OpenBSD 3.2 for SPARC (my SS20), so was
427 Added a call to get the number of CPUs. Appears not to be
428 documented, so a bit risky and gives the number of processors
429 configured, rather than online, but its is better than nothing.
431 ****** Version 4.4.1 Released September 4th 2003 ****
434 Changed version to 4.4.1
435 Added sys/sysctl.h and sysctl as these are used on BSD try_bsd.c
436 to gather information on a BSD UNIX system.
438 docs/html-docs/index2.html
439 Changed a typo or two. Added an entry for Unixware, as someone emailed
440 me to say iversion 4.0.0 works on UnixWare.
442 tools/src/locatediff.c
443 Corrected an error so this now works. A change recently caused this to
444 break. It now reads both files.
447 Much improved, finds information about cache and main ram on IRIX now
448 Also speed of CPU, and type of CPU and FPU, although the latter are not
449 decoded into a sensible number like R10000.
452 information now prints the fact the IRIX information is good, not
453 poor as in prior versions.
456 Added new testers and thanks the cray site's administrators.
458 Now informs the amount of RAM on Linux and BSD systems is a little
459 larger than the value reported.
462 Added a new binary sysdata, which prints data in this format.
464 Hardware provider: Sun_Microsystems
465 Hardware platform: SUNW,Ultra-80
469 Version: Generic_112233-06
477 L1 data cache unknown kb
478 L1 instruction cache: unknown kb
481 src/non_gui/finite_difference_multi_threaded.c
482 removed the argument 'number_of_iterations' as not used
484 src/non_gui/write_bitmap_out.c
485 added checks for the return value of fwrite
487 src/non_gui/write_fields_for_two_conductor_lines.c
488 added checks for the return value of fwrite
491 removed all unneeded functions from this file
493 src/non_gui/convert_create_bmp_for_rect_in_rect_dimensions_to_integers.c
494 removed extern variables Ers, colours and names, as these are defined
495 in the header files definitions.h, Ers.h and Erdata.h
497 src/non_gui/man_functions...
498 Tidied up, to keep Sun's lint happier
501 Removed bug about linking with old versions of gsl.
502 Corrected the fact hardware data is gathered on IRIX
503 okay and its only Linux and BSD it fails on.
506 ****** Version 4.4.0 Released August 30th 2003 ****
508 Added 0 - those I don't know about,
509 Added 3 - tools/src/locatediff don't work on AIX.
510 Added 11 - documentation gets out of date
511 Added 12 - CVS sometimes get out of date
514 Updated the version to 4.4.0, as there are some major(ish)
515 changes to allow compilation on the Cray Y-MP EL, which
516 previously atlc would not work on.
518 Added a test for the size of a short, since on a Cray Y-MP, an int is 8
519 bytes, so this screwed up things in src/non_gui/definitons.h, as
520 it needed to define int32 as something.
522 Changed the default from not enabling hardware information to enabling it.
523 It can be changed with --disable-hardware-info
525 Added a test for _SC_CRAY_NCPU and _SC_CRAY_CPCYCLE, which will help
526 debugging any problems.
528 Added check for sys/vid.h, which I'm hoping is just on IRIX.
531 mention atlc now runs on toys and supercomuters and the fact an option has
532 nw become the default.
535 new file added, listing information about what hardware data is
536 gathered on what systems.
538 README.--enable-hardware-info
539 removed, as the option no longer exists - it's the default.
542 Changed install insturctions, as --enable-hardware-info is now the
546 Added README.hardware-info removed README.--enable-hardware-info
549 Added test 5c-check_numeric_data_from_atlc-2conductor.test
550 as well as try_irix.c and try_unicos.c
552 Added a function try_unicos() to obtain data about the hardware of
553 a Cray supercomputer.
556 Removed some variables that were now now longer needed and so generated
557 a warning from the compiler. Variables were operating_systems, i, ret
558 and one other I think.
561 Removed some variables that were now now longer needed and so generated
562 a warning from the compiler. Variables were operating_systems, i, ret
563 and one other I think.
566 Added a file to find out information on the SGI running IRIX.
567 Currently little information is found.
570 Added a file to find out information on the Cray.
573 Added entries for try_irix.c and try_unicos.c
576 Changed the wording about what data is collected on each system, as
577 previously it stated only Solaris was reasonably well supported, but
578 that is not true now, so it has been changed.
580 tests/1g-create_bmp_for_symmetrical_stripline.U.bmp.test
581 Added the md5 checksum 2a9644a0206c2314006e298f07aae233 as being okay,
582 since this is generated on the Cray Y-MP and differs by only a single
583 pixel and a single gray-level, from that on the Sun, suggesting
584 its just rounding errors. (I don't think the Cray implements IEEE maths
587 tests/7g-create_bmp_for_stripline_coupler.U.odd.bmp.test
588 Added a new checksum 09f68e1466d68bf8a03e1f90eff411bb which
589 is produced on a Cray.
591 src/non_gui/write_bitmap_out.c
592 MAJOR change, so this now writes data out in ONE consistant manner
593 that should be very portable. Note this is used only for programs
594 like create_bmp_for_*, and it not used by 'atlc' itself.
596 src/non_gui/write_fields_for_two_conductor_lines.c
598 extern bitmap_file_buffer to
599 bmp_buff as the latter was
600 shorter and space was at a premium, to stop one needing huge long
603 src/non_gui/read_bitmap_file_headers.c
604 MAJOR change, so this now writes data out in ONE consistant manner
605 that should be very portable. This is used only for programs
606 like create_bmp_for_*, AND 'atlc' itself.
608 src/non_gui/byteswap.c
609 Removed all functions except byteswap_doubles.
611 src/non_gui/definitions.h
612 Added definition for try_unicos.c
613 Removed all entries for byteswap*, except
614 byteswap_doubles, which is used by readbin.c
615 Changed definitons of Bitmap_Head_Struct + Bitmap_File_Head_Struct
616 as these now use just ints for portability.
618 src/non_gui/Makefile.am
619 Removed byteswap.c from all binaries except readbin
622 ****** Version 4.3.8 Released August 21sth 2003 ****
623 NOTE THE CHANGELOG FOR VERSION 4.3.8 SHOWS 4.3.7 AT THE TOP. THIS WAS AN
624 ERROR. THE DETAILS ARE VALID FOR 4.3.8.
627 AC_CHECK_DECL(_SC_PHYS_PAGES,,)
628 AC_CHECK_DECL(_SC_PAGESIZE,,)
629 to enable me to check if _SC_PHYS_PAGES and _SC_PAGESIZE
630 are defined for debugging purposes only. No use of them is
631 made, but it help to determine why code might not work later
632 on, if its known whether these are defined or not. Problems
633 reported by someone indicate problems, which would be easier
634 to track with this option enabled.
635 Added a check for errno.h, as it was needed on Suse. Prior to this
636 many files had #ifdef HAVE_ERRNO_H, but obviously the inclusion of
637 errno.h was not critical on those systems. On Suse it was.
640 check the return value or uname, to see if it fails or
641 not. If it does fail, print message and error if errno
642 is defined. Replaces any spaces with underscores in the
643 ouputs from any part of the utsname structure.
646 Removed any code to check for systems parameters using
647 uname- it should all be found in try_portable.c, which
648 is called before any other try_* functions.
650 ****** Version 4.3.7 Released August 6th 2003 ********
652 README.--enable-hardware-info
653 New file added, to give information on what data is obtained on what
657 Added a problem with test failures on IBM's AIX with thread support and
658 removed one about teston now working on the local host, as it now does.
659 There is a html version of the file in docs/html-docs/BUGS, which should
660 really be renamed, or some automated way of generating text from HTML,
661 or perhaps just text and a link. No sure how best to do this really, but
662 it is not entirely satisfactory.
665 removal of code assocatiated with MPI
668 change an example, so it shows how to configure with the
669 --enable-hardware-info rather than the --with--mpi, as the former is a
670 new option and the latter is now removed.
673 More updated information on what atlc has been tested on, and clearer
674 infomration on using it.
677 mention I'd like information on building on MP machines others than for
678 AIX, IRIX, Redhat Linux and Solaris, rather than just Solaris, as the
679 former have all been tested
682 Major updates to this, as the data in the file was based on an old
683 version of atlc, that failed numerous tests when multi-threaded, due to
684 the differing algorithms. Some data on machines has been removed, as it
685 some of the machines I no longer have in a running state.
689 Most other changes are just to keep the compiler a little happier in
690 src/non_gui, but some more significant changes in tests subdirectory.
693 Forced length to be case to size_t, to make gcc -Wconversion happier.
695 src/non_gui/design_coupler.c
696 changed 10 to 10.0 to make a double and so keep the compiler happier
699 src/non_gui/create_bmp_for_stripline_coupler.c
700 extra casts and general tidying up, to make compiler give less warnings.
702 src/non_gui/write_bitmap_out.c
703 cast to (size_t) to keep compiler happier.
706 included sys/types.h and remote the #define of size_t to an int, again
707 to keep the compiler happier.
710 cast numbers to long, to be consistant with the declaration of ustring()
713 src/non_gui/convert_create_bmp_for_coupled_microstrip_dimensions_to_integers.c
714 changing numbers in the pow(x,y) to force them to be doubles, rather
715 than ints to keep the compiler happier.
717 src/non_gui/convert_create_bmp_for_circ_in_circ_dimensions_to_integers.c
718 changing numbers in the pow(x,y) to force them to be doubles, rather
719 than ints to keep the compiler happier.
721 src/non_gui/calculate_colour_data.c
722 changed type of image_type from char to int. Not sure why this was done,
723 but probably to keep compiler happier.
725 src/non_gui/definitions.h
726 changes to enable strong type-checking in C code.
730 Added string.h to the list of include files.
731 Removed need for type long long.
734 Removed need for type long long.
737 Removed need for type long long.
740 Added file to get infomation on Linux system, but so far it
741 does not get that much info - only uname stuff and the ram
745 Changed to avoid a compiler warning about not returning anything
746 from the file, despite the fact it is declared to return an
748 Removed need for type long long.
751 no longer declares opperating_system, which was an integer that was
753 tools/src/locatediff.c
754 forcing variables to be of size (size_t), to reduce compiler warnings.
755 assigned a value, but never used" benchmark.c
758 now writes to text and html files more consistantly.
761 Addes teh file try_linux.c and removes @MPILIBS@, as MPI now removed
764 docs/html-docs/accuracy.html
765 iremoval of incorrect statement that *ohm-*.bmp were not packaged, but
766 built. They are now packaged for my convenience. Also mention of make
769 docs/html-docs/building.html
770 several small changes, but main one being removal of any data about MPI
772 docs/html-docs/make-check.html
773 added new file, describing the testing process.
776 ****** Version 4.3.6 Released August 3rd 2003 ********
777 The main change is to configure.ac, to remove an unwanted
778 (and useless) --with-extra-benchmark-data option.
780 Many sources have been tidied up, to make gcc -Wconversion
783 docs/html-docs/accuracy.html
784 Removed errors, which incorrectly stated that the lager bitmaps were
785 not distributed - they are now.
788 docs/html-docs/make-check.html.html
789 Added a new file, describing how the automatic testing of atlc
793 ****** Version 4.3.5 Released July 26th 2003 ********
796 Changed number_of_workers from static to global, as
797 it did not compile properly.
800 changed the benchmark so speedup is printed properly
801 (T_sequential/T_parallel) and not the other way around.
803 changed at t1 to a t2 on the line that is printed so
804 the code works okay when compiled multi-threaded.
806 changed the conditions under which the efficiency was
807 computed so that it works okay when the number of cpus
808 is unknown. It no longer prints 'Inf', but instead 'unknown'
812 Now calls an AIX specific routine, which does nothing!
815 Much improved. Gets CPU time now, along with ram and cpu speed.
818 Minor improvements, works pretty good now.
820 ****** Version 4.3.4 Never released ********
823 Removed. Works fine under AIX now. Two issues were
825 use of char when I needed signed char. Rounding error
826 caused one pixel to change in colour by one graylevel
829 Changed many files in src/non_gui that referenced
831 I was not aware declared in this way, there is no
832 standard for whether cell_type consists of signed or
833 unsigned characters. Hence it was not portable. This
834 caused a very large number of failures on AIX. This
835 has now been corrected. One failure remains (see above).
837 Added a file src/non_gui/memory.c to include funtions
838 scmatrix and free scharmatrix, which allocate and
839 deallocate matrixes with signed characters.
841 src/non_Gui/Makefile.am
842 Removed unnecessary entries of GSL_LIBS, which causes
843 the SGI linker to generate a warning, that the gsl
844 library was not used to resolve any functions.
849 ****** Version 4.3.3 Released July 17th 2003 ********
851 Added a new file, highlighting problems on AIX.
854 Added a --enable-debug option, although little use is made
857 Added --with-extra-benchmark-data which should be an optional
858 featuure, not an optional package as the configure script says
859 it is. This needs correcting at a later date.
862 changed the file so that the header file sys/processor.h only
863 got included if the file existed and processor_info() was
866 #ifdef HAVE_PROCESSOR_INFO /* function processor_info() is in Solaris */
867 #ifdef HAVE_SYS_PROCESSOR_H /* and in OSX */
868 #include <sys/processor.h> /* But not on Tru64 */
869 #endif /* <sys/processor.h> does not exist on OSX */
872 and made sure that areas of the code that needed aspects of
873 processor_info always had this header file. The reason is that OSX seems
874 to have the fuction processor_info(), but does not have the header file
875 and don't seem to have it defined anywhere.
877 Made tests/benchmark.c write benchmark results to tests.log
879 tests/benchmark.c now gathers information about the processors
882 src/non_gui/Makefile.am
883 Added function error_check()
885 src/non_gui/reaadbin.c
886 Changed an fopen(,"r") to fopen(,"rb"); so it works on
887 Windoze based systems.
890 BUGS - removed and replaced by docs/html-docs/BUGS.html
892 ****** Version 4.3.2 Released June 12th 2003 ********
897 Added a new file 'teston' which allows for rapid testing
898 on a number of remote machines. Developers might find this
899 of general use - it is not specific to atlc.
902 Correected a couple of typos. Added 'tests' to the list of
903 directories, as that was missing. Also tools and tools/src.
906 Remoted a few lines which were commented out
907 Put void as a function argument - ie foo(void) instead of foo();
914 This should not be able to obtain the number of cpus on a wider range of
915 machines, and get the cpu speed on at least some Alpha systems.
917 Should be able to determine the RAM on Solaris and Tru64 UNIX.
919 tests/benchmark.tests
920 Supplied with the new information from tests/benchmark.c
921 this should now display more sensible information.
923 ****** Version 4.3.1 Released June 7th 2003 ********
924 Unfortunately, the ChangeLog for 4.3.1 was never updated.
927 ****** Version 4.3.0 Released April 5th 2003 ********
931 Added a new directory 'm4' to hold autoconf macros.
932 Moved the top level autoconf macros to 'm4'
934 Added file 'benchmark' to run a test. It takes
935 about 1:17 on Ultra 80 with no thread support.
938 Updated the ChangeLog of course!!
940 configure.in changed to configure.ac
941 Renamed configure.in to configure.ac, as this is now the preferable
942 name for the old configure.in
943 Significan chanes made to this. Now there is an m4 macro to check for
944 gsl library and the optimal way to link for threads and the optimal
946 Now accepts gsl version of 0.8 and above. It works on 0.8 but not 0.5. I
947 don't quite know where the border line lines, but requesting 0.8 dones
948 not seem unreasonable.
950 Added a check for automake 2.57 or above.
952 Replaced 'dnl' witrh '#' for a comment.
955 http://www.ugcs.caltech.edu/info/gsl/usage_4.html
956 to check for a sepcific version of gsl and to add
957 entries on CFLAGS and LD_FLAGS
959 Directory atlc/src/no_gui
960 atlc/src/no_gui/usage_atlc.c
961 Removed references to WITH-MP and replaced with ENABLE-POSIX-THREADS
962 as this was a bug. Now changed code so that if the -t option is
963 disabled, the code prints the reason (Windoze or not configured
964 with --with-threads). Previously it gave two possible reasons.
967 atlc/src/no_gui/atlc.c
968 removed thr_setconcurrancy and replaced with pthread_setconcurrancy
969 as this is portable, whereas the other is Solaris specific.
971 atlc/src/do_fd_calculation.c
972 This now calls function finite_difference_single_threaded or
973 finite_difference_multi_threaded, depending on how the software is
974 configured and the presence of -t0 option to atlc.
976 atlc/src/non_gui/finite_difference_multi_threaded.c
977 The name of the function has been changed from finite_difference to
978 finite_difference_multi_threaded - no longer are there two functions
979 with the same name. The correct one function is called from
980 do_fd_calculation.c, depending on whether the software is configured
981 with threads or whether the user has elected to run a single threaded
982 algorithm on a multi-threaded system, by passing the option -t0 to atlc,
983 which indicates it will use the single threaded algorithm.
985 Changed the algorithm considerably. This has several advantages over the
987 a) The algorithm should be suitable with minor modification for MPI use.
988 b) The code now produces exactly the same results whether run for single
989 or multi-threaded. finite_difference_single_threaded.c needed to be
990 changed to enable this.
991 d) A barrier is now used for syncronisation.
992 This algorithm is apparently not very cache friendly, so it could do
993 with some teaking, but at least its a decent starting point, producing
994 the same data from single threaded or multi-threaded use.
996 atlc/src/non_gui/do_fd_calculation.c
997 This now calls one of two functions.
999 a) Code is now inline, rather than a function call.
1000 Directory atlc/tools/src:
1002 atlc/tools/src/Makefile.am
1003 Change bin_PROGRAM to noinst_PROGRAMS so that the programs
1004 used only for testing are not installed. They serve no useful
1005 function apart from when running the tests in atlc/tests.
1007 atlc/tools/src/memory.c
1008 Removed 'memalign' since it seems to be in some libraries, but with
1009 no header files. Also, there seems to be POSIX specific versions of
1010 it and finally, the compilers will force this with the right
1011 switches. Hence overall, it seems more hassle than its worth to
1012 have 'memalihn' anywhere. For this reason, the check was removed
1013 from configure.ac too.
1016 Commented out most of the things, so a C++ compiler is not needed. The
1017 # files in this directory servered no useful purpose, but the icons at
1018 # least might be useful. Whether or not a GUI will be added is anyone's
1021 MPI code has been almost fully removed, to start this from scratch again.
1023 ****** Version 4.2.12 Released 30/3/2003 ********
1026 renamed configure.in to configure.ac, as I gather this is now the
1027 prefereed name for the file.
1029 ****** Version 4.2.11 Released 30/3/2003 ********
1030 Many many changes!! Not all are documented!
1031 Started to the use autoconf macro acx_pthread.m4 to configure POSIx
1034 Implemented an md5 checksum program for testing checksums, as this is
1035 very accurate. The one I was using (a hacked 'sum' command) is not that
1036 good and so could miss a change in a file quite easily.
1038 Spent a lot of time on the test routines. These now always pass and
1039 will work with a VPATH build too. 'make discheck' works fine now.
1041 Removed several bugs from the function 'do_fd_calculation' so it now
1042 does not cause any floating point exceptions cc is configured to not
1043 implement the IEEE standard.
1045 Put new algorithms for finding the electric field into find_electric_fields.c,
1046 but they seem less accurate than the old versions, so these are not used for
1049 Change from 'char *foo' to 'const char *foo' in many files, as this
1050 keeps Sun's compiler a bit happier. Note the Sun compiler (Sun WorkShop
1051 6 update 2 C 5.3 2001/05/15) still moans about a lot of things that gcc
1054 Added the following files that were ommited when put into CVS
1056 **top level directory changes made by drkirkby **
1059 src/non_gui/output_from_design_coupler-Sun-Ultra-80.txt
1060 src/non_gui/Makefile.am
1062 removed a double entry for the header file definitions.h
1063 in create_bmp_for_stripline_coupler_SOURCES.
1064 Added a new binary create_bmp_for_rect_cen_in_rect_coupler
1068 Remmoved entry for README.alpha. It's contents were out of date but we might
1069 want to add a file with the same name later. Who knows?
1072 Added a line to check for the mpi.h header file, immaterial of whether
1073 or not the user request MPI support. This will aid debugging.
1074 Changed the message about being unable to build 'make_coupler' to
1075 'design_coupler' since the binary had been renamed.
1078 Autogenerated file, needed updating due to change in configure.in
1079 with reguare to MPI support (see entry for configure.in above.)
1081 **man directory - changed made by drkirkby**
1082 Renamed many files to take account of the new binary files names. Hence
1083 they all needed updating. A new man page for design_coupler has
1084 been written. Currently there are the following man pages in
1087 create_bmp_for_circ_in_circ.1
1088 create_bmp_for_circ_in_rect.1
1089 create_bmp_for_microstrip_coupler.1
1090 create_bmp_for_rect_cen_in_rect.1
1091 create_bmp_for_rect_cen_in_rect_coupler.1
1092 create_bmp_for_rect_in_circ.1
1093 create_bmp_for_rect_in_rect.1
1094 create_bmp_for_stripline_coupler.1
1095 create_bmp_for_symmetrical_stripline.1
1097 find_optimal_dimensions_for_microstrip_coupler.1
1101 usage_create_bmp_for_symmetrical_stripline.c
1102 corrected a simple spelling error
1104 renamed error_and_exit() to exit_with_msg_and_error_code()
1105 and are in the process of changing every command to exit
1106 with that, rather than with exit().
1108 check_parameters_of_create_bmp_for_microstrip_coupler.c
1109 Added better error checking, as the orginal code just did one silly
1110 check. The improved error checking was done to try to find a
1111 reason there are problems on a Dec Alpha running Linux and gcc-2.95.4
1114 changed (on a termporary basis) ITERATIONS from 100 to 10
1115 Added code so that with -vvvv we can see how many iterations were used
1117 calculate_Zodd_and_Zeven.c
1118 Added code to check for both the gsl libary AND
1119 gsl header filess before considering gsl proplerly
1120 present. A bug was noticed when using Sun's compiler whereby
1121 the gsl library was found in /usr/local/lib, but the gsl
1122 header files, which are in /usr/local/include/gsl were not
1125 print_data_for_two_conductor_lines.c
1126 Added option to print data to high-precision
1129 Added file convert_doubles_to_integers.c although
1130 at present this is not working as planned. It is not
1131 linked in with any code at present.
1133 usage_atlc.c no longer exits with 0, but
1134 returns to the calling routine
1138 PROGRAM_CALLED_WITH_WRONG_NUMBER_OF_ARGUMENTS
1139 depending on how it was called.
1140 Add commments/changes to why the more logical
1142 changed type of cell_type from int to char to save
1145 All files with symmmetrical remaned to
1146 symmetrical (not the 3 m's beforehand)
1148 removed the following files, since they were renamed
1149 to other file names.
1150 convert_circ_in_rect_dimensions_to_integers.c
1151 convert_circ_in_rect_dimensions_to_integers.c
1153 All files with the name programme have had this changed
1156 create_bmp_for_stripline_coupler.c
1157 now the verbose level is working properly
1160 Added numerous new entries
1163 Removed the -Q option for very quite and
1164 implemented it so -q is quite and -qq is quiter
1168 Now exits with UNACCEPTABLE_ERROR_WHEN_CONVERTING_TO_INTEGERS
1169 rather than 2 which confused matters for me. I need to tidy up
1171 check_parameters_of_create_bmp_for_rect_in_rect.c
1172 Renamed a function to check_create_bmp_for_rect_in_rect_int
1173 since it originally had the wrong name.
1175 Editied create_bmp_for_stripline_coupler.c. so that it only
1176 prints information about theoretical values if called with the
1177 -v option. -vv gives more information and -vvv gives even more.
1179 calculate_impedance_for_create_bmp_for_symmetrical_stripline.c
1180 now calls usage_calculate_impedance_for_create_bmp_for_symmetrical_stripline
1182 usage_create_bmp_for_symmmetrical_stripline..c
1183 now has a new name for the function 'usage_create_bmp_for_symmmetrical_stripline()'
1184 and mentions the additional -v option
1185 Also, the name of the binaries mentioned have changed, to reflect
1186 the new naming converntion.
1188 calculate_Zodd_and_Zeven.c now includes #include <stdlib.h>
1191 These have been modified and should be up to date on CVS
1193 ******Version 4.2.8 Released 12 Jan 2003 ********
1194 Copied onto Sourceforge CVS *all* the 4.2.8 files. Some
1195 were missing before.
1197 examples/Makefile.am
1198 Changed the CLEANFILE line to DISCLEANFILES, so that
1199 running 'make clean' will not delete the example files
1200 created, but running 'make distclean' will.
1201 Added a lot of txt files (see note below).
1204 News names for man pages
1206 lots of changes to files name 'cvsignore
1208 examples/twin-wire4.bmp
1209 Added to the CVS repositry. Had prevously ignored this
1212 in examples diretory
1213 Added ....bmp.txt files, as the output of running atlc
1214 on each of the .bmp files.
1216 src/non_gui/usage_atlc.c
1217 src/non_gui/usage_circ_in_rect.c
1218 src/non_gui/usage_create_bmp_for_circ_in_circ.c
1219 src/non_gui/usage_create_bmp_for_circ_in_rect.c
1220 src/non_gui/usage_create_bmp_for_microstrip_coupler.c
1221 src/non_gui/usage_create_bmp_for_rect_cen_in_rect.c
1222 src/non_gui/usage_create_bmp_for_rect_in_circ.c
1223 src/non_gui/usage_create_bmp_for_rect_in_rect.c
1224 src/non_gui/usage_create_bmp_for_stripline_coupler.c
1225 src/non_gui/usage_create_bmp_for_symmmetrical_stripline.c
1226 src/non_gui/usage_design_coupler.c
1227 src/non_gui/usage_find_optimal_dimensions_for_microstrip_coupler.c
1228 src/non_gui/usage_readbin.c
1229 All above files have been modified to print a version number if
1230 run incorrectly. Perhaps adding a -V option that just prints
1231 the version and exits would not be a bad idea, at a later date
1233 docs/atlc9.doc docs theory2.doc and design-ideas.sxw moveed to
1234 docs/theory/atlc9.do docs/theory/theory2.doc and docs/theory/design-ideas.sxw
1237 added more informaton about the Word and StarOffice
1238 files giving information about the theory of the newer versions
1242 Changed to indicate there are now 3 theory files, one PDF and
1243 suggesting the use of books.
1245 docs/html-docs/theory.html
1246 Changed to indicate there are now 3 theory files, one PDF and
1247 suggesting the use of books.
1249 docs/html-docs/banner-page.html
1250 Changed to point to docs/html-docs/theory.html, rather than the
1251 one pdf file I wrote for QEX back in 1996.
1253 Removed *.bmp and added *.bin. Put cvsignore on CVS
1255 src/non_gui/do_fd_calculation
1256 added a return(0) to prevent the compiler from preventing a warning.
1258 src/non_gui/setup_arrays.c
1259 Uncommented the check_for_shorts line, as it does do something
1262 src/non_gui/check_for_shorts.c
1263 Remove remarks about setting a floating conductor to +1 V
1264 as floating conductors are not supported.
1267 Updated examples/README, so it is more up to date,
1268 listing only the files in the 4.2.8 distribution
1269 and no more. The theretical impedance for some
1270 examples are included, where there is an exact
1271 theoerically answer. Sometimes the structure tries
1272 to approximate a stucture that has an exact theoreticas
1273 answer, but never can exactly (we can't make the bitmaps
1274 infinitely wide!!). There are noted where appropiate.
1275 Not all the theoretical answers are at this point in the
1279 Changed to look for optimised
1280 math library (libmopt) and optimised c
1281 library (libcopt) as are used on SPARC systems.
1283 Removed one copy of the function
1284 get_data_interactively() from definitions.h, as
1285 it was defined twice.
1288 corrected a simple spelling error.
1291 Remmoved the extra docs/Makefile in it.
1293 src/non_gui/setup_arrays.c
1294 Moved line 'data->dielectrics_in_bitmap=0;' to after declaration of
1295 local variables. gcc 2.96 will not accept the initialization as it
1296 was when compiling c code, and generates an error.
1299 Removed extraneous dereference, replacing the line '*end++;'
1300 with 'end++;' in the argument processing section.
1303 This was removed from CVS, as 'make check' already did this and
1304 it has been removed a while ago, but not from the CVS.
1306 src/non_gui/find_optimal_dimensions_for_microstrip_coupler.c
1308 ******Version 4.2.7 Released 8/1/03********
1309 Corrected a bug such that -s and -S did not work.
1311 Corrected a bug in setup_arrays.c wherby the number
1312 of blue conductors was not set to zero at the start
1313 so the total number reported was wrong.
1315 Made changes to write_fields_for_directional_couplers.c
1316 such that the the images for even mode are now
1319 Further attempts to improve the documentation.
1321 ******Version 4.2.6 Released 1/1/03********
1322 Corrected a bug in do_do_calculation.c, which
1323 was bought to my attention by (thanks Dan).
1325 Added two files into the distrtibution from
1326 former versions 'cop1.bmp' and 'rect9.bmp'
1327 since these were metnioned in the tutorial,
1330 Slightly improved the look of the homepage by
1333 Updateed 'tutorial.html' as it was a bit out
1334 of date, showing old versions of files.
1336 Added more tests. Some more could be usefully added,
1337 but for now this will have to do. All the 11* tests
1338 have been dropped as for some reason they don't run
1341 ******Version 4.2.5 Released 1/1/03********
1342 Arragned for the Makefile.am's to have a line
1343 CLEANFILES = ... to remove the example files
1344 if the user does a 'make clean'.
1345 Running 'make distcheck' should now work
1347 Reinstated some more tests.
1349 Corrected a problem with some of the tests
1350 -create-lots-of-examples-check-last-one.test' such that
1351 a lot of example files were created with a length of
1352 zero bytes. This was becaused I changed the format
1353 of all the crate_bmp_for_... files so they no longer
1354 printed to stdout, but -create-lots-of-examples-check-last-one.test'
1355 relied on them printing to stdout to work.
1357 Images of permittivity are now okay, but not sure
1358 about the Ex, Ey, U etc. These have not been checked
1359 for 2-conductor lines, which needs doing.
1362 ******Version 4.2.4 Released 31/12/02********
1364 Changed all the files create_bmp_for_....
1365 such that they now write to a file on the command
1366 line, rather than stdout. All programs for the generation
1367 of bitmaps now have the same naming converntion
1368 (create_bmp_for_.....) and all write to a file and
1371 Changed man pages to reflect the changes in all the
1374 Some half-sensible bitmaps are now produced with atlc
1375 if the -s option is not present. The binary files
1376 (.bin) are now printed properly for couplers. It is
1377 quite possible this does not work for 2 conductor lines
1378 (it has not be tested). This needs more testing.
1380 The files atlc-x.y.z/tests/Makefile.am now has
1381 lists of the files to be added to the distribution,
1382 rathe than just *.test, as the latter caused problems
1383 with 'make distcheck'.
1385 The file atlc-x.y.z/docs/html-docs/index.html now
1386 loads index2.html rather than frontpage.html.
1388 added file atlc/docs/html/create_for_Makefile.am to
1389 make it easier to generate a list of files that needed
1390 to be included in atlc/docs/html/Makefile.am
1392 ******Version 4.2.2 Released 28/12/02 *****
1393 Less data is now printed as it was confusing I feel to show too
1394 much informattion. An option will be added to show more, but at
1395 present this is not implemented.
1397 Added options -s and -S in 'atlc' to enable the bitmap (.bmp) and binary
1398 (.bmp) files to not be written. The default is to write these files.
1400 Remove options to write data to a text file and append data to
1401 a text file from atlc. Changes meant it got more difficult
1402 to implement and there seems little point when > and
1403 >> do those functions.
1405 Changed man page on atlc, so reflect changes in the program
1408 Added the program 'create_bmp_for_coupled_microstrip' which does
1409 exactly what the name says. Run it to see what options and
1410 command line arguments it expects, as there is no man page at
1413 *ALL* the files that create bitmaps have been renamed to create_bmp_for_xyz,
1414 where xyz determines the geometry. There are now the following files
1415 for creating bitmaps:
1417 create_bmp_for_circ_in_circ
1418 create_bmp_for_circ_in_rect
1419 create_bmp_for_coupled_microstrip
1420 create_bmp_for_coupler
1421 create_bmp_for_rect_cen_in_rect
1422 create_bmp_for_rect_in_circ
1423 create_bmp_for_rect_in_circ.c
1424 create_bmp_for_sym_strip
1426 Currently some write to stdout, some to files. I will eventually change it
1427 so they all write to files, as the data is binary and writing by default
1428 to stdout is not a great idea.
1430 Added program 'find_optimal_dimensions_for_microstrip_coupler' which does
1431 an exhaustive search of different geometires for microstrip couplers.
1434 ********************Version 4.2.0-alpha Released 24/12/02 ********************
1435 Made major changes to the code to make it easier to read. Hopefully
1436 direcitonal couplers are working for multiple-dielectrics now,
1437 but I've no idea. The documentation is out of date with the code
1438 which has undergone major revisions. I will update the docs and correct
1439 and bugs as soon as I have time.
1441 ********************Version 4.1.6 Released 22/12/02 ********************
1442 Made it more obvious there is a bug that prevents the use of atlc
1443 where there is more than one dielectric on a directional coupler.
1445 Updated the documentation so removing references to make_coupler
1447 Changed the atlc homepage a bit, as it was out of date.
1449 ********************Version 4.1.4 Released 15/12/02 ********************
1450 Corrected bug found in design_coupler.c that prevented it compiling
1451 under old versions of gcc.
1453 Added a few more tests that fail if gsl is not included.
1455 Updated the documentation. Some showed the output from
1456 atlc 2.x, which was a lot less accurate than 4.x.
1458 Added a line for pth in Makefile.am. Threads on machines
1459 othe than Solaris still needs some work.
1461 Added the file 'IMPORTANT.html' back into the release. For
1462 some reason this got lost and was not present in any recent
1463 release, despite being on the web page and still valid.
1465 Updated the FAQ, as some information was out of date.
1467 ********************Version 4.1.1 Released 14/12/02 ********************
1468 **************************************************************************
1470 Changed the default number of threads a mutli-threaded version of the
1471 prorgram runs from 2 to 4, as I now own a quad processor machine. It is
1472 changed in definitions.h
1474 The program 'make_coupler' has been renamed to generate_coupler_bitmap,
1475 as it never really did make a coupler, but only generate a bitmap for
1476 one with the dimensions you gave.
1478 Added a new program 'design_coupler' which is very able. It can find the
1479 required odd and even mode impedances given the coupling factor and
1480 frequency range, and then design you a coupler with the right
1483 Added much better documentation to support the directional couplers. New
1484 files 'calculate_zodd_and_zeven.html',
1485 'determine_dimensions_of_couplers.html' have been created.
1487 No significant changes have taken place to the code for two conductor
1488 lines. I still need to address the problem of consistancy amoungst some
1491 A new directory 'tests' has been set up and automake configured such
1492 that running 'make check' now performms a lot of checks and creates
1495 ********************Version 4.0.1 Released 21/4/02 *********************
1496 **************************************************************************
1498 Added copyright notices to all files and added a -C option on all
1499 binaries to print out information on copyright.
1501 Corrected an error in READED.threads, since it refered to the -p options
1502 for number of processors, which I later changed to -t threads to be more
1505 Added my e-mail addres to the AUTHORS file.
1507 Update the TODO list.
1509 Remvoed the printing of L and C in the documentation (frontpage.html and
1510 index2.html) for couplers, as these are mode-dependant and so one value
1513 Added a CVS entry on the banner page.
1515 Spent some time spell checking many of the html documents.
1517 Made some changes in the rect_in.. circ_in.. so that the integer values
1518 create on a machine should be exactly the same on each machine. It was
1519 possible before that some numbers would be generated on one machine and
1520 some on another, due to rounding errors. This hopefully stops that.
1522 Changed src/non_gui/tests to point out what a dodgy gcc does.
1523 Added a few scrips 'tests' in other directories to src/non_gui, since
1524 someone was looking for them and could not find them. Hence I've tried to
1525 make it a bit clearer.
1527 ********************Version 4.0.0 Released 11/4/02 *********************
1528 **************************************************************************
1529 Put a bit more info in the README.windows
1530 Removed check for "intelligent life" in configure.in, as this was not working
1533 Added a function do_fd_calculation() and therefore added the file
1534 do_fd_calculation.c This helps clean up atlc.c a lot, since a lot of
1535 repetition has been removed. It needed quite a bit in it to handle the
1536 case of coupled lines and all the different things that have to be
1537 printed in this case.
1539 Changed setup_arrays.c so that it now sets a variable 'coupler' to TRUE
1540 if there is a blue ( - 1 V) conductor.
1542 Got resuls out from the coupler. No idea if they are right. Pretty sure
1543 they are wrong in fact.
1545 Corrected a typo in FAQ.html which meant the local copy of the QEX
1546 paper could not be downloaded from the FAQ.
1548 Answered that loss can't be measured in the FAQ.
1550 Wrote a programme 'make_coupler' which writes a bitmap with two striplines
1551 between two parallel groundplanes as below.
1553 ------------^------------------------------------------------------------------
1555 | <---w---><-----s----><---w-->
1556 H --------- --------
1559 ------------v------------------------------------------------------------------
1560 This has an exact analystical solution, so the file calculate_Zodd_and_Zeven.c
1561 was created to find the exact theoretical values. This makes it possible
1562 to compare the theory with atlc.
1564 I got the equations from an e-mail sent to me by AA1LL / KB1CZP
1565 <aa1ll@email.com>. This required elliptic integrals, so its necessary to
1566 link into the GNU scientific library, gsl to use it fully, although the
1567 bitmap will be generated without the library.
1569 Added information to accuracy.html on accuaracy with coupled lines.
1571 Changed finite_difference_multi_threaded.c & finite_difference_multi_threaded.c
1572 to handle correctly the case of coupled lines - at least for vacuum
1575 Added a couple of tests in the file 'tests' to check the coupler
1579 ********************Version 3.0.7 Dated 6/4/2002**************************
1580 **************************************************************************
1581 Corrected the file man/makehtml, as it was not making an html page for
1582 rect_cen_in_rect from the rect_cen_in_rect.1 man page.
1584 Put an error number each time a programme exits, so it is clear what
1587 Made a set of diectories called 'binaries' and subdirectories from that.
1588 Please the latest Windows executables in binaries/Windows.
1591 image_data=ustring(0L,width*height*3); in atlc.c
1593 image_data=ustring(0L,size);
1595 Removed all references to stdio.h and math.h in all files, since they
1596 are included in definitions.h
1599 if( (image_data_fp=fopen(output_filename, "r")) == NULL)
1601 if( (image_data_fp=fopen(output_filename, "rb")) == NULL)
1602 in atlc.c, so the bitmap is opened as a binary in Windoze.
1605 if((fp=fopen(temp,"w+b"))==NULL) instead of
1606 if((fp=fopen(temp,"w+b"))==NULL)
1607 in get_file_pointer_with_right_filename.c
1608 as the bitmaps were screwed up when written to disk in text mode, which
1609 was happening under Windoze.
1611 Used a more complex method suggested by AD5GB to get open the bitmap
1612 file for reading. I don't see why it should be necessary, but it keeps
1615 defined M_PI if not already done so in definitions.h
1617 Changed malloc call to a calloc in string.h
1619 Corrected an error in the docs where it said in accuracy.html that the
1620 error was 1.8% on the bottom of a table. That may have been so, but it
1621 is a lot better now.
1624 ********************Version 3.0.6 Dated 3/4/2002*************************
1625 **************************************************************************
1626 (note there was no release 3.0.5, as it got screwed up going up to
1627 Sourceforge, after which is is impossible to overwrite the file).
1630 Removed all reference to the voltage v and instead replaced these by
1631 Vij. The reason being that Randall DuCharme <ad5gb@yahoo.com> has
1632 advised me that the symbol v is defined in IBM's AIX operating sysytem.
1633 Hence it would not compile without some hacking.
1635 Since the voltage is now called Vij, it makes sense for its indices to
1636 be i and j and not w and h. Hence I've replaced at least some of the
1639 Changed reference to longs and replaced by ints in write_bitmap_out.c,
1640 since it was clear the longs would break it on 64-bit machines.
1642 Checked atlc one my Sun Ultra 60 with a 64-bit compiler using Sun's CC
1643 compiler. All was okay and the generated bitmaps looked fine.
1645 Found a problem on the Sourforge Compile Farm with the programme
1646 sym_strip. It crashed at the last but one line, where these is
1647 flose(fp). Put in code to check if the file pointer was valid. This
1648 can't be a bad thing, but it did not solve the problem.
1650 Another bug spotted on Sourceforge's compile farm. rect_in_rect,
1651 circ_in_circ, circ_in_rect, and beadbin (but not atlc) all declare
1652 a character q, then use
1654 whereas get_options returns an int, not a character. I don't know why the
1655 compiler does not spot that one. Anyway, it caused get_options to loop forever.
1657 All programme now seem to run okay on drkirkby@usf-cf-ppc-linux-1:,
1658 which is a linux powered PowerPC RS6000. Not attempted compileing
1662 Attempted compiling on the Sourceforge Sun Ultra 60. This is the same as
1663 my machine, so one might expect it to work okay. In fact, atlc
1664 compiles and runs okay on every machine tests (Dec Alpha, Suns
1665 running Solaris, Suns running linux, linux PC, ...
1667 Correct typo, where it said 'is is' in usage_sym_strip.c
1669 Changed the order and name or parameters in rect_cen_in_rect, so
1672 % rect_cen_in_rect W H w h Er1 > filename.bmp
1674 Changed man page to suite. It was silly before.
1676 Removed note in the bitmap generators (rect_in_rect, circ_in_circ etc)
1677 about piping into atlc, since atlc does not support reading from
1680 Changed circ_in_circ so the information it can provide about theoretical
1681 impedances is only produced if the -v flag is given.
1683 corrected usage_circ_in_rect.c, as information at the bottom on usage
1686 Added a test suite in the script src/tests. I might well add a version of
1687 sum to the distribution, as it appears to be implementation dependant.
1689 Removed #include <malloc.h> as it is depricated according to gcc and
1690 files compile fine without it. Also removed stddef.h from nrutil.c, as
1691 that too is not needed.
1693 Changed the names of the variables opterr, optind, optopt and optarg to be
1694 my_opterr, my_optind, my_optopt and my_optarg in get_options.c This is to
1695 avoid a warning from one of the compilers (I think on a Mac) about the fact
1696 that it is defined elsewhere.
1699 ********************Version 3.0.4 Dated 1/4/2002*************************
1700 **************************************************************************
1701 NOTE 3.0.3 never released, since the upload to sourceforge failed.
1703 Corrected bug in write_fields.c which caused a crash under Linux
1704 (as reported by Randall DuCharme <ad5gb@yahoo.com>) and With
1705 Borland C++ builder on my SunPCi card.
1707 Corrected a bug in atlc.c, which was causing a crash on the SunPCi
1708 card and possibly a crash (not yet confirmed) under Solaris on
1709 a Sun Ultra 30 belonging to Randall DuCharme <ad5gb@yahoo.com>
1711 Added an option to atlc.c to avoid writing the bitmap files.
1713 Corrected a bug in readbin.c, which caused it to report any
1714 number >.99 as a one, when it might well be METAL_ER. Also checked more
1715 carefully for -1 V, by only looking from -0.999999999 to - 1.000000000001
1717 Added the following lines to readbin and atlc.c, which are necessary
1718 when compiling with C++ Builder version 3. I need to do likewise to the
1719 rect_in_rect etc, but for now I have not.
1723 #include <condefs.h>
1726 (I need to define WINDOWS when compiling on Windoze).
1728 Corrected usage_atlc so it now does not take the filename, but knows it
1731 Added (void) to the defintion of any function that takes no arguments. I
1732 found that while gcc is happy to accept a fuction with an argument that is
1735 Borland C++ Builder was not happy with that. Hence I now declare functions
1736 as taking void when they don't take argments. This keeps Borland C++
1737 builder happy and allows for stricter checking with gcc.
1739 Added a piece of code 'get_options.c' which was necessary since
1740 Borland C++ Builder does not have such a function.
1742 Stopped print_data taking an argument 'version' and then reading it from
1743 VERSION. It now just reads from VERSION
1745 Remved 'ER' from check_for_boundaries.c and all references to it, which
1746 were all in comments. The Borland C++ Builder is better at spotting such
1747 problems than gcc, so is Sun's C compiler.
1749 Added code to check if the upper number (eg nh) is less than or equal to
1750 the lower number (eg nl) in functions free_* in files nrutuil.c and
1751 string.c This stops the Borland C++ Builder complaining about the
1752 arguments not being used and also does some sanity checking.
1754 ********************Version 3.0.2 Dated 30/3/2002*************************
1755 **************************************************************************
1756 Fixed a problem with the Makefile.am's which meant not all the files were
1757 included and the sym_strip.1 was spelt wrong.
1759 ********************Version 3.0.1 Dated 29/3/2002*************************
1760 **************************************************************************
1761 SIGNIFICANT IMPROVEMENTS TO ACCURACY !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
1762 SIGNIFICANT IMPROVEMENTS TO ACCURACY !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
1763 SIGNIFICANT IMPROVEMENTS TO ACCURACY !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
1765 In a comparisson of 3 analytic models (coax, eccentric coax and
1766 stripline), and 31 tests (roughly a third of each), the maximum error
1767 was only 0.945 % and the RMS error is only 0.259 %. The programme now
1768 undereads more than overreads, so I still think there may be a
1769 systematic error, but any problems are now very small. Despite the fact
1770 atlc is supporting multiple dielectrics, I've not managed to find any
1771 models with exact analytic solutions to compare against atlc. When
1772 calculationg the E-field across a dielectric, the method used does not
1773 properly consider a boundary between two dielectrics. Hence I can expect
1774 the error with multiple dielectrics to be a bit higher than with one.
1775 This will be sorted out later.
1777 Added a man page for sym_strip and updated all other man pages. Keeping
1778 the documentation up to date is a problem.
1780 Since many of the bitmaps used in the examples are large, I decided to
1781 not bother distributing them all, but instead write a script 'create' to
1782 make them. 'create' may be found in both the examples and src
1785 Added a small script 'makehtml' in man, to create easily html version of
1788 It was necessary to take into account when a dielectric is next to
1789 metal, as otherwise the E-fields calculated in the dielectric are in
1790 erro when next to metal. This is done. check_for_boundaries.c has been changed
1791 to indicate whether a dielectric has metal to the left, right, above or
1794 function calculate_colour_data() added to calculate the colour a pixel
1795 should be set to - this is called by write_fields().
1797 Added a file find_electric_fields.c, which has 3 functions in it -
1798 find_Ex(), find_Ey() and find_E(). This avoids different parts of the
1799 programme using different definitions for Ex, Ey and E.
1801 Changed write_fields almost completely. It now prints more files
1802 and uses less ram, as not all the data is stored before writing to
1803 disk. Now only one set is stored in ram before writing to disk.
1804 This is a bit slower, but it will save a lot of ram.
1806 After thinking about it a lot, I feel it is necessary to change the -1 V
1807 conductor (which has never been used) from black to blue. Since I've
1808 stated before that black is -1 V and blue is a dielectric with a
1809 permittivity of 2.1, this is a bit annoying. However, it seems illogical
1810 to have a negative electric field shown as blue, and negative voltages
1811 as blue, yet have -1 V as black. Hence the definition of -1 V is changed
1812 and another colour (a light blue) has been selected to reprsent the
1813 permittivity of PTFE.
1815 Made a significant improvement to accuracy, but using the following
1817 Ex=0.5*(v[i+1][j]-v[i-1][j]);
1818 but changing it a bit when at a boundary with metal. i.e.
1819 if((cell_type[i][j]&METAL_LEFT)==METAL_LEFT)
1820 Ex=(v[i+1][j]-v[i][j]);
1821 Same is done in an obvious manner for Ey and the right hand side. This
1822 has made a significant improvement to accuracy, so html docs have been
1825 Changed the definition of Ex and Ey in write_fields.c, since they were
1826 defined at dV/dx, and dV/dy, but the electric field is defined as the
1827 reverse of that. i.e. ex=-dV/dx and Ey is -dV/dy.
1829 Added some code in write_fields.c to print the energy (CV^2) too.
1831 ********************Version 3.0.0 Dated 24/3/2002*************************
1832 **************************************************************************
1833 Added support for multiple dielectrics. More work needs to be done to
1834 confirm the accuracy of this, but it is now working at least.
1836 Spent a lot of time thinking carefully about exactly where the voltage
1837 are defined (top left of a pixel) and exactly where the E-field should
1838 be calculated (centre of a pixel) and exactly what the E-field is. The
1839 results seem no more accurate than before (still a small over-estimate
1840 of Zo), but at least it should give anyone else chance to find a fault.
1841 Before it was too obvious that a few problems remained on exactly what
1842 happens on a boundardy.
1844 Programme should be able to cope with 4 different dielectrics in a
1845 square - i.e. it can be really arbitrary.
1847 Changed the value of r in atlc.c from 1.5 to 1.95. This has made a HUGE
1848 INCREASE IN SPEED!!! The programme is now about 6x quicker than before.
1850 Added a function check_for_boundaries(), which looks for changes of
1851 index and metals around a pixel. Its not really used now, but it has the
1852 potential for speeding the code up, since it can avoid a lot of checking
1853 every time the FD loop executes. It makes sence to do the checking once
1854 and use those results.
1856 Removed all C++ commments, as this would stop it compiling on a C
1857 compiler. One of the Sun compilers I have is only C.
1859 Added a file 'fd.c' which is not in the makefile. It is included in the
1860 C functions finite_difference_*.c. It is better to use it like this
1861 rather than put the code inline, for speed reasons. It is called several
1862 times. Putting it in one file insures all the times its called are
1863 calling exactly the same code. It is too easy to have errors otherwise.
1867 Added a programme 'thin_strip; which produces a stipline like this:
1869 ------^-------------------------------------
1873 -infinity ------v------------------------------------ +infinity
1875 This has a well defined impedance, which is given in "Field Theory of Guided
1876 Waves", Colin R.E., 2nd edition, pp 259-273, IEEE Press, (1990).
1878 I realised the programme was taking too much memory. Reading in a 24 Mb
1879 bitmap, resulted in the programme using 179 Mb of RAM. It was discoverd
1880 that the variable 'cell_type' defined in atlc, was an integer array,
1881 when a character one would have done, saving 3 bytes per pixel of RAM. I
1882 Added functions charmatrix and freecharmatrix in nrutil.c, for allocation
1883 and dealocation of the matrix.
1885 Removed the '-m' option from usage_atlc.c, since the option no longer
1886 worked - it was removed some time ago.
1888 Removed the '-F' option from usage_atlc.c, since the option did not
1889 work. I decided not to bother fixing it, but instead of writing data
1890 to a user-specified file name, write it to example.txt, when the
1891 bitmap file is example.bmp.
1893 Removed the handling of option 'h' in atlc.c, since the option no longer
1896 Printed a messge with usage_atlc, so that it indicated that if
1897 multi-processor support was not compiled into atlc.
1899 Added a few commments are correct a few typos in other commments, in the
1900 file finite_difference_multi_threaded.c
1902 Checked the system reasonably well with multi-threading enabled on my
1903 dual preocessor Sun Ultra 60. The programme speeds up quite a bit,
1904 depending on the size of the job. Certainly runing with two threads
1905 (either by defining #define MAX_CPUS 2 in definintions.h, or the -p2
1906 command line option, seem to work best for my dual processor machine. Running
1907 a few more threads (up to 5 or so) does not slow the system much, but as
1908 more and more are added, there is a definate slowdown.
1910 renamed usage to usage_atlc, to be consistant with all the other
1911 programmes (usage_rect_in_rect etc)
1913 Added quit a few comments to atlc.c, and generally made the code tidier,
1914 with more consistant indenting.
1916 Added a file/function swap_conductor voltages, which converts +1V to -1V
1917 and visa-versa. This is needed to compute the impedance of coupled
1920 **************************Version 2.32 Dated 9/3/2002***************************
1921 ********************************************************************************
1922 Wrote manpage for readbin
1923 Moved man page from man to man/man1.
1924 Removed function free_ucmatrix, free_ucmatrix and byteswap, none of which
1926 Added a new ability to calculate Zo assuming a round conductor - which
1927 it might not be. Its useful to check the software against coax, which
1928 has well defined values. Needs -v option to see the result.
1929 Added a new programme (only one file) 'readbin' which analyses the .bin
1930 files and reports on the number of each colour pixel.
1931 Corrected write_fields.c, so that a conductor is printed with zero
1932 E-field. Sometimes this was not so, as there was no check before writing
1933 the E-fields out that the pixels was not a conductor.
1934 Added new file/function check_for_shorts(), which causes the programme to
1935 exit if a conductor of one voltage is in contact with a conductor of
1937 Compiled with Sun's CC compiler, which threw up a few prolems. It's more
1938 fussy that gcc!! Hence made these changes:
1939 a) Replaced strncmp(bitmap_file_buffer, with strncmp((char *)
1940 bitmap_file_buffer, on line 41 of read_bitmap_file_headers.c.
1941 b) Changed atlc.c so a fread((void *)... image_data from fread(image_data...
1942 c) Removed multiple declaration of some variables in rect_in_rect.c,
1944 d) Changed fill_image_vector_with_data in rect_in_rect.c,
1945 rect_in_circ.c, circ_in_circ.c circ_in_rect.c and definitions.h, such
1946 that the first argument is an unsigned char *, not char* as before.
1947 e) align_bitmap_image in align_bitmap_image.c changed so its arguments
1948 are unsigned *char, not *char as before. Updated header file to reflect
1952 In several C files, changed variables so they were initialised to -1 - it stops
1953 compiler complaining about possible use of unitialisd variables.
1954 Removed multi-line fprintf statement, and made into two statements in rect_in_circ.c
1955 Changed else if(j=D/2) to else if(j==D/2) in fill_rect_in_circ.c
1956 Added exit(0) to end of circ_in_circ.c
1957 Added exit(0) to end of circ_in_rect.c
1958 Added exit(0) to end of rect_in_circ.c
1959 Added definition of usage_circ_in_rect() to definitions.h
1961 Removed the note about version 2.4 from this ChangeLog, as it wasn't released.
1962 Corrected a serious bug in setup_arrays.c, where v was set to 0.3 instead of 0 V.
1963 Removed 'byteswap' from byteswap.c and definitions.h
1964 Added code in configure.in to enable -Wall with gcc.
1967 ************Version 2.2 Dated 2/12/2001**************
1968 *****************************************************
1969 Changed some of the html documentation, to be more in line with the
1970 source and man pages.
1972 Verion 2.1 Dated 1/12/2001
1973 Many updates to documentation:
1974 Added man pages for rect_cen_in_rect
1975 Added man pages for circ_in_rect
1976 Added man pages for rect_in_rect
1977 Added man pages for circ_in_circ
1983 rect_in_circ - this dones NOT work, so it is configured to always exit.
1985 Changed atlc so that it no longer uses the faster convergence algorithm.
1986 I now know it can fail, so will remove it.
1988 Changed usage.c and atlc.c so that the -p option is not displayed if not
1990 usage.c Changed the usage message about '-i fiddle' as it was wrong before, in assuming default to be
1992 atlc.c Added a '-c' option, to change the cutoff.
1993 atlc.c Changed the reading of the '-i fiddle' option, so its read a double and not a long
1995 25/4/2001, verison 2.01 put on SorgeForce unix only, supports multiple
1998 Version 1.09 - Windows verison, put on my web site.
2000 Version 1 - published in QEX, see qex-december-1996/atlc.pdf.