Dispersive optical model interfaceΒΆ

This notebook demonstrates the supported jitr.optical_potentials.dom interface. For a given parameter set, we plot the potential curves \(U(r)\) at multiple different energies.

1import numpy as np
2from matplotlib import pyplot as plt
3
4from jitr.optical_potentials import dom
5from jitr.reactions import ElasticReaction
6from jitr.utils.kinematics import classical_kinematics_cm
 1params = {
 2    "v0": 52.0,
 3    "v1": 0.006,
 4    "rv": 1.25,
 5    "av": 0.65,
 6    "wv0": 12.0,
 7    "wv1": 24.0,
 8    "rw": 1.28,
 9    "aw": 0.62,
10    "ws0": 15.0,
11    "ws1": 12.5,
12    "ws2": 0.021,
13    "rd": 1.28,
14    "ad": 0.55,
15    "vso0": 6.0,
16    "wso0": -3,
17    "wso1": 25.0,
18    "rso": 1.05,
19    "aso": 0.59,
20    "rC": 1.25,
21}
22
23model = dom.DOM()
24param_names = model.params
25param_values = [params[name] for name in param_names]
26param_names
['v0',
 'v1',
 'rv',
 'av',
 'wv0',
 'wv1',
 'rw',
 'aw',
 'ws0',
 'ws1',
 'ws2',
 'rd',
 'ad',
 'vso0',
 'wso0',
 'wso1',
 'rso',
 'aso',
 'rC']
1reaction = ElasticReaction((24, 12), (1, 1))
2r_grid = np.linspace(0.1, 12.0, 300)
 1for E in [-100, -30, 0, 10, 30, 50, 100, 200]:
 2    kinematics = classical_kinematics_cm(
 3        reaction.target.m0,
 4        reaction.projectile.m0,
 5        Ecm=E,
 6        Zz=reaction.target.Z * reaction.projectile.Z,
 7    )
 8
 9    U_central, U_spin_orbit, U_coulomb = model(
10        r_grid, reaction, kinematics, *param_values
11    )
12
13    fig, axes = plt.subplots(2, 2, figsize=(11, 7), sharex=True)
14    fig.suptitle(f"$E$ = {E} MeV")
15
16    axes[0, 0].plot(r_grid, U_central.real, label="Re U_central")
17    axes[0, 0].plot(r_grid, U_central.imag, label="Im U_central")
18    axes[0, 0].set_ylabel("MeV")
19    axes[0, 0].set_title("Central DOM term")
20    axes[0, 0].legend()
21    axes[0, 0].grid(alpha=0.3)
22
23    axes[0, 1].plot(r_grid, U_spin_orbit.real, label="Re U_so")
24    axes[0, 1].plot(r_grid, U_spin_orbit.imag, label="Im U_so")
25    axes[0, 1].set_title("Spin-orbit DOM term")
26    axes[0, 1].legend()
27    axes[0, 1].grid(alpha=0.3)
28
29    axes[1, 0].plot(r_grid, U_coulomb, color="black")
30    axes[1, 0].set_xlabel("r [fm]")
31    axes[1, 0].set_ylabel("MeV")
32    axes[1, 0].set_title("Coulomb term")
33    axes[1, 0].grid(alpha=0.3)
34
35    axes[1, 1].plot(r_grid, (U_central + U_coulomb).real, label="Re total central")
36    axes[1, 1].plot(r_grid, (U_central + U_coulomb).imag, label="Im total central")
37    axes[1, 1].set_xlabel("r [fm]")
38    axes[1, 1].set_title("Central + Coulomb")
39    axes[1, 1].legend()
40    axes[1, 1].grid(alpha=0.3)
41
42    fig.tight_layout()
../../_images/767664420cd8b4bea16c6f4b49b816c75019a396ce4d06d63688d69faf3f208c.png ../../_images/d9c1c5d1a07287f9ee1c2201cae7cf891357e6cc86c17d9d9df8695f617f7cd8.png ../../_images/8b7ab0223d3f9aebe24d65645267b2908bfa7bd9c8fc11f1449acfd583bf00b5.png ../../_images/d0961fcb5cdf9e834c6dc268188fa62c02ddd75ca2107f44b4df15642dafd897.png ../../_images/cfc3d7e70819331f550a9952705a6a04fa567c8f84b5c07142005fe2e6a2a36f.png ../../_images/7b029277638d8bcae43a9c5dee5a477429e7994bcc3b57222bb483073d15b040.png ../../_images/371452924750e06cb1869afd559d722432263dd0ae2735d0bf78dec328ed1ddd.png ../../_images/b147bb617df51afc23d687aa8e4c344a1694a43995b8a947240cbdb5d49cd996.png