VARSKIN Release Notes

This document outlines in detail the modifications, additions, and/or removal of features from VARSKIN+ v1.1 to VARSKIN+ v1.2.

All modifications are based on items entered into RCD software issue tracker as a source for the basis of a change.

Table of Contents

1.0 Introduction  
2.0 Abbreviations and Definitions  
3.0 Base Line Code  
4.0 Changes  
     4.1. Issue 21: Expansion of Max Beta Range  
     4.2. Issue 17: Syringe Geometry Parameters  
     4.3. Issue 28: Error Reading 97Zr  
     4.4. Issue 34: Error Reading 208Tl  
     4.5. Issue 27: Results Table Unable to Display More Than 80 Nuclides  
     4.6. Issue 29: “Calculate” Button Not Disabled When Calculating  
     4.7. Issue 36: Scenario Save File Resolution  
     4.8. Issue 20: Decimal Separator Handling for International Number Format  
     4.9. Issue 32: Alpha Dose Various Problems  
     4.10. Issue 30: Addition of Doppler Broadening to ENDF Parsing  
     4.11. Issue 35: Addition of Neutron Energy Degradation Model for Shielding  
     4.12. Issue 39: Unable to Modify Nuclide Activities  
     4.13. Issue 38: Not Able to Save Activities of More Than 8 Nuclides  
     4.14. Issue 5: Radioactive Progeny Activity Calculation  
     4.15. Issue 40: Graph Type Change from Histogram to Spectrum  
     4.16. Issue 41: Preventing Daughter Calculations within WoundDose  
     4.17. Issue 43: Accounting for Neutron Energy Degradation in Skin for nDose  
     4.18. Issue 9: Graphing Project Name Changes  
     4.19. Issue X: Update of About Information

Changes

The following sub-sections outline the changes made from VARSKIN+ version 1.1 to VARSKIN+ version 1.2. A summary of changes is provided in Table 4-1.

VersionIssue #DescriptionSection(s)
1.1 
(CP12)
-Major Release.-
1.1.1 
(CP13)
21

Expansion of maximum beta spectrum energy to ensure entire range of nuclides’ beta decays can be represented. 
 

Java version was switched to jdk17.

4.1
1.1.2 
(CP15)
17

The descriptor to print in a dose report for the syringe has been changed from thickness to 'DY,' which is the syringe's length. 

The density for the syringe geometry is now visible.

4.2
1.1.3 
(CP14)
28, 34Zr-97 from ICRP-107 and Tl-208 from ICRP-38 (last nuclides in the database files) can now be added to the database.4.3, 4.4
1.1.4 
(CP16)
27, 29Results table can now display more than 80 nuclides. The "calculate" button may now be clicked only once during an active calculation.4.5, 4.6
1.1.5 
(CP18)
36Updated write precision to the nuclide XML database file to 15 digits to ensure consistent results are obtained during loading and re-executing scenarios.4.7
1.1.6 
(CP17)
20Treatment of exponents for non-English users was corrected to account for the proper machine regional settings. Writing of country, language, and decimal separator was also added to the XML scenario file.4.8
1.1.7 
(CP20)
32Constant-radius annuli are implemented instead of constant-area for calculating the alpha dose. The number of dose rings is also increased ensuring proper resolution of the solution methods.4.9
1.1.8 
(CP21)
30, 35

Addition of Doppler broadening to ENDF tape parsing ensuring that cross sections of low-mass nuclides included for neutron dosimetry are more accurate.

Addition of a first-principles neutron energy degradation model, currently applicable only to water.

4.10, 4.11
1.1.9 
(CP22)
38, 39Results from more than 8 nuclides can now be saved with proper activities stored and loaded.4.13, 4.12
1.1.10 
(CP24)
5Complete remodel of the system used to incorporate radioactive progeny in calculations involving decay-enabled (“D”) databases for SkinDose. Calculations now account for in-growth and decay of daughters up to and through exposure period.4.14
1.1.11 
(CP23)
40Graphs of discrete emission spectra have been changed to use the Spectrum type instead of Histogram.4.15
1.1.12 
(CP25)
41Daughter calculations were improved with v1.1.10 for SkinDose. The inclusion of daughters in the previous and new framework is not yet available for WoundDose. Additional checks and limitations are incorporated to ensure proper use.4.16
1.1.13 
(CP26)
43Neutron flux degradation through tissue has been improved using the framework of the added neutron shielding model in v1.1.8. The previous neutron dosimetry model attenuated neutrons from the skin's surface to the selected dose depth only by use of the total cross section; no energy degradation is performed. Energy degradation is now accounted for.4.17
1.1.14 
(CP27)
9Graphing project name changes, no technical changes.4.18
1.1.15 
(CP28)
45Update to about information.4.19
1.2 
(CP29)
-Major Release.-

The full release note can be found here.

This document outlines in detail the modifications, additions, and/or removal of features of VARSKIN+ v1.0 to VARSKIN+ v1.1.

All modifications are based on items entered into RCD software issue tracker as a source for the basis of a change.

Table of Contents

1.0 Introduction  
2.0 Abbreviations and Definitions  
3.0 Base Line Code  
4.0 Changes  
     4.1. Wound Dose Line Source Dose (Issue 1)  
     4.2. Correction to Electron Yield Threshold (Issue 2)  
     4.3. Correction to Regional Settings (treatment of decimal delimitator) (Issue 3 and 15)  
     4.4. Eye Dose “N/A” Shielded Dose with Zero Photon Dose (Issue 8)  
     4.5. Wound Dose BSCF Disabled with Zero Injury Depth (Issue 10)  
     4.6. Integrated Dose Correction for Large Exposure Times (Issue 11)  
     4.7. Off-Axis Correction Factor Step Function (Issue 12)  
     4.8. Incorrect Half-Life Units (Issue 13)  
     4.9. Improper “Feet” Unit Conversion (Issue 14)  
     4.10. Uninitialized Neutron Dose Time-Distance-Activity Variables (Issue 14)

Changes

A summary of changes made from VARSKIN+ version 1.0 to VARSKIN+ version 1.1 is provided below:

  • Correction made to wound dose line source dose calculation (Issue 1).
  • Correction and removal of incorrect yield check threshold for electrons (Issue 2).
  • Correction made to regional settings impacting decimal separator (Issue 3 and 15).
  • Correction made to EyeDose shielded dose when photon dose is zero (Issue 8).
  • Correction to WoundDose backscatter coefficient with zero injury depth (Issue 10).
  • Correction to integrated dose for large exposure times (Issue 11).
  • Disabled off-axis scatter correction in photon dose calculation (Issue 12).
  • Correction to incorrect parsing of minute half-life units (Issue 13).
  • Correction to feet unit conversion and NeutronDose initialization (Issue 14).

The full release note can be found here.

Previous versions of this code were simply referred to as VARSKIN. With the release of this version a distinction is made since additional dose models were added to VARSKIN beyond the typical shallow dose models. These new models in conjunction with the classic VARSKIN are now collectively referred to as VARSKIN+. The models that are contained under VARSKIN+ are:

  • SkinDose (classic VARSKIN)
  • WoundDose
  • NeutronDose
  • EyeDose

Historically, the VARSKIN source code has been divided into two types. The first is Fortran source code which contains the physics associates with each dose model. The second is new Java source code (from C#) that defines the graphical user interface (GUI). In this update the structure and methods of the existing Fortran was largely not modified. It is noted that new source code was added to the Fortran project for the new dose models add to VARSKIN.

Detailed Nuclide and Dose Results Information

The user can now select a nuclide that is part of the dose scenario and obtain more detailed information about that nuclide, decay mechanisms, and energy emission data.  The user can also view detailed dose results for SkinDose and WoundDose that would otherwise clutter the dosimetry output block.

Added Ability to Load User Manual

Within SkinDose, WoundDose, NeutronDose, and EyeDose the user manual (NUREG) can be accessed in the Help menu.

New Model for Syringe Added

The syringe geometry has been reinstated in the SkinDose module. The user enters the length and diameter of the radioactivity fluid, not the physical syringe.  The syringe model essentially behaves like the cylinder model except that the cylinder would be standing on the skin surface and the syringe is lying on the skin surface.

Added Language Capabilities

The framework for adding languages has been greatly improved.  Experienced users can add languages without the need to modify source code, recompile, or re-package the program.  The languages currently available include:

  • English
  • Spanish
  • French
  • Ukrainian

Added Ability to Disable Source and Air Backscatter Correction

Within SkinDose and WoundDose the user can disable backscatter correction for electrons originating within the source and those emanating from the source and scattering back (or not) in the air above the skin surface.

Modified Yield Limits for Electrons and Gammas

The electron and gamma yield limits were modified to include lower yield branches into the dose calculations from 1% to 0.1%. Historically, these yield limits were set due to limited computer power to avoid the inclusion of potentially hundreds of time-consuming small yield branch calculations. Historically, these yields were assumed to have negligible impact on the answer. With modern machines, however, this limitation is no longer relevant. As a result of the loosening of the yield limits, dose results may be higher than previous versions of the code.

Correction to Cubic Spline Application for Volume Averaging with Electrons

When performing volume averaging calculations with electrons, the dose is calculated at each of 50 calculational levels. These levels are then used to create a cubic spline fit that is then integrated to determine the volume average dose. Previously when evaluating the spline fit near or beyond the max range of electrons, negative dose values were being obtained even though they should have been identically zero. This is the result of well-known imperfect fit or ‘wiggle’ near the boundary of a spline. In other cases, evaluating the spline beyond the max range of the particle was being performed which resulted in erroneous large results due to extrapolation.

To resolve this issue, protections were added to VARSKIN+. A check is now made if the dose-evaluation depth is greater than the electron range and dose estimates at those depths are set equal to zero before averaging.

Added Ability to Add Multiple Nuclides at Once

When adding nuclides to the user library, multiple nuclides can now be selected at once. When using the mono-energetic (XX-MeV) option as the source, the multiple selection method should not be used as the mono-energetic source has other inputs that the user will be required to enter.

Completed Conversion to Double Precision

The conversion to double precision throughout the code has been completed and maintained in newly added source code. Historic versions of the code were limited to approximately 7 decimal places of accuracy due to machine limitations. This version fully allows 15 decimals. This is more important when performing operations on numbers with varying magnitudes.

New Model WoundDose Added

A new feature in VARSKIN+ is the addition of a wound model. The model is based on National Council on Radiological Protection and Measurement (NCRP) Report 156, “Development of a Biokinetic Model for Radionuclide-Contaminated Wounds and Procedures for Their Assessment, Dosimetry and Treatment” (NCRP 2007). WoundDose calculates shallow dose equivalent (SDE), local dose equivalent, and committed effective (and organ) dose equivalent from industrial or medical events resulting in the subdermal introduction of radioactivity following skin injury.  The user will notice that many of the features of WoundDose are derived from the SkinDose module and their utilization is similar.  Point-source and line-source geometries are allowable in this first release.

New Model for Alpha Dosimetry Added

The SkinDose and WoundDose modules are now able to estimate dose from the emission of alpha particles. High energy emissions are required for alphas to penetrate the dead layer of skin, but with subdermal injuries the potential for alpha dose to tissue is increased significantly.

New Model NeutronDose Added

A new feature in VARSKIN+ is the addition of a neutron dosimetry model. The model estimates shallow tissue dose at a user-specified depth following exposure to a source of neutrons with energies ranging several orders of magnitude from thermal to fast.  The user can select monoenergetic neutrons or can choose from a list of ICRP 107 nuclides and reaction compounds resulting in various neutron spectra.  Neutrons are assumed to be orthogonally incident on the body.

New Model EyeDose Added

A new feature in VARSKIN+ is the addition of an eye dosimetry model. The model allows for the evaluation of photon and electron dose to the lens of the human eye for radionuclides in the ICRP 38 or ICRP 107 database or for monoenergetic beams.  The source of photons and electrons is assumed to be on-axis with the eyeball (i.e., the exposed individual is staring at the source). Lens dose is calculated for unshielded and shielded eyes.  Shielding is provided by standard safety glasses containing 2 mm leaded glass.

This release note outlines the modifications, additions, and/or removal of features of VARSKIN in moving from version 6.2 to 6.2.1. A set of 50 exhaustive test scenarios was developed for regression testing. VARSKIN 6.2 was run against that set and found to contain an error (see below); V6.2.1 was also run against that set and shown to provide appropriate results. These test scenarios will become part of our new regression testing as we move forward with VARSKIN improvements.

Modeling Enhancements

Inclusion of Po-212 (pure-alpha emitters). When selecting a nuclide that is not a photon or electron emitter (212Po is listed as a pure alpha emitter in the ICRP 38 and 107 databases), the output of SadCalc returns NaN for the spectrum values and may result in a program abort ("ERROR: Input string in incorrect format"). The issue was tracked down to an array beyond its bounds and a divide-by-zero error. The appropriate iterate loop is now used such that correct bounding is maintained. This will prevent the divide-by-zero from occurring. The result is that the Sadout file now outputs 0.0 instead of NaN.

Inclusion of N-16 (high-energy emissions). Nitrogen-16 emits very high-energy photons and electrons (out of the normal bounds for VARSKIN). At these high energies, due to selected functional fits, charged particle equilibrium (CPE) factors begin to flip to very large negative values after CPE has already been established. This occurs at distances near the edge of the 10 cm2 dose averaging plane. Near the end of this integration, the fit for the CPE function fails and significant negative numbers are averaged into the final dose calculation. Protection was added to ensure that path and range lengths cannot take on negative values. If this protection is activated, VARSKIN will set fcpe equal to 1.0, as required.

Spherical geometry distributed source error fix. Using the Distributed Source option for a sphere yielded results that were 75% of the expected value. Within the GUI, there is a routine that converts the distributed activity to total source activity. In one of the calculations, integer and real constants were combined causing a calculation mismatch. This error has been present since the first use of the GUI (V3.0). In addition to changing this instance of an integer to a real, the remainder of this source file was verified to ensure that constants that are part of real operations are entered as reals. Various modifications were carried out within this source file to ensure this real/integer consistency. This error was discovered while running the 50 new test scenarios.

Code Infrastructure Updates

Single FORTRAN DLL creation. The three FORTRAN executables (GamCalc, SadCalc, and VarCalc) were combined into a single dynamic-link library (DLL). This reduces the number of configuration items in the entire VARSKIN package and will allow for future improvements of passing information directly through memory versus text files through read-write statements. This results in tremendous run-time performance gains.

User input precision. The allowed user input precision was increased from 3 significant digits to 5 significant digits.

Conversion from fixed to free format. Work began on converting FORTRAN files from fixed-form format to the modern free-form format.

Removal of fort.20 file. A WRITE statement for debugging purposes was set to WRITE to UNIT 20 which was not previously defined. As a result, information was dumped to fort.20. This statement was removed as being not necessary and the file is no longer written.

Creation of MODULE constants. A MODULE was created to hold the FORTRAN project constants that are used throughout the FORTRAN program. This includes constants for  
the TYPE definitions below.

Created standardized TYPE definitions. Standard TYPE definitions were defined in a newly create constants MODULE. This ensures consistent use of precision throughout the FORTRAN project. A precision of 15 digits is specified for REALs (double precision on most machines) with SDK (selected double kind) and INTEGERs were specified to contain 10 elements with SIK (selected integer kind).

Addition of an error log file. An error log file was defined to direct all output warnings and errors during the execution of the FORTRAN project. This was defined within the newly created MODULE constants.

FORTRAN program restructuring. A general restructuring and functionalization of the FORTRAN source was performed. This is included functionalizing certain methods for  
organization and reuse.

Source directory clean-up. A general cleanup of directories was performed.

VARSKIN 6.2 corrects the functionality of photon attenuation with a single cover when entered on the main input GUI. In terms of the attenuation calculation, previous versions would ignore user inputs of cover thickness and cover density if they were entered on the main screen. No changes were necessary when using the multiple cover calculator

VARSKIN will print a hardcopy: In the past, a hardcopy of VARSKIN results was obtained by generating an HTML window and then printing that image. While that option still exists, the user now has the ability to print output directly to a local or network printer. In the lower right corner of the results window press “Print Results”. A data entry window will appear asking that the User enter a Title for the VARSKIN run. Enter the title, then press View to see the HTML on-screen version, or press Print Results to obtain a hardcopy.

VARSKIN is available in Spanish: In the upper left corner of the main window, the User will see a new drop-down menu option, “Language”. Clicking that option will reveal two languages, English and Spanish (more to come!). The User then selects their desired language. Functionality is identical for both options. Note that when the user selects a language (even if it’s the one currently in use), the “reset” function is activated, the data-entry window is cleared, and all options revert to their default values.

VARSKIN will handle mono-energetic radiations: The mono-energetic option is activated by selecting the “Add” button in the Radionuclide Library portion (top middle) of the main window. Leave the ICRP 38 radio button selected and press OK. Scroll through all nuclides to the end of the library; the last entry is “XX-MeV”. Enter the atomic number of the source (if different from water) and double-click XX-MeV (or single-click and press Add Radionuclide). A new Specify Energy window will appear to enter either or both photon and electron energy values. The minimum acceptable value is 1 keV and the maximum is 3 MeV for photons and 8 MeV for electrons. If the XX-MeV file already exists in the user radionuclide library, and the user goes through the process of entering new energy values, the file is over-written with the new selection of energies. The “dummy” nuclide established with this mono-energetic energy is assumed to have a very long half-life and to emit photons and/or electrons with 100% yield.

Erroneous high dose-rate calculations: Users reported that dose calculations for specific nuclides seemed to be much larger than anticipated, specifically 7Be, 95Nb, and 166mHo. Additionally, we note that the calculated dose became unusually high for relatively long exposure times from very short-lived nuclides. This task was to locate and repair any error(s) associated with high dose-rate calculations.

We determined that one error was occurring with nuclides having a large number of low-probability emissions of conversion electrons. The calculation of average electron energy for a given nuclide was corrected so that those conversion electrons did not drive the calculation of average electron range and hence dose. This correction took the form of only considering conversion electrons with yields greater than 1%. Many nuclides emit a large number of very low yield electrons and this greatly impacted (by orders of magnitude) average electron energy, maximum range, and the specific absorbed dose distribution (SADD). For nuclides that are pure electron emitters (e.g., 123I, 57Co, 123mTe, and 99mTc), the change in yield threshold to 1% had significant changes in the calculation of average energy, but minor effects on overall dose calculations.

The other issue of apparently large dose calculation was evident when calculating the dose for very short-lived nuclides. The VARSKIN code calculates the dose-rate for the skin exposures defined in the scenario. Total dose, either decay corrected or not, is then determined in the GUI based on dose-rate and exposure time. Prior to the fix (appearing in v5.3), the GUI calculation became very unstable when the exposure time exceeded approximately 20 half-lives. This error was eliminated by simply limiting the dose integration (exposure time) to 20 half-lives, regardless of actual exposure. This change affects very few nuclides, except when exposure times become relatively large.

Off-axis angle: There existed an error in which the message, “Input string was not in a correct format” would appear when there was a significant difference between the radius of a volumetric source and the radius of the dose averaging disk. This suggested that when calculating the off-axis factor, the angle of correction became so close to zero that an arcsine calculation error was occurring. As it turns out, this was not due to a trigonometric error, but rather was caused by the code trying to calculate the square root of a negative number. This attempted calculation occurred when the location of the source kernel was near the edge, or outside of, the dose averaging disk. By limiting that parameter value to a minimum of zero, this error was resolved.

Air-gap limit: Participants at the 2015 RAMP training suggested increasing the current limit of 5 cm maximum air gap to something greater. This is a very easy change in itself, however running comparisons with MCNP will be important to verify that algorithms continue to be stable at some threshold distance. We increased the current air-gap limit from 5 cm to 20 cm.

The new look of VARSKIN: The development team has changed the look of VARSKIN to be more easily readable with dark numerals on white surfaces, and action buttons (e.g., Calculate Doses) are color-coded in green and red. This distinctive look is new for VARSKIN 5.3.