Skip to content

RAVEN Time Line

Congjian Wang - INL edited this page Jun 14, 2022 · 10 revisions

October 2021: RAVEN Version 2.1

RAVENv2.1

April 2020: RAVEN version 2.0

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.).
  • 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
  • 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
  • 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).
  • 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.

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, #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

May 2019: RAVEN version 1.1

Features:

  • RAVEN SQA: - Full Software Quality Assurance documentation (NQ1 Level 3 but of Level 2 "pedigree")
  • Python 3 compatibility: - Default Installation and usage is now in Python 3.x
  • New Windows installation procedure: - Removed requirement of MSYS and usage of native windows tools (PowerShell or CMD)
  • New DataObject system with support for unstructured Datasets - Highly customizable - Usage of xarray and pandas - Faster performances - Initial design for High Density fields
  • New regression test system: - A new Python2/3 compatible regression test system has been developed ((ROOK)).
  • ARMA enhancements with signal clustering
  • Segmented ROMs capability
  • Multi-collinearity detection in statistical analysis and addition of the computation of standard errors: - Detection of multi-collinearity phenomenon and warn the user in case of possible instability in the relational analysis solution (e.g. sensitivity, etc).
  • Limit Surface performance improvement: - Multiple enchantment for improving the speed of the limit surface creation and usage
  • RAVEN Template input system for simplified analysis flow creation: - A RAVEN Template consists of three main pieces: a Templated Workflow, a Template Class, and a Template Interface. The Interface is the main driver, and uses an input file to inform the Template Class on how to modify the Templated Workflow in order to create a new RAVEN input file. This system allows a internal or external developer to create simplified workflows for performing specific analysis flows (e.g. Uncertanty Quantification flow). - (User Manual chapter 22.2 - How to create a RAVEN Template)
  • Updated User Guide documentation
  • Probabilistic Risk Assessment Plug-in (Integration of Traditional PRA in Dynamic PRA analyses) - PostProcessors/Models for the integration of Classical PRA into Dynamic PRA and UQ (e.g. Event Trees, Fault Trees, etc.)
  • Variable group system enchantment: - Improved speed - Improved operations
  • New code interfaces: COBRA TF, SAPHIRE, SCALE, PHISICS, MELCOR, RAVEN (RAVEN able to drive a RAVEN inner analysis)

Addressed Defects:

  • #986, #982, #925, #874, #843, #822, #792, #780, #773, #761, #739, #722, #717, #704, #699, #696, #695, #693, #690, #683, #673, #659, #589

May 2018: RAVEN version 1.0

Features (not exhaustive):

  • Adaptive Sampling (Batch Limit Surface Search, Adaptive Dynamic Event Trees, etc.)
  • Time dependent post-processors (Statistics, etc.)
  • Data mining in time-dependent
  • Hybrid modeling
  • Optimization Entity in RAVEN (Gradient-based optimizers)
  • Documentation: User manual, User guide, Theory manual

March 2016: RAVEN Beta version

Features (not exhaustive):

  • Adaptive Sampling (Batch Limit Surface Search, Stochastic Collocation)
  • Data mining
  • Fully suite of regression and classification surrogate models
  • Ensemble modeling
  • Visualization engines

May 2014: RAVEN Alpha version

Main Features (not exhaustive):

  • Adaptive Sampling (Limit Surface Search)
  • Dynamic Event Tree
  • Interface with some physical codes (e.g. Moose-based Apps, RELAP5-3D)
  • Basic regression and classification surrogate models (e.g. SVR, SVC, Trees, etc.)

February 2012: Initial development

Main Features (not exhaustive):

  • Forward sampling strategies (MonteCarlo, Stratified)
  • Basic statistical post-processing
  • Reliability surfaces
Clone this wiki locally