STAR
Cal STAR — firmware, DAQ server, and engine design
Loading...
Searching...
No Matches
graphite_properties.py
Go to the documentation of this file.
1
"""Temperature-dependent properties of the graphite throat insert, as named models.
2
3
The specific heat of graphite nearly triples between room temperature and the throat's running
4
temperature (0.71 kJ/(kg K) at 300 K, 2.0 at 2000 K). A constant room-temperature value heats the
5
surface too fast and so runs the surface chemistry early. Unlike conductivity, density or ash
6
content, the specific heat is a property of the carbon lattice and is the same for every
7
polygranular grade to within a few percent, so a published correlation stands for any insert.
8
9
Conductivity has no such model here: it depends on the grade (grain, porosity, graphitisation),
10
and a datasheet gives it at room temperature only.
11
"""
12
13
from
__future__
import
annotations
14
15
from
typing
import
Callable, Dict, Optional
16
17
import
numpy
as
np
18
19
CAL = 4184.0
# J/kcal
20
21
22
def
cp_butland_maddison
(T: np.ndarray) -> np.ndarray:
23
"""Specific heat of graphite [J/(kg K)], Butland & Maddison, J. Nucl. Mater. 49 (1973) 45-56.
24
25
cp = 0.54212 - 2.42667e-6 T - 90.2725/T - 43449.3/T^2 + 1.59309e7/T^3 - 1.43688e9/T^4
26
in cal/(g K), T in K, fitted 200-3500 K. Outside that range it is held at the ends.
27
"""
28
T = np.clip(np.asarray(T, dtype=float), 200.0, 3500.0)
29
c = 0.54212 - 2.42667e-6 * T - 90.2725 / T - 43449.3 / T**2 + 1.59309e7 / T**3 - 1.43688e9 / T**4
30
return
c * CAL
31
32
33
#: ``graphite_insert.specific_heat_model`` -> cp(T) [J/(kg K)]; ``None`` uses ``specific_heat``.
34
SPECIFIC_HEAT_MODELS: Dict[str, Optional[Callable[[np.ndarray], np.ndarray]]] = {
35
"constant"
:
None
,
36
"butland_maddison_1973"
: cp_butland_maddison,
37
}
engine.pipeline.thermal.graphite_properties.cp_butland_maddison
np.ndarray cp_butland_maddison(np.ndarray T)
Definition
graphite_properties.py:22
EngineDesign
engine
pipeline
thermal
graphite_properties.py
Generated by
1.15.0