RAVEN v. 2.0
- RAVEN USER MANUAL
- RAVEN USER GUIDE
- RAVEN THEORY MANUAL
- REGRESSION TEST DOCUMENTATION
- ANALYTICAL TEST DOCUMENTATION
- Commits diff between RAVENv1.1 and RAVENv2.0
Third Official Release of the RAVEN code.
Version: 2.0
Main New Features:
- Parallelization and Performance:
- Completely restructured parallelism in RAVEN. Replacing the old Parallel Python system with the modern and powerful RAY library for parallel dispatching and HPC massive parallelism. New “RAVEN decorators” to ease the interaction with parallel systems has been deployed
- Deployed a new system (lazy importing) for isolating the import of heavy libraries and algorithms if not requested by the user (i.e. all the main classes are now instantiated on demand, when they are used in an input file). This system drastically improved the start-up time (the time to instantiate the code), now being almost instantaneous.
- Documentation:
- Updated RAVEN documentation (user manual, user guide, tests’ description) for a clearer explanation of the different features, such as Post Processors and Optimizers.
- Updated workshop material:
- Updated Introduction presentation (lighter and synchronized with the current development)
- Added section (lecture) about hybrid modeling examples
- Added section (lecture) about synthetic time series generation (e.g. ARMA, VARMA)
- Code interfaces:
- New interfaces:
- NEUTRINO: SPH-based highly accurate fluid solver, currently used simulate coastal inundation and flooding scenarios but extensible to support various fluid dynamic flows
- Major updates:
- RELAP5-3D: improved robustness of interface for restart mode. Addressed few issues caused by the previous Python3 upgrade. Added the feature to sample RELAP5-3D when cards are inputted in multiple lines.
- MOOSE-based App: Extended the robustness of the interface to handle a wider variety of inputs, including: Multiline vectors, Scalar entries on different lines than their keys, ordered inputs, hanging vector opening/closing, Multiple "root" nodes in file. In addition, added the possibility to perturb external input files (with the Generic Code interface approach) in the interface; this capability is useful when the App-specific auxiliary files need to be perturbed (e.g. CSVs, XMLs, etc.).
- New interfaces:
- Samplers:
- Improvement of Samplers’ performances
- Improvement of the robustness of the Restart capabilities for Samplers (default tolerances and handling have been modified to allow for OS differences)
- Improvement of Limit Surface search performance
- Addition of a new Adaptive Sampler based on the convergence on the error on statistical moments (named, Adaptive Montecarlo)
- Optimizers:
- New Optimization system with support for customizable APIs:
- flexible brand-new API for the ease development of optimization algorithms (both internally and externally)
- support for probability distributions (e.g. risk weighted optimization). Development of algorithms for fulfilling such use case is currently ongoing.
- Development of two new optimization algorithms:
- Conjugate Gradient optimization
- Simulating Annealing Continuous optimization
- New Optimization system with support for customizable APIs:
- Surrogate Models:
- Deep Learning:
- Addition of the support for Deep Learning (Neural Networks) with the deployment of the interface for TensorFlow/Keras
- ARMA/VARMA:
- Adds the option for the ARMA to produce higher-dimensional data on request, representing the ARMA re-evaluated for consecutive years, potentially also applying a growth factor. These realizations must be placed into a DataSet to be used effectively.
- The Clustering features accessible to the ARMA were extended to include hierarchal lists of cluster-able features that can be enabled a la carte by the user. The families of features are currently global, Fourier, ARMA, and peak. Additionally, ClusteredROM objects can be swapped from "full" to "truncated" mode (or vice versa) both at training time and at unpickling time.
- Improvement of the unbiased sampling for the synthetic time series generation index (e.g. time) clustering
- Deep Learning:
- Post-Processors:
- Addition of the MCS Post-Processor:
- Post-Processor aimed to import Minimal Cut-Sets (PRA) generated by an external PRA code (e.g. SAPHIRE) into RAVEN
- Addition of Pareto Frontier algorithm:
- Aimed to identify the points lying on the Pareto Frontier in a cost-value space
- Limit Surface improvements:
- Option to compute the bounding error of the limit surface (maximum error on the computed probability of failure)
- Basic-Statistics improvements:
- Fixed the discrepancy on quantile (percentile) calculation if no statistical weights or uniform weights were used (the should have been the same).
- Addition of the MCS Post-Processor:
- Plotting:
- Addressed the issue of multiple 3D plots on the same figure. Now all the plots are shown
- RAVEN Plug-ins:
- Standardized the creation of new RAVEN plugins:
- Regression testing
- Config files (e.g. Plugin dependencies)
- Documentation and NQ1 requirements
- In addition to the already deployed plug-ins (CashFlow and PRA plugin), new supported plug-ins have been deployed:
- LOGOS: integration of classical PRA analysis (SAPHIRE) with Dynamic-PRA (RAVEN) for financial optimization of maintenance. LOGOS uses the RAVEN CashFlow plugin for its financial analyses.
- SR2ML: aimed to provide sets of reliability models designed to be interfaced. These models can be employed to perform both static and dynamic system risk analysis and determine risk importance of specific elements of the considered system.
- SWAW: aimed to provide sets of advanced workflows and methods to be applied to plant health and asset management. These methods focus on maintenance and replacement optimization and system reliability/unavailability.
- Standardized the creation of new RAVEN plugins:
Addressed Defects:
- #1219
- #1186
- #1185
- #1176
- #1162
- #1157
- #1152
- #1143
- #1109
- #1103
- #1102
- #1101
- #1099
- #1089
- #1085
- #1080
- #1076
- #1070
- #1068
- #1065
- #1057
- #1048
- #1043
- #1036
- #1031
- #1023
- #1013
- #1003
- #1002
- #995
- #986
- #982
- #981
- #973
- #940
- #939
- #859
- #823
- #794
- #763
- #756
- #753
- #745
- #733
- #557
- #540
- #475
- #269
- #263
- #185
- #134
- #95
- #76
Tracking Change Log:
- Issue #988