Skip to content

TT

fusdb.relations.reactions.TT

TT reactivity and reaction-rate relations.

sigmav_TT_CF88

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

Return TT 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 TT reactivity in m^3/s.

Source code in src/fusdb/relations/reactions/TT.py
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
56
@relation(
    name='TT reactivity CF88',
    tags=('fusion_power',),
    outputs='sigmav_TT',
)
def sigmav_TT_CF88(T_i: float64 | NDArray[np.float64]) -> Any:
    """Return TT reactivity from the CF88 parametrization.

    Args:
        T_i: Ion temperature profile in keV.

    Returns:
        The TT 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 = (
        1.67e9
        / (T9 ** (2 / 3))
        * np.exp(-4.872 / (T9 ** (1 / 3)))
        * (
            1
            + 0.086 * (T9 ** (1 / 3))
            - 0.455 * (T9 ** (2 / 3))
            - 0.272 * T9
            + 0.148 * (T9 ** (4 / 3))
            + 0.225 * (T9 ** (5 / 3))
        )
    )

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

sigmav_TT_ENDFB_VIII0

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

Return TT 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 TT reactivity in m^3/s.

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

    Args:
        T_i: Ion temperature profile in keV.

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

sigmav_TT_ENDFB_VIII1

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

Return TT 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 TT reactivity in m^3/s.

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

    Args:
        T_i: Ion temperature profile in keV.

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

sigmav_TT_NRL

sigmav_TT_NRL(T_i: float64 | NDArray[float64], *, interpolation_kind: str = 'pchip') -> Any

Return TT reactivity from the NRL tabulated rates.

Parameters:

Name Type Description Default
T_i float64 | NDArray[float64]

Ion temperature profile in keV.

required
interpolation_kind str

Interpolation scheme for the tabulated data.

'pchip'

Returns:

Type Description
Any

The TT reactivity in m^3/s.

Source code in src/fusdb/relations/reactions/TT.py
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
@relation(
    name='TT reactivity NRL',
    tags=('fusion_power',),
    outputs='sigmav_TT',
)
def sigmav_TT_NRL(
    T_i: float64 | NDArray[np.float64],
    *,
    interpolation_kind: str = "pchip",
) -> Any:
    """Return TT reactivity from the NRL tabulated rates.

    Args:
        T_i: Ion temperature profile in keV.
        interpolation_kind: Interpolation scheme for the tabulated data.

    Returns:
        The TT reactivity in m^3/s.
    """
    # Interpolate the tabulated TT reactivity data.
    return reactivity_from_reactivity_table(
        "TT_reactivity_NRL.yaml",
        T_i,
        interpolation_kind=interpolation_kind,
    )

reaction_rate_tt

reaction_rate_tt(n_T: float, sigmav_TT: float, V_p: float, rho: float) -> Any

Return the volume-integrated TT reaction rate.

Parameters:

Name Type Description Default
n_T float

Tritium density profile.

required
sigmav_TT float

TT reactivity profile.

required
V_p float

Plasma volume.

required

Returns:

Type Description
Any

The total TT reaction rate in 1/s.

Source code in src/fusdb/relations/reactions/TT.py
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
@relation(
    name='T-T reaction rate',
    tags=('fusion_power',),
    outputs='Rr_TT',
)
def reaction_rate_tt(n_T: float, sigmav_TT: float, V_p: float, rho: float) -> Any:
    """Return the volume-integrated TT reaction rate.

    Args:
        n_T: Tritium density profile.
        sigmav_TT: TT reactivity profile.
        V_p: Plasma volume.

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

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