Skip to main content

Nuclear Power Surrogate Network

Project description

NPSN: Nuclear Power Surrogate Network

NPSN is a package that allows easy training and optimization of neural networks that provide multidimensional regression of a nuclear reactor's power distribution based on control blade position(s). The package is developed using the tensorflow backend and keras API. The package is written to abstract the process of importing/pre-processing data, optimizing neural network architecture, and providing performance metrics. The aim of this project is to facilitate development of surrogate models that are needed in autonomous reactor control systems. Format for training data is detailed at the top of the data generation script.

Example

import npsn
t
# Define dataset directory
data_dir = '~/some/data_location'
# Define model name
proj_nm = 'npsn_surrogate'

# Define number of control blades
n_x = 4
# Define nodalization of power distribution
n_y = (15, 20)  #(axial_nodes, fuel_locations)

# Train neural network without optimization
npsn.train(proj_nm, data_dir, n_x, n_y)
# Or with optimization
npsn.train(proj_nm, data_dir, n_x, n_y, max_evals=100)
# Post-process to quantify error
npsn.post(proj_nm)

The output will be a keras model, in the current working directory (/cwd), that can be loaded using keras.models.load_model. Error metrics will be output to the /cwd/csv directory and consist of mean and standard deviation of MAP error against test and training data. If optimization studies are conducted, the data on each permutation will be output ot the /cwd/mat directory and consist of a .mat file that can be loaded into MATLAB or with scipy.io.loadmat.

Installation

To install with pip:

pip install npsn

The dependency requirements will be satisfied by pip. A full list of the environment used is in requirements. The package was developed on Ubuntu 18.04, but is written to also work on Mac and Windows OS.

Paper using NPSN

Cite

If you use NPSN in your work, please cite as:

A. J. Dave, J. Wilson, K. Sun, "Deep Surrogate Models for Multi-dimensional Regression of Reactor Power," arXiv:, 2020.

Contact

If you have any questions, comments, or suggestions feel free to email me!

Project details


Release history Release notifications | RSS feed

This version

0.1

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

npsn-0.1.tar.gz (10.2 kB view details)

Uploaded Source

Built Distribution

npsn-0.1-py3-none-any.whl (11.9 kB view details)

Uploaded Python 3

File details

Details for the file npsn-0.1.tar.gz.

File metadata

  • Download URL: npsn-0.1.tar.gz
  • Upload date:
  • Size: 10.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.3.1 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.6.7

File hashes

Hashes for npsn-0.1.tar.gz
Algorithm Hash digest
SHA256 61e153734ae6cc06212c9a620e0bba4b32f26ff6472dbfa4bea7f7404815ca2a
MD5 8d40bb7e277d7d175b0a44586e9fbc32
BLAKE2b-256 bd21ed1630bac49b3a3f39f4697ab6b6549c5778cde0f857988fca6033607e78

See more details on using hashes here.

File details

Details for the file npsn-0.1-py3-none-any.whl.

File metadata

  • Download URL: npsn-0.1-py3-none-any.whl
  • Upload date:
  • Size: 11.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.3.1 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.6.7

File hashes

Hashes for npsn-0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c475c5467808ecdbe6765d1128c630a20d72cb22e014076b2774e775e521e697
MD5 f0598c90809a932cd18b338022b21568
BLAKE2b-256 7d453e3c95b62a3cf9355ab15e45249875b3cbe48890557fc5c6d0b56cf83f7c

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page