Reactions¶
jitr.reactions provides tools for specifying the reacting system.
Reaction-system models and helpers for common nuclear processes.
- class jitr.reactions.reaction.Particle(m0, q)[source]¶
Bases:
objectRepresents a particle with rest mass and charge.
- Variables:
m0 – The rest mass of the particle in MeV/c^2.
q – The electric charge of the particle.
Z – Integer charge number (alias for
int(q)).A – Mass number (0 for non-nuclear particles).
- Parameters:
- latex()[source]¶
Returns the LaTeX representation of the particle.
- Return type:
- Returns:
LaTeX string.
- classmethod parse(p, mass_kwargs=None)[source]¶
Parse a particle-like object into a concrete particle instance.
- Parameters:
- Raises:
NotImplementedError – When
pis a string (not yet supported).ValueError – When
pcannot be interpreted as a particle.
- Return type:
- Returns:
A concrete
Particleinstance.
- class jitr.reactions.reaction.Nucleus(A, Z, mass_kwargs=None)[source]¶
Bases:
ParticleRepresents a Nucleus with atomic mass number A and atomic number Z. Nucleons can also be represented as a Nucleus.
- Variables:
A – Atomic mass number.
Z – Atomic number.
Efn – Neutron Fermi energy in MeV.
Efp – Proton Fermi energy in MeV.
- Parameters:
- class jitr.reactions.reaction.Gamma[source]¶
Bases:
ParticleRepresents a gamma-ray
Inherits from Particle with m0=0 and q=0
- class jitr.reactions.reaction.Electron[source]¶
Bases:
ParticleRepresents an electron
Inherits from Particle
- class jitr.reactions.reaction.Positron[source]¶
Bases:
ParticleRepresents a positron
Inherits from Particle
- class jitr.reactions.reaction.Reaction(target, projectile, product=None, residual=None, process=None, mass_kwargs=None)[source]¶
Bases:
objectRepresents a 2-body nuclear reaction of the form A + a -> b + B.
- Variables:
target – The target particle.
projectile – The projectile particle.
product – The light product, or None for absorption/total processes.
residual – The residual particle, or None for ‘abs’ or ‘tot’ processes.
compound_system – The compound system formed by target and projectile.
process – Short process label (e.g.
'el','abs'), orNone.Q – The Q-value of the reaction in MeV.
Nonewhen unspecified.reaction_string – The string representation of the reaction.
reaction_latex – The LaTeX representation of the reaction.
Ef – Effective Fermi energy in MeV, or
Nonefor non-nuclear reactions.threshold – Cluster separation energy threshold in MeV, or
None.compound_system_threshold – Compound-system separation energy in MeV, or
None.
- Parameters:
- kinematics(Elab)[source]¶
Entrance channel kinematics given projectile incident on target with lab energy Elab in MeV.
- Parameters:
Elab (
float) – The laboratory energy of the projectile.- Return type:
- Returns:
The entrance channel kinematics.
- kinematics_cm(Ecm)[source]¶
Entrance channel kinematics given a kinetic energy of Ecm in the projectile-target center-of-mass frame.
- Parameters:
Ecm (
float) – The kinetic energy in the center-of-mass frame.- Return type:
- Returns:
The entrance channel kinematics.
- kinematics_exit(entrance, residual_excitation_energy=0, product_excitation_energy=0)[source]¶
- Exit channel kinematics given entrance channel kinematics and
excitation energies.
- Parameters:
entrance (
ChannelKinematics) – The entrance channel kinematics.residual_excitation_energy (
float) – The excitation energy of the residual nucleus.product_excitation_energy (
float) – The excitation energy of the product nucleus.
- Return type:
- Returns:
The kinematics in the exit channel.
- class jitr.reactions.reaction.ElasticReaction(target, projectile, mass_kwargs=None)[source]¶
Bases:
ReactionRepresents an elastic reaction.
- class jitr.reactions.reaction.InelasticReaction(target, projectile, mass_kwargs=None)[source]¶
Bases:
ReactionRepresents an inelastic reaction.
- class jitr.reactions.reaction.TotalReaction(target, projectile, mass_kwargs=None)[source]¶
Bases:
ReactionRepresents a total reaction.
- class jitr.reactions.reaction.AbsorptionReaction(target, projectile, mass_kwargs=None)[source]¶
Bases:
ReactionRepresents an absorption reaction.
- class jitr.reactions.reaction.InclusiveReaction(target, projectile, residual, mass_kwargs=None)[source]¶
Bases:
ReactionRepresents an inclusive reaction.
- class jitr.reactions.reaction.GammaCaptureReaction(target, projectile, mass_kwargs=None)[source]¶
Bases:
ReactionRepresents a gamma capture reaction.
- jitr.reactions.reaction.get_latex(A, Z, Ex=None)[source]¶
Returns the LaTeX representation of a nucleus.
- jitr.reactions.reaction.get_symbol(A, Z, Ex=None)[source]¶
Returns the symbol representation of a nucleus.
- jitr.reactions.reaction.these_things_are_all_nuclei(*things_that_might_be_nuclei)[source]¶
Return
Truewhen each supplied object is a nucleus orNone.
- jitr.reactions.reaction.cluster_separation_energy(target, projectile, **mass_kwargs)[source]¶
Return the separation energy for removing
projectilefromtarget.
Channel-system objects used by the R-matrix solvers.
- jitr.reactions.system.scalar_couplings(l)[source]¶
Return the default single-channel coupling matrix for partial wave
l.
- jitr.reactions.system.spin_half_orbit_coupling(l)[source]¶
Return
l · sigmaexpectation values for spin-1/2 on spin-0 scattering.
- class jitr.reactions.system.Asymptotics(Hp, Hm, Hpp, Hmp)[source]¶
Bases:
objectAsymptotic solutions for a set of channels in one partial wave.
- Parameters:
Hp (ComplexArray)
Hm (ComplexArray)
Hpp (ComplexArray)
Hmp (ComplexArray)
- class jitr.reactions.system.Channels(E, k, mu, eta, a, l, couplings)[source]¶
Bases:
objectChannel metadata for one partial wave.
- Parameters:
E (FloatArray)
k (FloatArray)
mu (FloatArray)
eta (FloatArray)
a (float)
l (FloatArray)
couplings (FloatArray)
- class jitr.reactions.system.ProjectileTargetSystem(channel_radius, lmax, mass_target=0.0, mass_projectile=0.0, Ztarget=0.0, Zproj=0.0, coupling=<function scalar_couplings>, channel_levels=None)[source]¶
Bases:
objectSystem-level information for a projectile-target partition.
- Parameters:
- jitr.reactions.system.uniform_array_from_scalar_or_array(scalar_or_array, size)[source]¶
Broadcast a scalar or list-like input to a one-dimensional array.
Wavefunction reconstruction for solved R-matrix channels.
- class jitr.reactions.wavefunction.Wavefunctions(solver, coeffs, S, uext_prime_boundary, channels, incoming_weights=None, asym=<class 'jitr.utils.free_solutions.CoulombAsymptotics'>)[source]¶
Bases:
objectInternal and external wavefunction representations for solved channels.
- Parameters:
coeffs (ComplexArray)
S (ComplexArray)
uext_prime_boundary (ComplexArray)
incoming_weights (npt.NDArray[np.float64] | None)