/uq-sa-fusion-optimisation

Uncertainty Quantification and Sensitivity Analysis developed by the PPMI Group at UKAEA

Primary LanguageJupyter Notebook

cover_image

Read Me

This repository contains a suite of tools to perform SA and UQ analysis, with a view towards optimising the robustness and reliability of a nuclear fusion power plant design.

It has been design to import HDF files generated by EasyVVUQ to run Monte Carlo runs of PROCESS on HPC and perform data analysis. However, the tools only concern the data and not its origin, therefore it should work with data from any source with minor modifications to the code.

The repository uses Bokeh to generate the plots, which means they can be made interactive and easily hosted as html. Some data analysis tools are imported from Salib.

Demonstration of UQ tool suite

These tools have been developed to analyse the output of PROCESS Monte Carlo runs, but can analyse data from any software and source if it can be presented in a np.DataFrame format.

There is a suite of tools design to perform sensitivity analyses (SA), uncertainty quantification (UQ)

Perform Regional Sensitivity Analysis

This looks for variables which cause convergence, caclulates a relative index for the most significance.

In this example use-cases will be demonstrated.

convergrence_sensitivity

Calculate sensitivity for a given figure of merit

In this case, find the sensitivity towards the major radius, "rmajor".

Uses rbd_fast method from Salib library. Higher number means more sensitivity.

Then filter for sensitivity above a given number.

rmajor_sobol

Create a scatter plot of the results

  • This creates a histogram color map of converged solutions (hist=True) and a scatter plot (scatter=True).
  • This can be used for visual identification of relationships, if there is a linear slant to the data it indicates a relationship exists
  • Red on the color map indicates that more points fall in this region.
  • You can plot an individual graph with "scatter" and a grid of scatter plots with "scatter_grid".

scatter_plot scatter_grid

Create CDF plots

Plot the CDF of converged and unconverged samples, as well as the convergence rate for a given sampled parameter.

If there is a difference between the red and blue lines, this indicates that converged runs are coming from a different selection of input parameters to unconverged solutions (ie the figure of merit is sensitive to convergence).

As an example, compare the aspect ratio to the number of cycles in the CS coil.

aspect_ecdf n_cycle_ecdf

Regional Sensitivity Analysis

We can investigate regional relationships between variables. For example, when the major radius is small, different things may be compromised to achieve a solution when then the major radius is large.

In this example, to achieve a high burn time the major radius must change from the typical size required for a lower burn time.

rsatbrnmn

Perform Uncertainty Optimisation

This analysis aims to optimise design space by while integrating uncertainty to the process. This can be addressed by considering the design reliability, robustness, and how the aspects of the design can be traded to achieve the required performance outcomes.

It is only possible to achieve a robust and reliable design by considering variability in the model inputs during the optimisation stage.

Stochastic methods were developed in this work enable new understanding of the EU DEMO design by first investigating the failure rate of design subject to uncertainty, and then locating the optimal regions of parameter space.

The optimisation tool analyses the design space to confidently predict regions which will improve reliability and robustness. These bounds can be updated to inform the next round of Monte Carlo experiments and reassess the design space.

uqoptimisation