Skip to content

base

The PROCESS data structure dataclass.

initialise_later = object() module-attribute

DataStructure dataclass

Dataclass holding the data structure

Source code in process/core/data_structure/base.py
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
@dataclass(kw_only=True)
class DataStructure:
    """Dataclass holding the data structure"""

    water_use: WaterUseData = initialise_later
    costs_2015: Cost2015Data = initialise_later
    cs_fatigue: CSFatigueData = initialise_later
    vacuum: VacuumData = initialise_later
    costs: CostData = initialise_later
    first_wall: FirstWallData = initialise_later
    fwbs: FWBSData = initialise_later
    blanket: BlanketData = initialise_later
    structure: StructureData = initialise_later
    times: TimesData = initialise_later
    reinke: ReinkeData = initialise_later
    ccfe_hcpb: CCFEHCPBData = initialise_later
    pulse: PulseData = initialise_later
    build: BuildData = initialise_later
    primary_pumping: PrimaryPumpingData = initialise_later
    buildings: BuildingsData = initialise_later
    constraints: ConstraintData = initialise_later
    dcll: DCLLData = initialise_later
    current_drive: CurrentDriveData = initialise_later
    heat_transport: HeatTransportData = initialise_later
    ife: IFEData = initialise_later
    divertor: DivertorData = initialise_later
    pf_coil: PFCoilData = initialise_later
    power: PowerData = initialise_later
    stellarator: StellaratorData = initialise_later
    stellarator_config: StellaratorConfigData = initialise_later
    pf_power: PFPowerData = initialise_later
    neoclassics: NeoclassicsData = initialise_later
    impurity_radiation: ImpurityRadiationData = initialise_later
    physics: PhysicsData = initialise_later
    rebco: RebcoData = initialise_later
    tfcoil: TFData = initialise_later
    superconducting_tfcoil: SuperconductingTFData = initialise_later
    globals: GlobalData = initialise_later
    scan: ScanData = initialise_later
    numerics: NumericsData = initialise_later

    def __post_init__(self):
        """Set up the data structure"""
        for f in fields(self):
            if getattr(self, f.name) is initialise_later:
                setattr(self, f.name, f.type())

water_use = initialise_later class-attribute instance-attribute

costs_2015 = initialise_later class-attribute instance-attribute

cs_fatigue = initialise_later class-attribute instance-attribute

vacuum = initialise_later class-attribute instance-attribute

costs = initialise_later class-attribute instance-attribute

first_wall = initialise_later class-attribute instance-attribute

fwbs = initialise_later class-attribute instance-attribute

blanket = initialise_later class-attribute instance-attribute

structure = initialise_later class-attribute instance-attribute

times = initialise_later class-attribute instance-attribute

reinke = initialise_later class-attribute instance-attribute

ccfe_hcpb = initialise_later class-attribute instance-attribute

pulse = initialise_later class-attribute instance-attribute

build = initialise_later class-attribute instance-attribute

primary_pumping = initialise_later class-attribute instance-attribute

buildings = initialise_later class-attribute instance-attribute

constraints = initialise_later class-attribute instance-attribute

dcll = initialise_later class-attribute instance-attribute

current_drive = initialise_later class-attribute instance-attribute

heat_transport = initialise_later class-attribute instance-attribute

ife = initialise_later class-attribute instance-attribute

divertor = initialise_later class-attribute instance-attribute

pf_coil = initialise_later class-attribute instance-attribute

power = initialise_later class-attribute instance-attribute

stellarator = initialise_later class-attribute instance-attribute

stellarator_config = initialise_later class-attribute instance-attribute

pf_power = initialise_later class-attribute instance-attribute

neoclassics = initialise_later class-attribute instance-attribute

impurity_radiation = initialise_later class-attribute instance-attribute

physics = initialise_later class-attribute instance-attribute

rebco = initialise_later class-attribute instance-attribute

tfcoil = initialise_later class-attribute instance-attribute

superconducting_tfcoil = initialise_later class-attribute instance-attribute

globals = initialise_later class-attribute instance-attribute

scan = initialise_later class-attribute instance-attribute

numerics = initialise_later class-attribute instance-attribute