Release Notes
Jump to navigation
Jump to search
Version 5.2.3 (3251) - January 24, 2019
Bug Fixes
- Fixed a minor issue with one of the built-in terms used to represent the decay of Pu-241 fission products. (#147)
Code Changes
- Fixed an issue with the regression script where it could fail if no cases were being executed. (#151)
Version 5.2.2 (3098) - October 12, 2018
Bug Fixes
- Step changes in programmed reactivity (`PREA`) at t = 0 are properly handled. (#123)
- User functions are no longer truncated to 32 characters. The maximum length is now 256 characters. (#125)
Code Changes
- Extensive unit testing of point-kinetics and decay heat has been added. (#123)
- Simplified implementation of "developer" build used for regression testing. (#127)
- Removed unused `AutoRef` source file from build configuration. (#128)
- Minor improvement to `make` configuration file to improve compatibility on Windows. (#129)
- Shortened some regression test filenames to be compatible with Windows path limitations. (#130)
- Improved compatibility of temporary directory creation for unit tests on Linux. (#131)
- Removed references to unused dynamic library (`libcrypto` on Linux) to improve compatibility with different Linux distributions. (#132)
- Reduced dependency on `-save` compiler option for better error detection. (#133)
- Sample cases distributed with SAS are now properly included in regression testing. (#145)
Version 5.2.1 (2848) - January 24, 2018
Bug Fixes
- `RESTART` files are not generated if `NSTEP = 0`, consistent with documentation. (#48)
- Eliminated a potential divide-by-zero error when the Young's Modulus for cladding and fuel are not provided in input. (#88)
- Corrected the declaration of a local variable used in debug print statements. (#91,#98)
- Corrected an issue where input parameter `IPRION` was not treated consistently when PRIMAR-4 was not being used. (#95)
- Eliminated a potential floating-point exception on Windows when debug prints are enabled. (#99)
- Eliminated a potential divide-by-zero error when predicting the time-step cutback in PRIMAR-4 if core channel flow rates are not changing. (#100)
- Corrected an issue where a non-zero value for `IFLOW` would impact PRIMAR-4 calculations. (#102)
- Eliminated a rare divide-by-zero error on Windows caused by poor CPU timing resolution. (#104)
Code Changes
- Removed unneeded compilation of `fpoptimizer` from the FParser library. (#81)
- Added support for "developer" build to simplify regression testing. (#85,#97)
- Updated copyright. (#86)
- Replaced non-standard calls to `ETIME` with calls to standard `CPU_TIME`. (#92)
- Corrected typos in the README file. (#94)
Version 5.2 (2568) - March 2017
New Features
- Control System models now have access to an extensive set of core and core channel state variables such as fuel, cladding, coolant, and structure temperatures; coolant flow rates and pressures; and several other parameters.
Bug Fixes
- All fixes from release 5.1.1 have been incorporated into 5.2
Code Changes
- Nearly all obsolete code constructs have been removed to bring the code into compliance with Fortran 2003 standards. (#82)
- Compiler options for Windows have been significantly revised for better consistency with macOS and Linux builds. (#79)
- `make source` now works on Linux (#83)
Version 5.1.1 (2524) - January 2017
Bug Fixes
- Corrected an issue in the input processor where integer input in a floating-point field would be interpreted with an assumed decimal point with five decimal digits. [2304],[2307]
- When input parsing fails in fixed-formatted input, a warning is printed if one or more tab characters was found. [2305]
- The `COMC` data structure is now fully initialized. (#69)
- Corrected an issue in the decay heat model where the 5^th^ decay heat region would not be properly initialized during steady state (#73)
- Corrected an array bounds violations error in the BOP module that produced different results depending on compilation options (#74)
Code Changes
- Removed unused character array processing routines (#61,#63,#64,#65,#66)
- SAS now reports errors if undefined element types or compressible volume types are detected in the PRIMAR4 input. (#68)
Version 5.1 (2238) - October 2015
New Features
- Full support for compiling on Mac OS X, Linux (x86), and Windows platforms.
- Consistent licensing mechanism across all three supported platforms.
- Support for user-defined input tables of arbitrary size.
- Support for user-defined input functions based on table lookup, scripted function, external plug-in, and control-system signals. Table lookup functions support linear, log-linear, spline, log-spline, and several other cubic interpolation options.
- Added binary "CONTROL.dat" file for logging control system signals during a simulation.
- Added conversion utility for reading "CONTROL.dat" file and generating Excel-compatible XML file.
- Input model files can now contain blank lines.
- Input files now require an explicit `ENDJOB` statement. Previously, a lone `-1` would qualify as an end-of-job indicator.
- Input blocks may be terminated by an `END` statement rather than specifying a data location of `-1`.
- Simulations that use the DIF3D-K Coupling Interface may specify radial, axial, and control-rod expansion models in SAS that are passed as additional feedback effects to the quasi-static solvers.
- Simulations that use the DIF3D-K Coupling Interface may include a Control System feedback model that will be passed as an additional feedback effect to the quasi-static solvers.
- Explicit control-rod motion may be specified in DIF3D-K Coupling Interface. Movable rod compositions are defined by new TABLE blocks and rod motions are defined by FUNCTION blocks.
- Initial steady-state flows in liquid segments in PRIMAR-4 may now be negative.
- Basic control system models that do not access PRIMAR-4 variables can be defined when only PRIMAR-1 is in use.
- The code now allows more than six delayed neutron precursor families in a `DLAYXS` file when `NPK > 1`.
- Extended interpretation of IPOBOI input to optionally terminate simulation when boiling is encountered.
Bug Fixes
- Corrected an issue where the acceleration pressure drop was not correctly evaluated for non-isothermal pipes.
- Corrected an issue with a missing `USE` declaration that led to a regression failure in an FPIN model.
- A lone `-1` in input is no longer interpreted as an end-of-job marker.
- Channel-dependent input arrays are now properly initialized and do not depend on compiler settings or relying on users to zero a block on first use.
- Corrected an issue in the DIF3D-K coupling interface where a lower fission gas plenum (IPLUC ≠ 0) was not handled properly.
- Issues with reading a restart file with multiple restart frames have been resolved.
- Corrected an array bounds violation that could result in improper null transient initialization with table lookup steam generators.
- Upper reflector temperatures are now printed correctly by the boiling module.
- Resolved an issue where job titles were mangled by the DIF3D-K output routines.
- Corrected a memory issue that occurred when a file-wide chi vector is not present in an ISOTXS file.
Code Changes
- Added distribution target builds to include licensing pre-flight checks in executable.
- Renamed GEOMIN common block in fpin to "FPGEOMIN" to avoid naming conflicts with original GEOMIN input block.
- Eliminated some code structures that led to optimization failures with the Intel 2013 compiler.
- All source code is now declared with `IMPLICIT NONE`.
- The `COMC` common block has been completely rewritten as two new modules.
- The `COLC` common block has been completely rewritten and merged into one of the new modules for `COMC`.
- The `PLUC` common block has been completely rewritten as a new module.
- Internal data structures for DEFORM-4 and DEFORM-5 have been completely rewritten as new modules.
- The common blocks for `ANEUTR`, `INEUTR`, and `RNEUTR` have been rewritten as new modules.
- Implemented significant refactoring of the DIF3D-K Coupling Interface to extract the transient driver as a separate source file.
- Eliminated legacy timers and checks on remaining CPU time that weren't enforced anyway.
- Source code has been improved to be more compliant with pre-processor requirements.
- Added an internal `sleep` function where the argument is interpreted in milliseconds.
- Added `svn:keywords` property on files that were missing the setting.
- Corrected some minor issues where dummy arguments were not declared with the correct shape.
- Debug build target now implements more aggressive checking for uninitialized variables. Some previously uninitialized variables are now properly initialized.
- The Control System module has been significantly refactored and is no longer dependent on PRIMAR-4 to operate.
- All FPIN code has been converted to free-format source style.
- Full source can be optionally compiled to produce "Mini SAS", which excludes severe accident and balance-of-plant modules and limits models to five channels.