pynucastro.rates.aprox_family_rates module#
Functions to help construct rate approximations used in the aprox13, aprox19, aprox21 family of reaction networks
- pynucastro.rates.aprox_family_rates.make_CO_approx_rates(all_rates, root_nuclei, return_obsolete_rate_names=False)[source]#
We want to model a sequence like:
N - Z ^ | X | ... . . | ... . . | ... . . | S ............E ..... F | +------------------------------> Z
This comes up in a few cases:
C + C: S = C12, E = Ne20, F = Ng24, X = Na23
C + O: S = C12 + O16, E = Mg24, F = Si28, X = Al27
O + O: S = O16, E = Si28, F = S32, X = P31
We start with 5 rates (+ their inverses):
λ1 = S(S,p)X
λ2 = S(S,α)E
λ3 = X(p,α)E
λ4 = X(p,γ)F
λ5 = E(α,γ)F
and we want to combine these into 3 effective rates (and their inverses) by eliminating X assuming equilibrium.
The resulting effective rates are:
S(S,p)X(p,γ)F
S(S,α)E + S(S,p)X(p,α)E
E(α,γ)F + E(α,p)X(p,γ)F
- Parameters:
all_rates (list(Rate)) – the collection of rates that we will use for finding λ1 through λ5 and their inverses. This could be via
Library.get_ratesorRateCollection.get_rates.root_nuclei (str) – the identity of nucleus A in this approximation. This can be “C”, “CO” or “O”
return_obsolete_rate_names (bool) – Do we return a list of rates names that can be removed if we use these approximate rates?
- Returns:
approximate_rates (list(ApproximateRate)) – A list of the approximated rates
obsolete_rates (list(str), optional) – A list of the rate names, in the form “A(x,y)B” that are obsoleted by the new approximate rates.