Wrapper for source term alaysis code NUIT
Project description
Contents
Summary
pyNUIT is a package in Python which wrappers the source term analysis code NUIT, and integrates various util tools for its control and management.
Install
- Using git clone:
git clone https://github.com/thu-inet/pyNUIT.git - Download the zip and unzip to destination path
Only a few basic Python packages are required, including:
- Numpy
- Matplotlib
- Pandas
Get Started
The most basic module is nt.Model and nt.Output, for management of NUIT input model and its output.
# import pyNUIT
import pyNUIT as nt
# define the model
model = nt.Model()
model.add_nuclide("U235", 0.85)
model.add_nuclide("U238", 4.15)
# define power history
for i in range(10):
model.add_burnup(time=10, unit='day', val=800E-6)
# define the output
model.set_output("isotope", print_all_step=0)
# library configuration
model.set_library(r"D:\\NUIT\\NUITLib_HTGR_900k")
# run the model to get output
out = model("model.xml", nuitpath="D:\\NUIT\\NUITx.exe")
# read calculation results
burnup = out.burnups[-1]
density = out.get_nuclide_mass("Cs137")[-1]
print(f"Nuclide density of Cs137 at {burnup} MWd/kgU is {density} n/cm/barn")
Histogram class is used to represent the power history, and can transfer its power history into nt.Model to form a complete model.
# define two histogram instances
histo1 = nt.Histogram(["2019-01-15 00:00", "2019-02-26 00:00", "2019-03-26 00:00"], [(0,0), (3.7E6,3.7E6), (3.7E6, 0)])
histo2 = nt.Histogram(["2019-05-28 00:00", "2019-07-02 00:00"], [(0, 0), (3E6, 3E6)])
# concatenate two histograms
histo = histo1 + histo2
# pass the power history to model
histo.model = model
model = histo.to_model(step_length=10*86400)
Classes in nt.data are used to interact with data libraries.
# read the multi-group xs lib
mgxslib = nt.data.MGXSlib.from_datfile("D:\\NUIT\\NUITLib_HTGR_900k\\NuitMgXsLib.dat")
# use existing flux data to collapse into one-group xslib
xslib = mgxslib.to_xslib(flux)
# check the xs of Cs134, MT=102 reaction
print(f"Cross section of Cs-134 Reaction(102) is {xslib("Cs134")(102)}")
# export xslib into .dat file
xslib.to_datfile("xslib.dat")
Reference
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file NUIT-0.3.tar.gz.
File metadata
- Download URL: NUIT-0.3.tar.gz
- Upload date:
- Size: 12.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8503518ee10c245d115fa650ad9fee196b24d4b980cd5d1deeef8553f1a46a60
|
|
| MD5 |
c563c40399c215c63c3df45ce571911d
|
|
| BLAKE2b-256 |
c3c65bb5c7539eab2038f113cefdd2b285c188cc7aaa54cca6650e798d3669a4
|
File details
Details for the file NUIT-0.3-py3-none-any.whl.
File metadata
- Download URL: NUIT-0.3-py3-none-any.whl
- Upload date:
- Size: 15.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
82eff0f214fef1c874995c4583e9dd50c7dfbf39470849a93e04eefa5301b3f0
|
|
| MD5 |
36d68ed4b1447aaca05dff4b8e3dd4dd
|
|
| BLAKE2b-256 |
97cbff342c1bf3653401e2a79a22b37e002372bc77d1bdeae23edecb1d02ea3f
|