Emulator for quantum scattering.
Project description
ROSE
Reduced-Order Scattering Emulator
ROSE makes it easy to build and train a scattering emulator.
The primary class is ReducedBasisEmulator
. To create an instance, minimally, an instance of the Interaction
class, a set of training points, the energy, and angular momentum need to be specified. For example,
import rose
energy = 50 # MeV
ell = 0 # S waves
# The we are varying two parameters of the Minnesota potential, so the training
# space is an array of 2-component arrays
training_points = np.array([
[119.51219512195122, -14.634146341463415],
[139.02439024390245, -4.878048780487805],
[158.53658536585365, -48.78048780487805],
[178.0487804878049, -117.07317073170732],
[197.5609756097561, -131.70731707317074],
[217.0731707317073, -126.82926829268293],
[236.58536585365854, -82.92682926829268],
[256.0975609756098, -175.609756097561],
[275.609756097561, -19.51219512195122],
[295.1219512195122, -170.73170731707316]
])
# The Minnesota potential has already been hard-coded in ROSE as
# rose.MN_Potential.
rbe = rose.ReducedBasisEmulator(
rose.MN_Potential,
training_points,
energy,
ell
)
# Now, to get a the wave function or phase shift at a new point in parameter
# space, we simply call...
theta = np.array([200,-91.85])
phi = rbe.emulate_wave_function(theta)
# or...
delta = rbe.emulate_phase_shift(theta)
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
nuclear-rose-0.9.5.tar.gz
(5.5 MB
view hashes)
Built Distribution
Close
Hashes for nuclear_rose-0.9.5-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f98515bf95e20e15639425f99044468d81ca3fb548016fb765975275090b294c |
|
MD5 | c2b40c3b9d4df0897a6505688541f68f |
|
BLAKE2b-256 | 22bcfcfeff40afdbef79f395892971832f05f345a67ec79f0e97bbfd172aec93 |