bluemira.fuel_cycle.cycle
Full fuel cycle model object
Classes
Tritium fuel cycle object. |
|
Parameters required to run |
Module Contents
- class bluemira.fuel_cycle.cycle.EUDEMOFuelCycleModel(params: EDFCMParams | dict[str, float] | None = None, build_config: dict[str, Any] | None = None)
Tritium fuel cycle object.
Takes a lifecycle timeline and interprets it to reach tritium start-up inventory and inventory doubling time estimates.
- Parameters:
params (EDFCMParams | dict[str, float] | None) – The parameters for the model. See
EDFCMParamsfor list of available parameters.build_config (dict[str, Any] | None) –
Configuration options for the model. Options are:
- verbose: bool (False)
Print debugging information.
- timestep: float (1200.0)
The time step in the cycle [s].
- conv_thresh: float (2e-4)
The convergence threshold in the cycle.
- n: int (length of timeline[‘time’])
The no. of time steps to use from the the timeline.
- verbose
- timestep
- conv_thresh
- n
- _constructors()
- run(timeline: bluemira.fuel_cycle.timeline.Timeline)
Run the fuel cycle model.
- Parameters:
timeline (bluemira.fuel_cycle.timeline.Timeline) – Timeline with which to run the model
- finalise()
Perform clean-up fudge to ensure all tritium returns to stores after the end of the reactor life.
- initialise_arrays(timeline: bluemira.fuel_cycle.timeline.Timeline, n: int)
Initialise timeline arrays for TFV model.
Notes
Gas puff timeline mapped to burn signal.
- Parameters:
timeline (bluemira.fuel_cycle.timeline.Timeline)
n (int)
- seed_t()
Seed an initial value to the model.
- tbreed(TBR: float, m_T_0: float) numpy.ndarray
Ideal system without T sequestration. Used for plotting and sanity.
- Returns:
Tritium breeding
- Parameters:
TBR (float)
m_T_0 (float)
- Return type:
numpy.ndarray
- plasma(eta_iv: float, max_inventory: float, flows: list[numpy.ndarray] | None = None) numpy.ndarray
In-vessel environment
- Parameters:
eta_iv (float) – In-vessel accumulation efficiency 0 <= float <= 1
max_inventory (float) – T inventory limit of in-vessel environment [kg] (e.g. 0.7 kg in ITER in-vessel)
flows (list[numpy.ndarray] | None) – Additional flows to add into plasma
- Returns:
Flow-rate out of the system [kg/s]
- Return type:
numpy.ndarray
- blanket(eta_b: float, max_inventory: float) numpy.ndarray
The tritium breeding system. Dumps stored inventory at blanket change.
- Parameters:
eta_b (float) – The retention efficiency parameter for the blanket
max_inventory (float) – The maximum inventory in the blanket
- Return type:
Flow-rate out of the system [kg/s]
- tfv(eta_tfv: float, flows: list[numpy.ndarray]) numpy.ndarray
The TFV system where the tritium flows from the BB and plasma are combined.
- Parameters:
eta_tfv (float) – Detritiation factor of the system
flows (list[numpy.ndarray]) – The flows to be added to the TFV block
- Return type:
Flow-rate out of the system [kg/s]
- stack(flows: list[numpy.ndarray])
Exhaust to environment
- Parameters:
flows (list[numpy.ndarray])
- injector(flows: list[numpy.ndarray]) numpy.ndarray
Pellet injection system assumed
- Returns:
injector mass out
- Parameters:
flows (list[numpy.ndarray])
- Return type:
numpy.ndarray
- recycle()
The main loop of the fuel cycle, which is called recursively until the convergence criterion is met.
- plot()
Plot the results of the fuel cycle model.
- plot_m_T(**kwargs)
Plot the evolution of the tritium masses over time.
- Returns:
The plot axis
- plot_inventory(**kwargs)
Plot the evolution of the tritium inventories (including sequestered) over time.
- static _adjust_inv_plot(t, inventory, thresh=0.2)
Plot correction for compressed time inventories
- Returns:
inventory
- calc_t_d() float
Calculate the doubling time of a fuel cycle timeline, assuming that a future tokamak requires the same start-up inventory as the present one.
- Returns:
arg_t_d – index of doubling time in time array
Doubling time of the tritium fuel cycle [y]
\(t_{d} = t[\text{max}(\text{argmin}\lvert m_{T_{store}}-I_{TFV_{min}}-m_{T_{start}}\rvert))]\)
- Return type:
float
- calc_t_infl() tuple[int, float]
Calculate the inflection time of the reactor tritium inventory
- Returns:
arg_t_infl – index of inflection time in time array
inflection time
- Return type:
tuple[int, float]
- _plot_t_d(**kwargs)
- _plot_t_infl(arg, **kwargs)
- calc_m_release() float
Calculate the tritium release rate from the entire system to the environment.
- Returns:
Tritium release rate [kg/yr]
- Return type:
float
- sanity()
Check that no tritium is lost (graphically).
- class bluemira.fuel_cycle.cycle.EDFCMParams
Parameters required to run
EUDEMOFuelCycleModel.- TBR: float = 1.05
Tritium breeding ratio [dimensionless].
- f_b: float = 0.015
Burn-up fraction [dimensionless].
- m_gas: float = 50
Gas puff flow rate [Pa m^3/s]. To maintain detachment - no chance of fusion from gas injection.
- A_global: float = 0.3
Load factor [dimensionless].
- r_learn: float = 1
Learning rate [dimensionless].
- t_pump: float = 100
Time in DIR loop [s]. Time between exit from plasma and entry into plasma through DIR loop.
- t_exh: float = 3600
Time in INDIR loop [s]. Time between exit from plasma and entry into TFV systems INDIR.
- t_ters: float = 18000
Time from BB exit to TFV system [s].
- t_freeze: float = 1800
Time taken to freeze pellets [s].
- f_dir: float = 0.9
Fraction of flow through DIR loop [dimensionless].
- t_detrit: float = 36000
Time in detritiation system [s].
- f_detrit_split: float = 0.9999
Fraction of detritiation line tritium extracted [dimensionless].
- f_exh_split: float = 0.99
Fraction of exhaust tritium extracted [dimensionless].
- eta_fuel_pump: float = 0.9
Efficiency of fuel line pump [dimensionless]. Pump which pumps down the fuelling lines.
- eta_f: float = 0.5
Fuelling efficiency [dimensionless]. Efficiency of the fuelling lines prior to entry into the VV chamber.
- I_miv: float = 0.3
Maximum in-vessel T inventory [kg].
- I_tfv_min: float = 2
Minimum TFV inventory [kg]. Without which e.g. cryodistillation columns are not effective.
- I_tfv_max: float = 2.2
Maximum TFV inventory [kg]. Account for T sequestration inside the T plant.
- I_mbb: float = 0.055
Maximum BB T inventory [kg].
- eta_iv: float = 0.9995
In-vessel bathtub parameter [dimensionless].
- eta_bb: float = 0.995
BB bathtub parameter [dimensionless].
- eta_tfv: float = 0.998
TFV bathtub parameter [dimensionless].
- f_terscwps: float = 0.9999
TERS and CWPS cumulated factor [dimensionless].