Following are changes, additions, and bug fixes in Poisson Superfish version 7. The entries are in reverse chronological order. February 7, 2007 Poisson Superfish Version 7.18.0001 Fixed bug in reading parameters for a frequency scan in CFISH November 7, 2005 Poisson Superfish Version 7.17.0001 Error messages 320, 321, 322, and 323 now advise how to recover if Automesh exceeds the maximum number of boundary points allocated for the problem. Automesh estimates the number of fixed boundary points it will need from the number of &PO namelist regions and the number of line regions in the problem. The estimate is usually much larger than actually needed, but files with a large number of overlapping regions may require a larger allocation. New REG namelist variable BndMult, which must be 1.0 or greater, multiplies the initial estimate to increase the alllocation. Error message 120 now works as intended (see 7.16.0001 below). September 23, 2005 Poisson Superfish Version 7.16.0016 A new warning message 194 provides information about failure of the field interpolator caused when it encounters a zero determinant while attempting to invert a matrix. This warning may occur in SFO, SF7, WSFplot or any of the tuning programs In CFish, new warning message 195 occurs if the code encounters a zero determinant while attempting to attempting to fit the resonance circle. September 22, 2005 Poisson Superfish Version 7.16.0014 Program SF7 no longer reports that Egun or Parmela files have been created unless the file actually has been created. Previously, the code reported that it created a file for Parmela when the SF.INI setting MakeParmelaFile=Yes. However, the file is only created for problems with cylindrical symmetry. Variable RootNameLength in the [SF7] section of SF.INI defines the number of characters of the name of the solution file to use for the root name of Tablplot files and output files for other codes. The default setting is 6 characters. The minimum is 2 characters and the maximum is 246 characters. SF7-created plot files and output files are no longer limited to 2-digit sequence numbers. The tuning programs now allow long filenames for the Superfish files that the code creates. September 6, 2005 Poisson Superfish Version 7.16.0013 When plotting programs Tablplot and Quikplot are launched from the Start menu (or from a batch file or Cmd.exe window without a filename on the command line), the codes will immediately display the Select file dialog window. The name of the last file opened will appear in the "File name:" field if it still exists. To open the last file automatically (bypassing the Select file dialog), set AlwaysBrowse=No in the [Quikplot] or [Tablplot] section of SF.INI. Quikplot now displays on the status bar current values of SF.INI variables MaxDataSets and MaxPoints, and Tablplot displays variables MaxColumns and MaxLines. The status bar also shows progress as the it reads an input file. If the file contains more data than the current SF.INI settings, the status bar will indicate that the code is skipping some data, which may be helpful when reading large files. The File Statistics item in the File pull-down menu in programs Quikplot and Tablplot reports information about the data file and current settings in SF.INI. August 31, 2005 Poisson Superfish Version 7.16.0012 Plotting programs Tablplot and Quikplot now implement the "NoConnect" instruction on startup as described in the documentation. The codes had been ignoring this keyword and line connecting points could only be changed from the program menu. August 26, 2005 Poisson Superfish Version 7.16.0011 Instructions in the documentation for starting programs has been updated to reflect the fact that all codes are Windows programs and they can be started by double-click and right-click procedures. The information for some programs still described only command-line procedures. FTP servers LAACG1.LANL.GOV and LAACG2.LANL.GOV have been retired. Distribution is now by web download from: http://laacg.lanl.gov/ The direct link to the Poisson Superfish download page is: http://laacg.lanl.gov/laacg/services/download_sf.phtml June 28, 2005 Poisson Superfish Version 7.16.0010 We fixed a bug in Automesh that occurred very rarely and usually when called from one of the tuning codes. The symptom was that the tuning code would abort a run indicating that Automesh reported error 328 or 329. These errors involve overflow of some internal arrays. The actual problem was too tight a tolerance in comparing end-point coordinates to line region coordinates when tracing the logical path along a segment, which resulted in a failure to identify the mesh section containing the segment. June 14, 2005 Poisson Superfish Version 7.16.0008 We updated the documentation for program SegField (file SFcodes3.doc) and the description of the mesh-modification option in the Automesh chapter (file SFcodes.doc). When using SegField for this option, the user can extract data only for the mesh-point nodes by adding the line NodesOnly to the SegField input file. May 10, 2005 Poisson Superfish Version 7.16.0007 We fixed a bug in the field interpolator for electrostatic problems with cylindrical symmetry, which was reported by a user at the Paul Scherrer Institut in Switzerland. The code was not using special fitting functions near horizontal lines with either Neumann or Dirichlet boundaries. In some cases, the interpolated results had large unphysical fluctuations in the field components. May 9, 2005 Poisson Superfish Version 7.16.0006 We fixed a bug in the tuning codes. The code would stop with an error if the input file's complete pathname were longer than about 80 characters. Pathnames can now be 256 characters long as in other Poisson Superfish codes. The field interpolator will no longer return interpolated fields for points outside the problem geometry when the unit factor CONV is small (for example, CONV=0.001 or less). This bug could be seen when using WSFplot to view the fields at the cursor location. April 5, 2005 Poisson Superfish Version 7.16.0001 Certain REG namelist variables in the Automesh input file should only appear in the first REG namelist. Previously, it was the user's responsibility to heed the advice in the documentation to avoid potential problems. Automesh now stops with error 120 if it finds any of these particular variables after the first REG namelist. The list of variables includes all of the line-region variables, boundary conditions at the edges of the geometry, and KPROB, ICYLIN, XJFACT, DX, DY, RX, RY, CONV, MODE, XDRI, and YDRI. February 14, 2005 Poisson Superfish Version 7.15.0008 The installer now preserves user settings in SF.INI even if the line starts with a comment character (semicolon or exclamation mark). Previously, if a user had commented a line in the file, the commented line would be preserved, but the original line with its default setting would also appear in the new file. This older behavior could lead to unexpected results. For example, if the user included in the [Global] section of SF.INI an active version of a commented line in another section, the setting in the [Global] section would be ignored. The Mk_SFINI utility, if run separately after the installation, includes the same change. February 1, 2005 Poisson Superfish Version 7.15.0007 We fixed a bug in the line parser used in all Poisson Superfish codes. In previous versions, a tab character appearing in certain places could cause the parser to fail to recognize valid numerical entries. Tab characters between parameters was not a problem. However, a trailing tab or a tab between the last numerical parameter and a comment string (starting with either a semicolon or an exclamation mark) prevented the code from identifying the last numerical parameter as a number. The Beta utility program now lists beta, gamma, and energy in the results table. The user can provide any one of these three variables to solve for the other two variables. These improvements were suggested by a Poisson Superfish user. Several new SF.INI settings select the initial display preferences for program Beta. January 16, 2005 Poisson Superfish Version 7.15.0005 Dialog windows for utility programs Beta and Kilpat now include an entry for the maximum number of significant digits to display for the particle velocity in Beta or for the Kilpatrick field in Kilpat. January 13, 2005 Poisson Superfish Version 7.15.0004 Stored values of particle rest-mass energies in postprocessor SFO and utility program Beta have been updated with the 2002 CODATA (Committee on Data for Science and Technology) recommended values. For more information refer to the National Institute of Standards and Technology (NIST) web pages (www.nist.gov). In program Beta, the user can choose to enter the particle mass either as rest-mass energy in MeV or a mass in amu. We updated the documentation for utility programs Beta and Kilpat to reflect the Windows dialog format that has been in use for some time. January 5, 2005 Poisson Superfish Version 7.15.0003 In SF7, a minor change in the format of lines written to .T7 files (for Parmela) makes the output conform to the Parmela documentation. The change did not affect the performance of Parmela in any way. December 3, 2004 Poisson Superfish Version 7.15.0001 SFO will no longer issue warning message 182 if the particle velocity beta computed from the problem geometry and cavity phase length is only slightly larger than 1.0. If the calculated value is between 1.0 and 1.00001, the code will set BETA = 1.0. Users can change the permitted range by setting variable BetaTolerance in file SF.INI. The default setting is BetaTolerance = 0.00001. When tuning programs CCLfish, CDTfish, DTLfish, ELLfish, and MDTfish calculate BETA from the supplied cavity length, they check to see if the value lies within the range defined by the BetaTolerance setting in SF.INI. If so, then the code sets BETA = 1.0 and does not issue a warning message. The SFO postprocessor issues warning messages 181, 182, 183, and 184 for unphysical values of the particle velocity. These messages now list possible courses of action for preventing the warning from occurring on future calculations. Tuning programs CCLfish, CDTfish, DTLfish, ELLfish, and MDTfish now add the line "KMETHOD=1" to the REG namelist in Automesh input files. This setting directs the SFO part of the calculation (and subsequent runs using the stand-alone postprocessor SFO) to use the supplied value BETA to compute the wavenumber for transit-time factor integrals. With this change we were able to eliminate REG namelist variable BETAD as it is no longer needed. (For backward compatibility, Automesh now recognizes BETAD as a synonym for BETA. However, the documentation no longer refers to BETAD.) These changes should not affect the results of tuning code calculations. Automesh input files created by the tuning codes contain more detailed descriptions of REG namelist variables FREQ, FREQD, BETA, KMETHOD, and DPHI. We fixed a bug in ELLfish. Although the code was reading file SF.INI, it was only using variables from the [Global] section of the file and it was not making use of variables in the [ELLfish] section because of a typographical error. October 27, 2004 Poisson Superfish Version 7.14.0022 We added warning message 193 to Pandira to alert the user that the code cannot compute stored energy in permanent-magnet or anisotropic materials. This feature may be available in a future release. In previous versions, the code would simple skip the calculation without indicating why. The pop-up warning is turned ON by default, but it may be disabled with the line "ShowWarning=-193" in the [Global] section of SF.INI. Several warning messages were added to Automesh and Poisson starting with version 7.09 related to variable RHOGAM, an under-relaxation parameter that limits the rate of change in the reluctivity at each re-calculation. Automesh will no longer give these warnings for problems that only Pandira can solve. Poisson cannot solve problems containing permanent-magnet or anisotropic materials, and Pandira does not use RHOGAM. October 13, 2004 Poisson Superfish Version 7.14.0021 For better readability in electrostatic problems that contain charge, Automesh will now recognize REG namelist variable CHARGE as a synonym for CUR. The ChargeDensity subdirectory under Examples\Electrostatic now contains several problem files that illustrate different ways to set up problems with a charge or charge density. The documentation (in file SFexmpl2.doc) discusses these examples. We fixed a bug in Automesh that affected electrostatic problems for Poisson or Pandira containing a charge region specified by variable CUR or one of its synonyms. The bug did not affect problems that specified a charge density using variable DEN. When A REG namelist in the Automesh input file contained a value for CUR, the code multiplied the charge/length by the permittivity of free space where it should have divided by it, making the charge too small by 22 orders of magnitude. October 1, 2004 Poisson Superfish Version 7.14.0020 The SFO output file and the documentation have been updated to explain more clearly the transit-time factor integrals. September 27, 2004 Poisson Superfish Version 7.14.0017 The feature in SFO that generates a series of PMI files for a range of beta values was working correctly for multicell cavities, but it was not working for a single cavity. This bug has been fixed, and it will now work for a single cavity. September 10, 2004 Poisson Superfish Version 7.14.0011 Beginning with version 7.00, the installer and utility program MK_SFINI.EXE would preserve settings in SF.INI that had been edited by the user. The codes will now also preserve any additional comment lines added by the user. August 20, 2004 Poisson Superfish Version 7.14.0007 Eliminated support for environment variables SF7_Table, FishScan, and Tape40 left over from version 5 of Poisson Superfish. The functions performed by these setting have long been available using variables in SF.INI. SF7 now uses a different variable in SF.INI to indicate whether or not to include the field interpolator fitting data in output file OUTSF7.TXT. Variable ExpandedTable, which can be either Yes or No, replaces variable SF7_Table. When installing an update, the Setup program will make the conversion in an existing SF.INI file, and retain the user's current choice. August 2, 2004 Poisson Superfish Version 7.14.0005 Fixed a formatting bug introduced in version 7.13. Automesh again correctly reports the size of Y mesh spacings when line regions are used. The code calculated the correct Y mesh intervals, but was reporting values for DXT on lines that said DYT. July 27, 2004 Poisson Superfish Version 7.14.0004 Fixed a few other formats in Automesh and SFO similar to the changes made for version 7.14.0003. July 14, 2004 Poisson Superfish Version 7.14.0003 In the output summary of powers and frequency shifts, SFO now writes variables with up to 5 significant figures for the physical coordinates and up to 4 significant figures for fields, powers, and frequencies. In previous versions, if the table spanned a wide range of values (e.g., for power dissipation), very small values would show zero or only one or two significant digits, and large values might not print at all. July 1, 2004 Poisson Superfish Version 7.14.0002 The field interpolator in the dynamic link libraries (DLLs) runs slowly if the calling program switches between files very often. At the suggestion of Tibor Kibedi of the Australian National University, an application now can keep open up to 4 different solution files if the program is linked with additional DLLs provided separately in WinZip file MultiDLL.zip on the LAACG FTP servers. (The additional files are not part of the Poisson Superfish installation to avoid increasing the size of the installer by more than 40%. Interested users should download file MultiDLL.zip and refer to Readme_xxx.txt files in the subdirectories of LANL\DeveloperFiles\PoissonSuperfish, where "xxx" stands for the subdirectory name.) To assist users in developing programs that call the field interpolator dynamic link library, the DLL now writes more diagnostic information when requested. To use this feature, set REG namelist variable DiagDLL = 1 in the Automesh input file used to create the Poisson Superfish solution file. Documentation of the dynamic link library (DLL) has been updated (see file SFintro.doc). We thank Peter de Castro of the Thomas Jefferson National Accelerator Laboratory for supplying an example source file for the Microsoft Visual C/C++ language system that calls the field interpolator DLL. June 14, 2004 Poisson Superfish Version 7.13.0005 Poisson Superfish now uses Winteracter version 5.10f. The Fortran compiler remains Lahey/Fujistu Fortran 95 version 5.7d. We fixed a bug in Automesh that affected problems with very small mesh dimensions (e.g., Xmax-Xmin less than 0.0001). The bug was apparently introduced in Automesh version 7.09. In the section where the code traces the path along circular or elliptical segments, Automesh was using a tolerance for comparisons based upon the smallest mesh interval. However, in that section of code, the coordinates have been scaled to a "logical plane" where a mesh interval is 1 unit regardless of the physical dimensions. For very small dimensions, the code stopped with error 360 because it could not satisfy a convergence requirement when computing the location of the next point along the arc. Program SFOtable now reads RFQfish-generated SFO files if keyword CartesianCoordinates appears in the SFOtable control file. Before, the code would reach the end of SFO files unexpectedly because it could not find items that are only calculated for problems with cylindrical symmetry (e.g., E0, transit-time factor, etc.) Program RFQfish now writes entries in the SFO output file (in the list of tuning-code setup parameters) for the first eight parameters in the Data/EndData section. The Data/EndData section of RFQfish control files may include a tenth column supplied by the user. The name of this data column appears on new keyword line ParameterName line near the beginning of the file. If present, the value of the tenth column appears in the list of setup parameters in the SFO file. When more than one Poisson Superfish job runs simultaneously on the same machine, two programs could cause a sharing violation when opening file SF.INI or other preference files. The codes now check for this problem. If unable to open SF.INI after a few tries, the codes will write a warning in the output text file and alert the user with a pop-up warning message. The example file CVFInterp1.f90 that demonstrates how to create a Compaq Visual Fortran (CVF) program that calls the field interpolator DLL has been updated. The new version contains compiler directives that allow compilation to proceed with all default compiler settings. We thank Tibor Kibedi of the Australian National University for sending the updated example file. April 7, 2004 Poisson Superfish Version 7.12.0008 We fixed a formatting error in warning message 184 in SFO. March 26, 2004 Poisson Superfish Version 7.12.0006 In version 7.05, we added SF.INI variable Force1MVperMeter to control whether postprocessor SF7 normalizes the fields calculated for Parmela to EZERO = 1.0 MV/m when running the code with a .IN7 input file. It is now possible to specify whether or not to do this normalization in the .IN7 file itself. If the new keyword Normalization appears on the Parmela command line for interpolating on a grid, then SF7 forces EZERO = 1.0 MV/m. But, if the keyword NoNormalization appears, then the code uses the normalization computed by postprocessor SFO (or the default of H = 1000 A/m at the driving point if SFO has not been run). For multiple sets of interpolations in the same file, the last setting remains in effect until changed by another keyword. March 26, 2004 Poisson Superfish Version 7.12.0004 We fixed a bug that could cause Automesh to crash if any single-point regions appeared in the Automesh input file before other regions containing the same point(s). The POA namelist in Automesh input files now works correctly for input units other than centimeters (CONV set to a value other than 1.0). Tuning programs CCLfish, CDTfish, DTLfish, and ELLfish will now create an input control file for program ReadPMI under certain circumstances. ReadPMI is distributed with the Parmila program. A tuning code creates this input file if ParmilaData = Yes in file SF.INI (indicating that the code should produce PMI files containing transit-time factor integrals), and if the particle velocity always increases from one problem to the next, and if tuning code control file contains at least two problems. The ReadPMI input file has extension .RDP. March 16, 2004 Poisson Superfish Version 7.11.0006 We removed an extra unused check box from the ConvertF dialog window. When looking for file SF.INI, codes previously could fail to find SF.INI if the path to the working directory contained the name of the program. This bug has been fixed. The error did not occur if the working directory contained a copy of SF.INI, if the file was in the location set by environment variable SFINI. February 25, 2004 Poisson Superfish Version 7.11.0005 Command lines in the sample batch files can now accept path names that contain blank characters. Previously, if a user installed the codes in a directory containing a blank character (e.g., in Program Files), these batch files would not work. February 22, 2004 Poisson Superfish Version 7.11.0001 Program SF7 can now duplicate the feature in Poisson and Pandira that creates a 2-D field map for input to the Parmela program. Using this feature does not require any settings in the Automesh input file, nor any settings in file SF.INI. SF7 is now the preferred method for creating all three types of 2-D cylindrically symmetric field maps: rf, magnetic, and electrostatic. Program SF7 has several new settings in file SF.INI that define default values for most entries in the program's dialog window. The SF7 dialog window now includes a browse button to find an input file when interpolating along a user-supplied curve and when reading a file containing command lines. January 29, 2004 Poisson Superfish Version 7.10.0002 We added a second permeability table for vanadium permendur and updated the documentation (file SFcodes.Doc) to give the source of both vanadium permendur tables. January 27, 2004 Poisson Superfish Version 7.10.0001 We fixed a bug and some other potential problems in programs that invert a tridiagonal matrix (Fish, CFish, Autofish, Pandira and tuning codes). The changes affect mainly large problems that need to write temporary data to a disk file. To invert the matrix, the code saves two arrays associated with M submatrices, where M is the larger of Kmax and Lmax. One array has dimension N x M-1, where N is the smaller of Kmax and Lmax, and the other array has dimension N*N x M-1. During each cycle, the code saves the arrays to either memory or disk, then reads them back in reverse order. Previously, if a disk file were needed, both arrays were saved to the file. Now the code always allocates memory to save the smaller array. Some integer arithmetic that could overflow for very large problems has been replaced by floating-point calculations. Program ConvertF has a new check box that selects whether or not the cavity ambient temperature and gas temperature should change together. December 28, 2003 Poisson Superfish Version 7.09.0001 Poisson Superfish now uses Winteracter version 5.10e. The Fortran compiler remains Lahey/Fujistu Fortran 95 version 5.7d. We fixed a serious bug in Automesh that would affect any problem with a very large number of mesh points. The bug has been in all previous versions of Poisson Superfish, but only became apparent when people began to take advantage of modern powerful computers to run larger meshes than ever attempted in the past. The trouble was in the part of Automesh that was formerly a separate program known as "Lattice." When assigning the interior points of the mesh the code included some integer arithmetic that multiplied together four numbers that could be as large as (KMAX*LMAX)^2, where KMAX and LMAX are the number of mesh intervals in the X and Y directions. For a mesh with equal intervals in both directions, this intermediate product would exceed the largest positive 4-byte integer if both logical coordinates K and L exceeded 215. Oblong meshes were not as troublesome. For example, a problem with KMAX = 462 and LMAX = 100 would not cause a problem. The symptoms of this bug were varied. The initial assignments of the interior points could result in a severely distorted mesh, but the successive over-relaxation optimization procedure, which tries to equalize triangle areas, might correct any problems. In some cases, the problems could be so severe that Automesh was unable to resolve the mess and would issue an error message about overlapping or near-zero-area triangles. Problems were less likely to occur if the geometry contained line regions. The worst situation appears to have been large expanses that lacked both line regions and features described by closed regions. We fixed a potential problem in the line parser used in all Poisson Superfish codes. In previous versions, the line parser would attempt to read as real variables certain character strings that did not represent numbers. The codes will now recognize examples such as "100E0.2" or "1.0E+400" or "1.0E-400" as character strings rather than numbers. Any decimal point must precede the "E" or "D" that signals a number in scientific notation. Also, for numbers in scientific notation, the exponent must be in the range -307 to +307. This change should result in a useful error message if this sort of typographical error occurs in an input file. Poisson and Pandira problems now may select an internal permeability table for vanadium permendur. Potential users of this feature will also be interested in next few paragraphs. We have added documentation and some warning messages in Automesh and Poisson related to variable RHOGAM, which is an under-relaxation parameter that limits the rate of change in the reluctivity at each re-calculation. The default value of 0.08 is usually near optimum for 1010 steel (the default material table), but it may be too large for some materials, in particular for vanadium permendur. Some problems may not converge if RHOGAM remains at the default value. Automesh issues warning 190 if under-relaxation parameter RHOGAM remains at its default setting when the internal permeability table for vanadium permendur is in use. The pop-up warning is turned ON by default, but it may be disabled with the line "ShowWarning=-190" in the [Global] section of SF.INI. Automesh issues warning 191 if under-relaxation parameter RHOGAM remains at its default setting when a user-supplied permeability table is in use. The pop-up warning is turned OFF by default, but it may be enabled with the line "ShowWarning=191" in the [Global] section of SF.INI. Poisson issues warning 192 if the residuals RESIDA or RESIDI do not decrease steadily. The warning message advises that a possible cause of the oscillation is too large a value for under-relaxation parameter RHOGAM. The pop-up warning is turned ON by default, and will occur once after cycle 1000 if a residual has increased more than half the number of times that it has decreased. The warning may be disabled with the line "ShowWarning=-192" in the [Global] section of SF.INI. December 14, 2003 Poisson Superfish Version 7.08.0001 We fixed a bug in SFO reported by a user at SLAC. If the Automesh input file included the NORM=3 option to normalize fields to the value of ASCALE, and if SFO read a .SEG file, the code would set ASCALE = 0 unless the .SEG file included a value for ASCALE. Program Tablplot now changes the correct scale (X or Y) from linear to log or back when the menu item is selected. December 10, 2003 Poisson Superfish Version 7.07.0002 We fixed a bug in several programs that resulted in truncated names for some output files if the original Automesh input file had a name longer than 12 characters. The problem affected output files written by SFO, SF7, Poisson, and Pandira. December 2, 2003 Poisson Superfish Version 7.07.0001 We made some changes to the plot file FishScan.TBL written by programs Fish and CFish. The column of sequence numbers, which was seldom of any use has been omitted. CFish now writes both real and imaginary parts of D(k^2) and dH1, the field error at the driving point. We made some changes in the complex root finder used by program CFish. The code now counts the number of materials that have a nonzero imaginary part of either epsilon or mu. If there are no complex materials, the root finder and convergence are the same as in program Fish. With no complex materials, CFish does not attempt to fit a resonance circle to the driving-point field error data. It just returns the usual D(k^2) value. If there are any complex materials, then the convergence criteria on the slope of D(k^2) being close to -1 is replaced by the requirement that the slope is negative. During a resonance search, CFish will not test for convergence until it has enough data (3 cycles) to fit a circle to the driving-point field error in the complex plane. The documentation (in file SFcodes.doc) includes a new section that discusses the complex root finder. There are two new SF.INI variables related to the changes in the CFish code. Variable CFishCirclePlot controls whether CFish writes an input file for program Quikplot to display fitted resonance circles at each cycle of a mode search. Variable ScanFormatComplex controls whether the initial FishScan.TBL display shows a plot of the driving-point field error in the complex plane or a plot of D(k2) versus frequency as it does for the results written by program Fish. If one uses the Escape key to stop program Fish or CFish while the code is performing a frequency scan, the output file OUTFIS.TXT will now contain all the calculated data. The file was not closed properly if previous versions, so it was missing several lines of text. We failed to assign a number to two SFO error messages when Poisson Superfish version 7 was first released. Error 600 now occurs if SFO cannot allocate arrays for boundary-point data. Error 638 occurs if the SFO input file contains an unrecognized keyword. Program Tablplot has two new options. The code can sort the data table by a specified column, and it can label individual data points by the values from a specified column. The features can be activated by keywords in the input file or from menu items after the program starts. When labeling points, the user can select which point to start with, how many points to skip between labeled points, the number of significant digits in the labels, and the label orientation angles. One use of these features is to view a trajectory of points in the X-Y plane as a function of some other variable. For example, one may plot the rf reflection coefficient in the complex plane, but sort (and label, if desired) the plotted points according to the rf frequency. November 5, 2003 Poisson Superfish Version 7.06.0002 Poisson Superfish now uses Winteracter version 5.10c. The Fortran compiler remains Lahey/Fujistu Fortran 95 version 5.7d. October 2, 2003 Poisson Superfish Version 7.06.0001 For magnet problems, two new Automesh REG namelist variables instruct Poisson and Pandira to compute a series of solutions for different values of the current multiplier XJFACT. Variable XJFACT itself serves as the starting value for the series. Variable XJFEND is the ending value and XJSTEPS is the number of steps in the series after the first calculation. The code saves output files with filenames that include the number in the series of calculations. This feature was suggested by a user at Brookhaven National Laboratory. We noticed that two options from pre-1992 versions of Poisson could not be selected because the appropriate REG namelist variables were not recognized. It is doubtful that the features are of much use, but nevertheless, we added the variables ICAL, IHDL, and ICYSEN to the REG namelist variables. The limited documentation we could find for these features appears in sections under "Input options for Poisson and Pandira" in file SFcodes.Doc. September 22, 2003 Poisson Superfish Version 7.05.0001 New SF.INI variable Force1MVperMeter controls whether postprocessor SF7 normalizes the fields calculated for Parmela to EZERO = 1.0 MV/m when running the code with a .IN7 input file. Previously, in order to turn off the 1-MV/m normalization, the user would have to use the dialog window and uncheck the box labeled "Force E0 = 1 MV/m." Variable Force1MVperMeter also defines the initial setting of the check box in the SF7 dialog window. We fixed a bug in the calculation of power losses and stored energy for rectangular regions computed by SF7 and WSFplot. The area of some mesh triangles near corners of the rectangular region were being calculated incorrectly. The bug was encountered only rarely because the only triangles affected were those that had one point outside the rectangular region and that point plus one other point were both exactly on one of the boundaries of the rectangular region. September 12, 2003 Poisson Superfish Version 7.04.0005 Poisson Superfish now uses Lahey/Fujistu Fortran 95 version 5.7d and Winteracter version 5.0g. August 21, 2003 Poisson Superfish Version 7.04.0003 Eliminated a divide-by-zero error in ConvertF that occurred when the cavity temperature and operating temperature were equal. The error had no effect on results, except that the computed value of the expansion coefficient (which is not used in this case) would not correspond to the entered conditions. The code now displays a message indicating that the expansion coefficient is unreliable if the two temperature are equal. August 11, 2003 Poisson Superfish Version 7.04.0002 Error messages 384 and 386 include a clarifying comment about the origin of the quantities XMIN, XMAX, YMIN, and YMAX. July 3, 2003 Poisson Superfish Version 7.04.0001 The preference files containing start-up settings written by plotting programs WSFplot, Quikplot, and Tablplot are now text files rather than binary files. The codes will delete old copies of the binary files (WSFDATA.PRF, Quikplot.PRF, Tablplot.PRF, Qplot95.PRF, and Tplot95.PRF) when started in a directory contain these files. The text filenames are WSFPRF.TXT, QplotPRF.TXT, and TplotPRF.TXT. June 26, 2003 Poisson Superfish Version 7.03.0002 We fixed a bug in SF7 that caused the code to crash on electrostatic problems when interpolating on a grid. Poisson and Pandira now report the correct (positive) sign of the stored energy for electrostatic problems in Cartesian coordinates. We made a cosmetic change to the ConvertF dialog box to use a larger display region for the results. If a large Windows font size were in use, the results sometimes used more than one line per item. June 3, 2003 Poisson Superfish Version 7.03.0001 We added a new namelist type in program Automesh. Variables in the POA namelist define a single-point boundary value at location XA,YA. The boundary value ASET corresponds to the vector potential Az (or Aphi) for magnet problems, voltage V for electrostatic problems, or the magnetic field Hz (or Hphi) for rf problems. This feature restores a capability previously found in older versions of Poisson and Pandira. In version 4 and earlier, users could provide a list of logical coordinates and potential values directly to these solver programs. The present implementation defines the points using their physical coordinates instead of their logical coordinates, and the entries are part of the Automesh input file. We made the following improvements in ConvertF, the frequency conversion program: - Radio buttons replace previous scrolling text boxes to select ambient gas and cavity material. - Cavity material "Other" selects the user-supplied thermal expansion coefficient in units corresponding to the current temperature input units (e.g., /deg F or /deg C). - Results appear in color in a text box that allows the user to highlight and copy text. - The computed expansion coefficient now appear in the results text box and also in the output file XFREQ.TXT. - Precision of frequency output changed from 10 Hz to 1 Hz. - Dialog box now has buttons to update results or stop the program. (As in previous versions, changing entry fields also updates the results automatically.) April 17, 2003 Poisson Superfish Version 7.02.0001 We fixed a bug in Automesh that affected input files that use lines regions and also use units other than centimeters (CONV values other than 1.0). The code could diagnose an error because line-region coordinates in user units were being compared with problem boundaries in centimeters. In Automesh, there is no longer a default value for variable KPROB. Users must set KPROB in the first REG namelist to define the problem type. The only allowed values are KPROB = 0 for a Poisson or Pandira problem, or KPROB = 1 for a Superfish problem. April 15, 2003 Poisson Superfish Version 7.01.0000 We changed the way Automesh reads title lines from the input file. The problem title still contains up to ten 80-character title lines, but there can now be blank lines or comment lines (starting with a semicolon or an exclamation mark) interspersed among title lines. The code includes more error checking when reading title lines and will write a warning message if the file contains no title lines or more than 10 title lines before the first REG namelist. The change discussed above also affects tuning programs. If comment lines appear in the Title/EndTitle section of a tuning-code control file, the code transfers these lines to subsequent control files, log files, and to each Automesh input file. Automesh ignores these comment lines and they will not appear in output files written by Automesh, Fish or SFO. First release, April 4, 2003 Poisson Superfish Version 7.00.0006 Poisson Superfish now uses Lahey/Fujistu Fortran 95 version 5.7c and Winteracter version 5.0b. We now provide files for several language systems that allow users to call the Poisson Superfish field interpolator from their own programs via a Windows dynamic link library (DLL). The supported languages are: - Absoft Fortran version 8.0 and later. - Borland C++, version 5.0 and later (also works with Borland C). - Borland Delphi, version 2.0 and later. - Lahey Fortran 90, version 2.01 and later. - Lahey/Fujitsu Fortran 95 (5.0 and later) - Microsoft Visual C++, version 2.0 and later. - Microsoft Visual Basic, version 4.0 and later. Many Fortran compilers support linking with object modules made with one or more of these C languages, which provides a way for your Fortran code to call the DLL. The DLL for each language system appears in its own directory. The directory contains a dynamic link library (DLL), the object module used to create the DLL, an import library, and (if available) an example main program that calls the DLL. We continue to provide source files and a Fortran library for users of Lahey/Fujitsu Fortran 95 (version 5.7). There is no practical limit except disk space for the size of a scratch file if needed by programs Fish, CFish, Pandira, or the tuning codes. The previous limit under Lahey LF90 was 2 GB. The LF95 limit is 18 EB, nearly 10 billion times larger. Variables XMAX, XMIN, YMIN, and YMAX are no longer needed in the Automesh input file. Automesh computes these quantities from the first region's boundaries. Automesh will issue warning messages if these variables appear in the input file. Users may either remove the obsolete variables or disable the warning messages as described below. SF.INI settings MaxXLineRegions, MaxYLineRegions, MaxMaterialTables, and MaxMaterials have all been eliminated. Automesh, Autofish and the tuning programs now pre-parse input files to determine the required settings. The settings are passed to other codes in the Poisson Superfish solution file. Poisson Superfish codes now have numbered error and warning messages. Users can enable or disable the pop-up warning messages. Warnings still appear in the output text files. To disable warnings about obsolete variables XMAX, XMIN, YMIN, and YMAX, add line "ShowWarning=-118,-119,-120,-121" to the [Global] section of SF.INI. Output text files will include the complete path to the executable file that created it. Poisson, Pandira, and SF7 allow user configuration of the precision of field data in output files written by Poisson, Pandira, and SF7 (OUTPOI.TXT, OUTPAN.TXT, and OUTSF7.TXT). Because of the change in compilers from version 6 to version 7, the format of the Poisson Superfish solution file has changed. Version 7 codes will automatically translate old files to the LF95 binary file format. The change is irreversible. Double-clicking and right-clicking on files with registered extensions will now use the complete path to the executable files. You would need to edit the setting (e.g., under Tools, Folder Options, File Types) if you want the operating system to search the PATH for the program. When opening file SF.INI, programs no longer look on the PATH. A code first looks in the current directory. Next, it checks environment variable SFINI for the directory containing SF.INI. Last, it looks in the directory containing the executable file. The first file found is the one the program will use. Fixed a formatting error in Quikplot and Tablplot dialog boxes for displaying fitting results. If the leading coefficient was negative, the minus sign did not appear. Fixed the program menu displayed when plotting residuals of a fit in Quikplot and Tablplot. The Hardcopy and Fit menu items were previously grayed out, but are now available. The only way to return from the residuals plot is to Select Fit, Residuals a second time. Tablplot now include the option to "Plot only this column" when building a new data column in either the Edit Column dialog window or the Combine Column dialog window. Error 200 previously stated that a file did not exist if a code could not open it. The message now also mentions that the file may be in use by another application. MDTfish now sets Superfish variable EPSIK = 1.0E-8, which ensures that the solver produces an accurate result for very large problems. In the Poisson and Pandira chapter of the documentation, We added discussion about using these codes for conformally mapped problems. When SF.INI variable PrintBGammaTables=Yes, programs Poisson and Pandira will now create Tablplot input files containing the material tables. Previously, this data would appear in output files OUTPOI.TXT or OUTPAN.TXT. Programs SFO, SF7, and WSFplot have an improved algorithm for computing rf stored energy and power dissipation in dielectric and magnetic materials. In previous versions, only the power dissipation for problems solved by CFish handled multiple materials correctly, and for that calculation SF7 and WSFplot only included mesh triangles if the entire triangle was inside the rectangle that defined the integration limits. The stored energy and magnetic flux integrals in SF7 gave incorrect results if the integration grid spanned more than one material. The new procedure handles multiple materials. If an integration limit cuts through mesh triangles, the codes include the portion of mesh triangles inside the integration area. Program SF7 uses the same algorithm to compute the magnetic flux.