Skip to main content

The Reduced-Order Scattering Emulator (rose) is a user-friendly software for building efficient surrogate models for nuclear scattering.

Project description

ROSE

Reduced-Order Scattering Emulator

ROSE makes it easy to build and train a scattering emulator. For any bug reports or feature requests, please make use of the Github issues tab on the repository. We also welcome all pull requests for software, documentation, and user-contributed tutorials!

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)

For a full set of examples walking through emulation and calibration, check the tutorials directory.

Project details


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.6.tar.gz (5.5 MB view details)

Uploaded Source

Built Distribution

nuclear_rose-0.9.6-py3-none-any.whl (53.5 kB view details)

Uploaded Python 3

File details

Details for the file nuclear-rose-0.9.6.tar.gz.

File metadata

  • Download URL: nuclear-rose-0.9.6.tar.gz
  • Upload date:
  • Size: 5.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for nuclear-rose-0.9.6.tar.gz
Algorithm Hash digest
SHA256 d064422069c90cdc0fde4529a89f667ff0b676910eb6fc4702bc8e9d5ae95197
MD5 98b673772393247de5193404dcfc26dd
BLAKE2b-256 5d2c0dbe6d4c83d08e2d2b76e4278878ee96447b9d2c90b10ddca7c41e0e4245

See more details on using hashes here.

File details

Details for the file nuclear_rose-0.9.6-py3-none-any.whl.

File metadata

  • Download URL: nuclear_rose-0.9.6-py3-none-any.whl
  • Upload date:
  • Size: 53.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for nuclear_rose-0.9.6-py3-none-any.whl
Algorithm Hash digest
SHA256 e79c0ee98ce6749a6179a50f4dce17c6e25251af174d54a05cd6a6728ba5a6b1
MD5 370273276b21f765adce3c320bd079a6
BLAKE2b-256 f00a891720e16d2de457fa98aa5a684c17ba3fd7fd42244a0c04b35b33884547

See more details on using hashes here.

Supported by

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