bluemira.fuel_cycle.timeline

Partially randomised fusion reactor load signal object and tools

Classes

Timeline

A Timeline is a compilation of OperationPhase and MaintenancePhase objects

Module Contents

class bluemira.fuel_cycle.timeline.Timeline(phase_names: list[str], phase_durations: list[float], load_factors: list[float], n_pulses: list[int], t_rampups: list[float], t_flattops: list[float], t_rampdowns: list[float], t_min_downs: list[float], n_DTs: list[int], n_DDs: list[int], plasma_currents: list[float], load_factor: float, blk_dmg: float, blk_1_dpa: float, blk_2_dpa: float, div_dmg: float, div_dpa: float, tf_ins_nflux: float, tf_fluence: float, vv_dmg: float, vv_dpa: float, availability_strategy: bluemira.fuel_cycle.timeline_tools.OperationalAvailabilityStrategy, rng: numpy.random.BitGenerator)

A Timeline is a compilation of OperationPhase and MaintenancePhase objects

Parameters:
  • phase_names (list[str]) – The names of all the phases, from: [‘Phase P X.x’, ‘Phase M X.x’]

  • phase_durations (list[float]) – The durations of all the phases [y]

  • load_factors (list[float]) – The load factors of the operational phases only

  • n_pulses (list[int]) – The number of pulses of the operational phases only

  • t_rampups (list[float]) – The ramp-up duration of each pulse during each operation phase [s]

  • t_flattops (list[float]) – The flat-top duration of each pulse during each operation phase [s]

  • t_rampdowns (list[float]) – The ramp-down duration of each pulse during each operation phase [s]

  • t_min_downs (list[float]) – The minimum downtime between pulses during each operation phase [s]

  • n_DTs (list[int]) – The D-T reaction rate at full power during each operation phase [1/s]

  • n_DDs (list[int]) – The D-D reaction rate at full power during each operation phase [1/s]

  • plasma_currents (list[float]) – The plasma current at full power during each operation phase [A]

  • load_factor (float) – The global timeline load factor 0 < float < 1

  • blk_dmg (float) – The rate of neutron damage to the blankets [dpa/yr]

  • blk_1_dpa (float) – The 1st blanket life limit [dpa]

  • blk_2_dpa (float) – The second blanket life limit [dpa]

  • div_dmg (float) – The rate of neutron damage to the divertors [dpa/yr]

  • div_dpa (float) – The divertor life limit [dpa]

  • tf_ins_nflux (float) – The neutron flux at the TF coil insulation [1/m^2/s]

  • tf_fluence (float) – The peak neutron fluence the TF coil insulation can handle [1/m^2]

  • vv_dmg (float) – The rate of neutron damage to the vacuum vessel [dpa/yr]

  • vv_dpa (float) – The vacuum vessel life limit [dpa]

  • availability_strategy (bluemira.fuel_cycle.timeline_tools.OperationalAvailabilityStrategy) – Operational availability strategy

  • rng (numpy.random.BitGenerator) – Operational outages random number generator

t

Reactor calendar time [yr]

ft

Reactor fusion time [yr]

I

Plasma current signal vector [A]

DT_rate

D-T fusion rate signal [1/s]

DD_rate

D-D fusion rate signal [1/s]

bci

The blanket change index

A_global
blk_dmg
blk_1_dpa
blk_2_dpa
div_dmg
div_dpa
tf_ins_nflux
tf_fluence
vv_dmg
vv_dpa
mci = None
phases = []
build_arrays(phases: list[Phase])

Build the time arrays based on phases.

Parameters:

phases (list[Phase]) – The list of phases objects to be concatenated

to_dict() dict[str, numpy.ndarray | int]

Convert the timeline to a dictionary object for use in FuelCycle.

Returns:

Dictionary of fuel cycle object

Return type:

dict[str, numpy.ndarray | int]

component_damage()

Calculates the blanket change index and creates largely superficial damage timelines

plot_damage()

Plots the damage in the various components over the Timeline. Das hast du ein Mal in einem Paper benutzt

Returns:

The plot axis