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.3.tar.gz
(21.3 kB
view hashes)
Built Distribution
Close
Hashes for nuclear_rose-0.9.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2d1a8fba77213369f70f4d97df20539d3b2983453167b859e3dfc988f2485a5b |
|
MD5 | 912edd6e0427d5bd8d9dab46acc38407 |
|
BLAKE2b-256 | 290d43c77d2bedfa9f0f7d9b526d6d7f07e8a7196d5331287b2d0fe51a42ea74 |