Hyram

Latest version: v5.1.1

Safety actively analyzes 623490 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 2

5.1.1

Changed
- Re-organized source code to simplify repository structure
- Changed delimiter of list-based inputs in the GUI to a space (' ') instead of a comma (',') to improve compatibility for international users
- Fixed bug with empty temp folder being created when not needed
- Renamed 'temp' folder to 'out'
- Fixed typo in package keywords
- Fixed R-squared calculation in validation tests
- Updated validation test criteria for 5.1
- Fixed a bug with QRA immediate and delayed ignition probabilities processing values of 0 and 1 in the GUI
- Ambient temperature input now retains its label when a saturated phase is selected
- Updated copyright year in source files

5.1.0

Added
- Added ability to output streamline and x-/y-distances to mole fractions to unignited plume
- Added carbon monoxide as a potential fuel in the Python backend

Changed
- Moved python package metadata handling from setup.py/setup.cfg to pyproject.toml
- Updated fault tree images in GUI to specify "Extra Component 1" rather than "Component 1"
- Updated contour plotting functionality and moved code to phys/_plots.py
- Added validation test suite for hydrogen physics based on the SAND2021-5811 report
- Fixed a bug that was not allowing heat flux contours to be changed using the GUI
- Added error handling to CoolPropWrapper's PropsSI that estimates solutions for edge cases where CoolProp cannot find one directly
- Bauwens/Dorofeev unconfined overpressure model now calculates constant overpressure calculations very close to overpressure-origin to avoid division-by-zero
- Updated Jet and Flame to utilize premade DevelopingFlow objects to speed up calculation
- Updated QRA Analysis to use new Jet and Flame parameters
- Added test in test_qra_effects for premade DevelopingFlow usage
- Clarified back-end event tree calculations to simplify calculations, added corresponding tests
- Allow blank (null) entries for QRA leak frequency overrides
- Increase GUI size to 1366x768px
- Simplify GUI form layouts
- Add Shared State form encompassing shared parameters and fuel specifications
- Improve form parameter grid cell validation
- Add plot axis limit inputs for most Physics functionality
- Added flammability limits as optional input to the Physics API overpressure calculation
- Added flammable mass (detonable mass for Bauwens model) as an output to the Physics API overpressure calculation
- Removed logging from physics and QRA modules and updated output to command line
- Refine CoolPropWrapper PropsSI calls to general get_property function in phys/_therm.py
- Calculation of Planck mean absorption coefficient (used in radiant fraction calculation) is now automatic based on the fuel
- Changed default propane leak frequency distribution values based on results from SAND2023-05818 report
- Changed default component counts for all fuels, previously had zero (0) for all component types for all non-hydrogen fuels

Removed
- Removed default random seed value for QRA in Python, so that a new value will be used for each run
- Removed optional Python input to override event tree specification in QRA, was previously limited in what could actually be specified

5.0.0

Added
- Added blends functionality to Physics analyses and GUI to support evaluation of fuel blends, including presets
- Added event_tree.py to provide flexible capability for building event trees; fault tree construction is now based on the order in which events are specified and only allows for two outcomes per event (accessible through Python backend)
- Added consequence.py to provide an abstraction for how event consequences were calculated and enable implementation of future consequences, which also absorbed material that was previously held in fatalities.py, making fatalities.py no longer needed (accessible through Python backend)
- Added test_qra_consequences.py to replace test_qra_fatalities.py due to incorporation of the fatality.py capabilities into consequence.py
- Added mass flow input for choked flows
- Added various plot formatting inputs to Physics analyses
- Added leak_frequency.py to place leak frequency calculation for the QRA analysis within its own module
- Added tests for support of leak frequencies beyond default values
- Added thermodynamic calculation subroutines so that blends are supported
- Added additional thermodynamic property values so that natural gas components are included
- Added support for keywords 'LFL' and 'UFL' within Jet.plot_moleFrac_Contour method
- Added keyword support for time constrained blowdown within Source.empty method
- Added ability to calculate steady-state releases for accumulation in GUI

Changed
- Moved Engineering Toolkit analysis forms into Physics mode
- Revised GUI save/load functionality to utilize JSON format instead of binary; save files can now be modified directly via text editor
- Changed display units from Pa to kPa for peak overpressure contour plot in Physics Unconfined Overpressure analysis
- Changed tabular display units from Pa to kPa for impulse data in QRA results
- Changed Physics TNT Equivalency calculation to use Unconfined Overpressure TNT method calculation, rather than separate similar calculation
- Changed jet flame and unconfined overpressure methods to calculate distance to effect (heat flux, overpressure, impulse) in any direction (x, y, or z) rather than only x
- Changed construction of event tree within QRA Mode's analysis.py to now utilize event_tree.py instead of having the event tree hard coded; the default event tree implemented within analysis.py
- Changed calculation of consequences within QRA Mode's analysis.py to now utilize consequence.py, instead of having that functionality hard coded
- Changed risk calculations within QRA Mode's analysis.py to loop over the potential events and associated consequences in a generic fashion to enable use of alternative event trees in the future
- Changed leak size implementation to support any leak size. Interpolates between default leak sizes that were used during calibration
- Changed Physics Tank Mass calculation to calculate temperature, pressure, volume, or mass if given the other three inputs
- Moved overpressure/impulse data to _overpressure_data.py
- Simplified package data import in setup.cfg
- Updated Jet.plot_moleFrac_Contour method aesthetics (changed labeling of contours and colorbar orientation is dependent on plot aspect ratio)
- Updated Flame.plot_Ts method aesthetics (colorbar orientation is dependent on plot aspect ratio)
- Fixed bug that was causing notional nozzle calculations to be made for unchoked flows
- Changed thermodynamic Combustion calculations so that blends are supported
- Moved plotting subroutine of blowdown into Source object
- Fixed bugs in various modules to resolve errors with certain versions of Numpy and CoolProp
- Revised random seed for occupant locations to now generate a new value each time GUI is launched; this value is still editable by user
- Updated CNG component leak frequency estimates based on recent statistical effort using an updated data set
- Changed default BST Mach Flame Speed to 0.35
- Changed default Thermal Exposure Time in QRA to 30 seconds

Removed
- Removed instances in which hydrogen was the default "species" argument for multiple functions/methods; the "species" is now a required input without a default
- Removed fatalities.py from QRA Mode as these capabilities were integrated into the new consequence.py
- Removed test_qra_fatalities.py due to being replaced by test_qra_consequences.py
- Removed overpressure and impulse data csv files, phys/data folder deleted

4.1.1

Added
- Added a setup.cfg file

Changed
- Moved metadata handling from setup.py to setup.cfg
- Fixed a typo in CONTRIBUTING.md
- Updated metadata for standalone python package

4.1.0

Added
- Added basic automatic Python tests for QRA probits, positions, effects, and fatalities
- Added basic utility to create temporary folder in current working directory if one doesn't already exist
- Added functions to calculate and plot overpressure effects for positions in QRA
- Added function to calculate fatality probability based on overpressure effects for QRA
- Added visible flame length as output to the Physics mode flame analysis
- Added mass flow rate as output to Physics mode Plume Dispersion and Unconfined Overpressure analyses
- Added automatic tests to verify zero-risk cases for QRA calculations
- Added check for Physics mode Plume Dispersion mole fraction contour values that reject 0.0 or 1.0 as possible inputs
- Added ambient pressure to Python engineering toolkit mass flow rate inputs
- Added wind to Python flame analyses
- Added Python calculation of hydrogen peak overpressures using modified BST method from Jallais et al. (2018) https://doi.org/10.1002/prs.11965
- Added impulse and overpressure data to QRA results
- Added discharge coefficient input to flame and QRA analyses
- Added phase input to Engineering Toolkit temperature, pressure, density calculations
- ETK temperature-pressure-density tool now calculates second missing parameter when phase is saturated

Changed
- Changed calculation of flow through an orifice to find maximum flux rather than relying on calculated speeds of sound
- Moved positions and heat flux effects from hyram.phys to hyram.qra and removed flux-analysis call from physics api
- Moved position generation to main QRA analysis instead of inside heat flux effects
- Moved calculation of thermal fatalities loop to separate fatalities module
- Changed QRA main analysis to calculate overpressure harm using unconfined overpressure model rather than overpressure/impulse direct inputs
- Changed QRA main analysis to utilize refactored code in new effects, fatalities, ignition probabilities, pipe size, and risk modules
- Changed internal calculations to use W/m2 for heat flux and Pa for peak overpressure for consistency; GUI and plots still report kW/m2 and kPa
- Figures are explicitly closed after saving to file to avoid taking up memory
- Changed the origin of unconfined overpressure blast wave to be the point at which the jet concentration is midway between the upper and lower flammability limits, instead of half the distance to the lower flammability limit
- Changed Bauwens/Dorofeev unconfined overpressure models to utilize fitted curves for detonation cell size rather than a saved spline-fit object in a pickle file
- Some Python optional arguments had default values that were specific to hydrogen (e.g., LFL and UFL), changed the default to select values specific to the fuel selected rather than hydrogen
- Fixed overpressure origin calculation, y- and z-coordinates were flipped
- Changed default overpressure probit model to TNO - Head Impact
- Changed ode integrator within Flame objects to use implicit Adams/BDF method rather than explicit Runge-Kutta method
- Improved accuracy of calculation of flammable mass within a jet/plume by interpolating the endpoints near the rich and lean regions
- Updated fault tree images in GUI to reflect added components in version 4.0

Removed
- Removed unused debris fatality probit
- Removed numerical comparison tests for QRA C-API, the tests now just check that the interface is working and that calculations run without error
- Removed saving and loading of flame data object file in QRA calculations since old results could stay in there despite model changes
- Removed unused save and load object functions from physics thermo module and utilities
- Removed value-specific checks from Python C-API tests, these may be incorporated in separate future validation tests
- Removed single-point radiation model from jet flame entirely from the Python code
- Removed unused 3D ISO heat flux plot, along with associated scikit-image dependency
- Removed unused unconfined overpressure contour plot
- Removed package dill as a dependency of the hyram Python package
- Removed package pandas as a dependency of the hyram Python package
- Removed overpressure impulse table inputs from GUI
- Removed unused facility height input in QRA
- Removed unused leak height input in QRA calculations
- Removed Python 2-phase speed of sound calculations

4.0.0

Added
- Ability to select hydrogen, methane, or propane as the fuel
- Additional components in QRA mode
- Unconfined overpressure model
- Default leak frequencies for liquid hydrogen, methane (liquid and gas), and propane (liquid and gas)
- Fuel specific critical pressure check
- Mass flow rate graph for indoor accumulation model
- Python tests for QRA mode and unconfined overpressure models
- Scenario details in QRA results
- Positional heat flux table in QRA results
- Flame temperature/trajectory model output displays mass flow rate and emitted power

Changed
- Name change to HyRAM+, along with new logo and icons
- Default leak frequencies for gaseous hydrogen updated based on more recent Bayesian analysis
- Overpressure physics model renamed to accumulation to differentiate from unconfined overpressure model
- Occupant location calculation in QRA mode
- TNT equivalent model in ETK looks up heat of combustion
- Fuel properties data table converted to pythonic dictionary
- Plot labels specific to hydrogen were changed to 'fuel'
- Sketch of accumulation scenario (without secondary area)
- Improved warning and error notifications
- Data directory now cleared on program launch
- Updated copyright

Removed
- Release area input from accumulation model

Fixed
- Suppressed interpolation bounds errors in indoor accumulation model

Page 1 of 2

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.