Repository navigation
Expand file tree
/
Copy pathrun.py
More file actions
87 lines (79 loc) · 3.08 KB
/
Copy pathrun.py
File metadata and controls
87 lines (79 loc) · 3.08 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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
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
import read_input as ri
import read_input_dat as rid
from DataStructure.InputDataStructure import InputData
from DataStructure.ProfileDataStructure import ProfileData
from DataStructure.GeometryDataStructure import GeometryData
from DataStructure.ComponentDataStructure import CompData
from DataStructure.PowerDataStructure import PowerData
from DataStructure.HCDDataStructure import HCDData
from DataStructure.TimeDataStructure import TimeData
from DataStructure.PowerBeamDataStructure import PowerBeamData
from DataStructure.HeatTransportDataStructure import HeatTransportData
from DataStructure.BuildDataStructure import BuildData
from DataStructure.FwbsDataStructure import FwbsData
from DataStructure.TFCoilDataStructure import TFCoilData
from DataStructure.DivertorDataStructure import DivertorData
from call_model import call_model
# 读取输入
input_data=InputData()
# input_data2=InputData()
# ri.read_input_from_file("inputs/default_simulation.json",input_data)
# rid.read_input_from_dat("inputs/default_simulation.DAT",input_data2)
# for k in input_data2.__dir__():
# if not k.startswith("_"):
# v2 = getattr(input_data2, k);
# v = getattr(input_data, k);
# if v2 != v:
# print(f"{k}: {v2} != {v}")
# 初始化 model 对象
model = ri.PlasmaModel(
# prof_data=ProfileData(),
# input_data=input_data,
# geom_data=GeometryData(),
# comp_data=CompData(),
# power_data=PowerData(),
# power_beam_data=PowerBeamData(),
# hcd_data=HCDData(),
# time_data=TimeData(),
# heat_transport_data=HeatTransportData(),
# build_data=BuildData(),
# fwbs_data=FwbsData(),
# tf_coil_data=TFCoilData(),
# building_data=BuildingData(),
# constraint_data=ConstraintData(),
# cost_data=CostData(),
# cs_data=CsData(),
# dcll_data=DcllData(),
divertor_data=DivertorData(),
# global_data=GlobalData(),
# ife_data=IfeData(),
# neoclassics_data=NeoclassicsData(),
# pf_power_data=PfPowerData(),
# pf_coil_data=PfCoilData(),
# primary_pumping_data=PrimaryPumpingData(),
# pulse_data=PulseData(),
# rebco_data=RebcoData(),
# reinke_data=ReinkeData(),
# scan_data=ScanData(),
# structure_data=StructureData(),
# superconducting_tf_coil_data=SuperconductingTfCoilData(),
# vaccum_data=VaccumData(),
# water_usage_data=WaterUsageData()
)
ri.write_input_to_data(model.geom_data, input_data)
from plasma_geometry import plasma_geom
plasma_geom(model.geom_data,model.input_data.i_plasma_geometry)
# 赋值
for name, data_member in vars(model).items():
if name != "input_data":
ri.write_input_to_data(data_member, input_data)
if name == "hcd_data":
if model.input_data.feffcd_primary is None:
model.hcd_data.feffcd_primary = model.input_data.feffcd
if model.input_data.feffcd_secondary is None:
model.hcd_data.feffcd_secondary = model.input_data.feffcd
call_model(model)
for k in model.power_beam_data.__dir__():
if not k.startswith("_"):
v = getattr(model.power_beam_data, k);
print(f"{k}: {v}")