WarpX
Loading...
Searching...
No Matches
BoschHaleFusionCrossSection.H
Go to the documentation of this file.
1/* Copyright 2022 Remi Lehe
2 *
3 * This file is part of WarpX.
4 *
5 * License: BSD-3-Clause-LBNL
6 */
7
8#ifndef WARPX_BOSCH_HALE_FUSION_CROSS_SECTION_H
9#define WARPX_BOSCH_HALE_FUSION_CROSS_SECTION_H
10
12#include "Utils/WarpXConst.H"
13
14#include <AMReX_REAL.H>
15
16#include <cmath>
17
30 const amrex::ParticleReal& E_kin_star,
31 const NuclearFusionType& fusion_type,
32 const amrex::ParticleReal& m1,
33 const amrex::ParticleReal& m2 )
34{
35 using namespace amrex::literals;
36
37 constexpr amrex::ParticleReal joule_to_keV = 1.e-3_prt/PhysConst::q_e;
38 const amrex::ParticleReal E_keV = E_kin_star*joule_to_keV;
39
40 // The Bosch-Hale fusion cross-section parameterization is only valid above a
41 // lower energy threshold: 0.3 keV for He3(d,p)He4 and 0.5 keV for all other
42 // reactions. Since the fusion cross section is negligible below these thresholds,
43 // return zero. See H.-S. Bosch and G.M. Hale 1992 Nucl. Fusion 32 611, Table IV.
44 const amrex::ParticleReal E_cutoff_keV =
45 (fusion_type == NuclearFusionType::DeuteriumHeliumToProtonHelium) ? 0.3_prt : 0.5_prt;
46 if (E_keV < E_cutoff_keV) {return 0._prt;}
47
48 // Compute the Gamow constant B_G (in keV^{1/2})
49 // (See Eq. 3 in H.-S. Bosch and G.M. Hale 1992 Nucl. Fusion 32 611)
50 const amrex::ParticleReal m_reduced = m1 / (1._prt + m1/m2);
51 // The formula for `B_G` below assumes that both reactants have Z=1
52 // When one of the reactants is helium (Z=2), this formula is corrected further below.
54 * std::sqrt( 2._prt*m_reduced*PhysConst::c2 * joule_to_keV );
56 // Take into account the fact that Z=2 for one of the reactant (helium) in this case
57 B_G *= 2;
58 }
59
60 // Compute astrophysical_factor
61 // (See Eq. 9 and Table IV in H.-S. Bosch and G.M. Hale 1992 Nucl. Fusion 32 611)
62 amrex::ParticleReal A1=0_prt, A2=0_prt, A3=0_prt, A4=0_prt, A5=0_prt, B1=0_prt, B2=0_prt, B3=0_prt, B4=0_prt;
64 A1 = 6.927e4_prt;
65 A2 = 7.454e8_prt;
66 A3 = 2.050e6_prt;
67 A4 = 5.2002e4_prt;
68 A5 = 0_prt;
69 B1 = 6.38e1_prt;
70 B2 = -9.95e-1_prt;
71 B3 = 6.981e-5_prt;
72 B4 = 1.728e-4_prt;
73 }
75 A1 = 5.5576e4_prt;
76 A2 = 2.1054e2_prt;
77 A3 = -3.2638e-2_prt;
78 A4 = 1.4987e-6_prt;
79 A5 = 1.8181e-10_prt;
80 B1 = 0_prt;
81 B2 = 0_prt;
82 B3 = 0_prt;
83 B4 = 0_prt;
84 }
86 A1 = 5.3701e4_prt;
87 A2 = 3.3027e2_prt;
88 A3 = -1.2706e-1_prt;
89 A4 = 2.9327e-5_prt;
90 A5 = -2.5151e-9_prt;
91 B1 = 0_prt;
92 B2 = 0_prt;
93 B3 = 0_prt;
94 B4 = 0_prt;
95 }
97 A1 = 5.7501e6_prt;
98 A2 = 2.5226e3_prt;
99 A3 = 4.5566e1_prt;
100 A4 = 0_prt;
101 A5 = 0_prt;
102 B1 = -3.1995e-3_prt;
103 B2 = -8.5530e-6_prt;
104 B3 = 5.9014e-8_prt;
105 B4 = 0_prt;
106 }
107
108 const amrex::ParticleReal astrophysical_factor =
109 (A1 + E_keV*(A2 + E_keV*(A3 + E_keV*(A4 + E_keV*A5)))) /
110 (1_prt + E_keV*(B1 + E_keV*(B2 + E_keV*(B3 + E_keV*B4))));
111
112 // Compute cross-section in SI units
113 // (See Eq. 8 in H.-S. Bosch and G.M. Hale 1992 Nucl. Fusion 32 611)
114 constexpr amrex::ParticleReal millibarn_to_sqm = 1.e-31_prt;
115 return millibarn_to_sqm * astrophysical_factor/E_keV * std::exp(-B_G/std::sqrt(E_keV));
116}
117
118#endif // WARPX_BOSCH_HALE_FUSION_CROSS_SECTION_H
#define AMREX_INLINE
#define AMREX_GPU_HOST_DEVICE
NuclearFusionType
Definition BinaryCollisionUtils.H:31
@ DeuteriumHeliumToProtonHelium
Definition BinaryCollisionUtils.H:35
@ DeuteriumDeuteriumToProtonTritium
Definition BinaryCollisionUtils.H:33
@ DeuteriumDeuteriumToNeutronHelium
Definition BinaryCollisionUtils.H:34
@ DeuteriumTritiumToNeutronHelium
Definition BinaryCollisionUtils.H:32
AMREX_GPU_HOST_DEVICE AMREX_INLINE amrex::ParticleReal BoschHaleFusionCrossSection(const amrex::ParticleReal &E_kin_star, const NuclearFusionType &fusion_type, const amrex::ParticleReal &m1, const amrex::ParticleReal &m2)
Computes the fusion cross section, using the analytical fits given in H.-S. Bosch and G....
Definition BoschHaleFusionCrossSection.H:29
amrex_particle_real ParticleReal
constexpr auto alpha
fine-structure constant = mu0/(4*pi)*q_e*q_e*c/hbar [dimensionless]
Definition constant.H:184
constexpr auto c2
square of the vacuum speed of light [m^2/s^2]
Definition constant.H:221
constexpr auto q_e
elementary charge [C]
Definition constant.H:169
constexpr auto pi
ratio of a circle's circumference to its diameter
Definition constant.H:29