Skip to content

He3He3

fusdb.relations.reactions.He3He3

He3He3 reactivity and reaction-rate relations.

sigmav_He3He3_CF88

sigmav_He3He3_CF88(T_i: float64 | NDArray[float64]) -> Any

Return He3He3 reactivity from the CF88 parametrization.

Parameters:

Name Type Description Default
T_i float64 | NDArray[float64]

Ion temperature profile in keV.

required

Returns:

Type Description
Any

The He3He3 reactivity in m^3/s.

Source code in src/fusdb/relations/reactions/He3He3.py
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
@relation(
    name='He3He3 reactivity CF88',
    tags=('fusion_power',),
    outputs='sigmav_He3He3',
)
def sigmav_He3He3_CF88(T_i: float64 | NDArray[np.float64]) -> Any:
    """Return He3He3 reactivity from the CF88 parametrization.

    Args:
        T_i: Ion temperature profile in keV.

    Returns:
        The He3He3 reactivity in m^3/s.
    """
    # Convert the input temperature into the CF88 T9 variable.
    T9 = T_i * _KEV_TO_T9

    # Evaluate the CF88 parametrization in cm^3 mol^-1 s^-1.
    sigmav = (
        6.04e10
        / (T9 ** (2 / 3))
        * np.exp(-12.276 / (T9 ** (1 / 3)))
        * (
            1
            + 0.034 * (T9 ** (1 / 3))
            - 0.522 * (T9 ** (2 / 3))
            - 0.124 * T9
            + 0.353 * (T9 ** (4 / 3))
            + 0.213 * (T9 ** (5 / 3))
        )
    )

    # Convert from molar units to m^3/s.
    return sigmav / _AVOGADRO_NUMBER * 1e-6  # type: ignore[no-any-return]

sigmav_He3He3_ENDFB_VIII0

sigmav_He3He3_ENDFB_VIII0(T_i: float64 | NDArray[float64]) -> Any

Return He3He3 reactivity from ENDF/B-VIII.0 cross sections.

Parameters:

Name Type Description Default
T_i float64 | NDArray[float64]

Ion temperature profile in keV.

required

Returns:

Type Description
Any

The He3He3 reactivity in m^3/s.

Source code in src/fusdb/relations/reactions/He3He3.py
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
@relation(
    name='He3He3 reactivity ENDFB-VIII0',
    tags=('fusion_power',),
    outputs='sigmav_He3He3',
)
def sigmav_He3He3_ENDFB_VIII0(
    T_i: float64 | NDArray[np.float64],
) -> Any:
    """Return He3He3 reactivity from ENDF/B-VIII.0 cross sections.

    Args:
        T_i: Ion temperature profile in keV.

    Returns:
        The He3He3 reactivity in m^3/s.
    """
    # Integrate the ENDF/B-VIII.0 He3He3 cross-section table over a Maxwellian.
    return reactivity_from_xsection_table("He3He3_xsection_ENDFB-VIII0.yaml", T_i)

sigmav_He3He3_ENDFB_VIII1

sigmav_He3He3_ENDFB_VIII1(T_i: float64 | NDArray[float64]) -> Any

Return He3He3 reactivity from ENDF/B-VIII.1 cross sections.

Parameters:

Name Type Description Default
T_i float64 | NDArray[float64]

Ion temperature profile in keV.

required

Returns:

Type Description
Any

The He3He3 reactivity in m^3/s.

Source code in src/fusdb/relations/reactions/He3He3.py
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
@relation(
    name='He3He3 reactivity ENDFB-VIII1',
    tags=('fusion_power',),
    outputs='sigmav_He3He3',
)
def sigmav_He3He3_ENDFB_VIII1(
    T_i: float64 | NDArray[np.float64],
) -> Any:
    """Return He3He3 reactivity from ENDF/B-VIII.1 cross sections.

    Args:
        T_i: Ion temperature profile in keV.

    Returns:
        The He3He3 reactivity in m^3/s.
    """
    # Integrate the ENDF/B-VIII.1 He3He3 cross-section table over a Maxwellian.
    return reactivity_from_xsection_table("He3He3_xsection_ENDFB-VIII1.yaml", T_i)

reaction_rate_he3he3

reaction_rate_he3he3(n_He3: float, sigmav_He3He3: float, V_p: float, rho: float) -> Any

Return the volume-integrated He3He3 reaction rate.

Parameters:

Name Type Description Default
n_He3 float

Helium-3 density profile.

required
sigmav_He3He3 float

He3He3 reactivity profile.

required
V_p float

Plasma volume.

required

Returns:

Type Description
Any

The total He3He3 reaction rate in 1/s.

Source code in src/fusdb/relations/reactions/He3He3.py
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
@relation(
    name='He3-He3 reaction rate',
    tags=('fusion_power',),
    outputs='Rr_He3He3',
)
def reaction_rate_he3he3(n_He3: float, sigmav_He3He3: float, V_p: float, rho: float) -> Any:
    """Return the volume-integrated He3He3 reaction rate.

    Args:
        n_He3: Helium-3 density profile.
        sigmav_He3He3: He3He3 reactivity profile.
        V_p: Plasma volume.

    Returns:
        The total He3He3 reaction rate in 1/s.
    """
    # Form the local He3He3 reaction-rate density.
    integrand = 0.5 * (n_He3**2) * sigmav_He3He3

    # Integrate the profile over the plasma volume.
    return V_p * trapezoid(integrand, x=rho)