diff --git a/tests/unit/models/stellarator/test_stellarator.py b/tests/unit/models/stellarator/test_stellarator.py index 903fcca4d..e21c97f15 100644 --- a/tests/unit/models/stellarator/test_stellarator.py +++ b/tests/unit/models/stellarator/test_stellarator.py @@ -26,22 +26,10 @@ def stellarator(process_models): class StgeomParam(NamedTuple): - aspect: Any = None - rmajor: Any = None rminor: Any = None - a_plasma_surface: Any = None - - a_plasma_surface_outboard: Any = None - - vol_plasma: Any = None - - a_plasma_poloidal: Any = None - - b_plasma_toroidal_on_axis: Any = None - stella_config_vol_plasma: Any = None stella_config_plasma_surface: Any = None @@ -63,32 +51,8 @@ class StgeomParam(NamedTuple): "stgeomparam", [ StgeomParam( - aspect=12.33, rmajor=22, rminor=1.7842660178426601, - a_plasma_surface=0, - a_plasma_surface_outboard=0, - vol_plasma=0, - a_plasma_poloidal=0, - b_plasma_toroidal_on_axis=5.5, - stella_config_vol_plasma=1422.6300000000001, - stella_config_plasma_surface=1960, - f_st_rmajor=0.99099099099099097, - f_st_rminor=0.99125889880147788, - expected_a_plasma_surface=1925.3641313657533, - expected_a_plasma_surface_outboard=962.68206568287667, - expected_vol=1385.2745877380669, - expected_a_plasma_poloidal=10.001590778710231, - ), - StgeomParam( - aspect=12.33, - rmajor=22, - rminor=1.7842660178426601, - a_plasma_surface=1925.3641313657533, - a_plasma_surface_outboard=962.68206568287667, - vol_plasma=1385.2745877380669, - a_plasma_poloidal=10.001590778710231, - b_plasma_toroidal_on_axis=5.5, stella_config_vol_plasma=1422.6300000000001, stella_config_plasma_surface=1960, f_st_rmajor=0.99099099099099097, @@ -113,54 +77,29 @@ def test_stgeom(stgeomparam, monkeypatch, stellarator): :param monkeypatch: pytest fixture used to mock module/class variables :type monkeypatch: _pytest.monkeypatch.monkeypatch """ + for field in [ + "rmajor", + "rminor", + ]: + monkeypatch.setattr(stellarator.data.physics, field, getattr(stgeomparam, field)) - monkeypatch.setattr(stellarator.data.physics, "aspect", stgeomparam.aspect) - - monkeypatch.setattr(stellarator.data.physics, "rmajor", stgeomparam.rmajor) - - monkeypatch.setattr(stellarator.data.physics, "rminor", stgeomparam.rminor) - - monkeypatch.setattr( - stellarator.data.physics, "a_plasma_surface", stgeomparam.a_plasma_surface - ) - - monkeypatch.setattr( - stellarator.data.physics, - "a_plasma_surface_outboard", - stgeomparam.a_plasma_surface_outboard, - ) - - monkeypatch.setattr(stellarator.data.physics, "vol_plasma", stgeomparam.vol_plasma) - - monkeypatch.setattr( - stellarator.data.physics, "a_plasma_poloidal", stgeomparam.a_plasma_poloidal - ) - - monkeypatch.setattr( - stellarator.data.physics, - "b_plasma_toroidal_on_axis", - stgeomparam.b_plasma_toroidal_on_axis, - ) - - monkeypatch.setattr( - stellarator.data.stellarator_config, + for field in [ "stella_config_vol_plasma", - stgeomparam.stella_config_vol_plasma, - ) - - monkeypatch.setattr( - stellarator.data.stellarator_config, "stella_config_plasma_surface", - stgeomparam.stella_config_plasma_surface, - ) - - monkeypatch.setattr( - stellarator.data.stellarator, "f_st_rmajor", stgeomparam.f_st_rmajor - ) + ]: + monkeypatch.setattr( + stellarator.data.stellarator_config, + field, + getattr(stgeomparam, field), + ) - monkeypatch.setattr( - stellarator.data.stellarator, "f_st_rminor", stgeomparam.f_st_rminor - ) + for field in [ + "f_st_rmajor", + "f_st_rminor", + ]: + monkeypatch.setattr( + stellarator.data.stellarator, field, getattr(stgeomparam, field) + ) stellarator.st_geom() @@ -179,59 +118,23 @@ def test_stgeom(stgeomparam, monkeypatch, stellarator): ) -class StbildParam(NamedTuple): - blbmith: Any = None - - blbmoth: Any = None - - blbpith: Any = None - - blbpoth: Any = None - - blbuith: Any = None - - blbuoth: Any = None - +class StbuildParam(NamedTuple): dr_blkt_inboard: Any = None dr_blkt_outboard: Any = None - dz_blkt_upper: Any = None - - dr_bore: Any = None - dr_vv_inboard: Any = None dr_vv_outboard: Any = None - a_fw_total: Any = None - - dr_fw_inboard: Any = None - - dr_fw_outboard: Any = None - dr_shld_vv_gap_inboard: Any = None dr_cs_tf_gap: Any = None gapomin: Any = None - dr_shld_vv_gap_outboard: Any = None - - z_tf_inside_half: Any = None - dr_cs: Any = None - r_tf_outboard_mid: Any = None - - rbld: Any = None - - r_shld_inboard_inner: Any = None - - r_shld_outboard_outer: Any = None - - rspo: Any = None - dr_fw_plasma_gap_inboard: Any = None dr_fw_plasma_gap_outboard: Any = None @@ -240,16 +143,8 @@ class StbildParam(NamedTuple): dr_shld_outboard: Any = None - dz_shld_upper: Any = None - dr_tf_inboard: Any = None - dr_tf_outboard: Any = None - - available_radial_space: Any = None - - required_radial_space: Any = None - radius_fw_channel: Any = None blktmodel: Any = None @@ -262,8 +157,6 @@ class StbildParam(NamedTuple): dr_fw_wall: Any = None - ipowerflow: Any = None - rmajor: Any = None rminor: Any = None @@ -278,13 +171,9 @@ class StbildParam(NamedTuple): f_st_rmajor: Any = None - f_st_aspect: Any = None - f_st_rminor: Any = None - iprint: Any = None - - outfile: Any = None + f_coil_shape: Any = None expected_dz_blkt_upper: Any = None @@ -316,51 +205,28 @@ class StbildParam(NamedTuple): @pytest.mark.parametrize( - "stbildparam", + "stbuildparam", [ - StbildParam( - blbmith=0.17000000000000001, - blbmoth=0.27000000000000002, - blbpith=0.29999999999999999, - blbpoth=0.34999999999999998, - blbuith=0.36499999999999999, - blbuoth=0.46500000000000002, + StbuildParam( dr_blkt_inboard=0.70000000000000007, dr_blkt_outboard=0.80000000000000004, - dz_blkt_upper=0, - dr_bore=1.4199999999999999, dr_vv_inboard=0.35000000000000003, dr_vv_outboard=0.35000000000000003, - a_fw_total=0, - dr_fw_inboard=0, - dr_fw_outboard=0, dr_shld_vv_gap_inboard=0.025000000000000005, dr_cs_tf_gap=0, gapomin=0.025000000000000005, - dr_shld_vv_gap_outboard=0, - z_tf_inside_half=6.2927927927927927, dr_cs=0, - r_tf_outboard_mid=0, - rbld=0, - r_shld_inboard_inner=0, - r_shld_outboard_outer=0, - rspo=0, dr_fw_plasma_gap_inboard=0.15000000000000002, dr_fw_plasma_gap_outboard=0.30000000000000004, dr_shld_inboard=0.40000000000000002, dr_shld_outboard=0.70000000000000007, - dz_shld_upper=0.70000000000000007, dr_tf_inboard=0.78058448071757114, - dr_tf_outboard=0.78058448071757114, - available_radial_space=0, - required_radial_space=0, radius_fw_channel=0.0060000000000000001, blktmodel=0, f_ster_div_single=0.115, f_a_fw_outboard_hcd=0, fhole=0, dr_fw_wall=0.0030000000000000001, - ipowerflow=1, rmajor=22, rminor=1.783783784, a_plasma_surface=1925.3641313657533, @@ -368,10 +234,8 @@ class StbildParam(NamedTuple): stella_config_rminor_ref=1.8, stella_config_min_plasma_coil_distance=1.8999999999999999, f_st_rmajor=0.99099099099099097, - f_st_aspect=1, f_st_rminor=0.99099099099099097, - iprint=0, - outfile=11, + f_coil_shape=1.0, expected_dz_blkt_upper=0.75, expected_bore=17.792631735282427, expected_a_fw_total=1918.87696696527, @@ -387,49 +251,26 @@ class StbildParam(NamedTuple): expected_available_radial_space=1.8828828828828827, expected_required_radial_space=2.0332922403587861, ), - StbildParam( - blbmith=0.17000000000000001, - blbmoth=0.27000000000000002, - blbpith=0.29999999999999999, - blbpoth=0.34999999999999998, - blbuith=0.36499999999999999, - blbuoth=0.46500000000000002, + StbuildParam( dr_blkt_inboard=0.70000000000000007, dr_blkt_outboard=0.80000000000000004, - dz_blkt_upper=0.75, - dr_bore=17.79214950143977, dr_vv_inboard=0.35000000000000003, dr_vv_outboard=0.35000000000000003, - a_fw_total=1918.8188778803135, - dr_fw_inboard=0.018000000000000002, - dr_fw_outboard=0.018000000000000002, dr_shld_vv_gap_inboard=0.025000000000000005, dr_cs_tf_gap=0, gapomin=0.025000000000000005, - dr_shld_vv_gap_outboard=0.025000000000000005, - z_tf_inside_half=6.2927927927927927, dr_cs=0, - r_tf_outboard_mid=26.367076024358788, - rbld=22, - r_shld_inboard_inner=18.948216216000002, - r_shld_outboard_outer=25.601783784000002, - rspo=22, dr_fw_plasma_gap_inboard=0.15000000000000002, dr_fw_plasma_gap_outboard=0.30000000000000004, dr_shld_inboard=0.40000000000000002, dr_shld_outboard=0.70000000000000007, - dz_shld_upper=0.70000000000000007, dr_tf_inboard=0.78058448071757114, - dr_tf_outboard=0.78058448071757114, - available_radial_space=1.8828828828828827, - required_radial_space=2.0332922403587861, radius_fw_channel=0.0060000000000000001, blktmodel=0, f_ster_div_single=0.021924555536480182, f_a_fw_outboard_hcd=0, fhole=0, dr_fw_wall=0.0030000000000000001, - ipowerflow=1, rmajor=22, rminor=1.783783784, a_plasma_surface=1925.3641313657533, @@ -437,10 +278,8 @@ class StbildParam(NamedTuple): stella_config_rminor_ref=1.8, stella_config_min_plasma_coil_distance=1.8999999999999999, f_st_rmajor=0.99099099099099097, - f_st_aspect=1, f_st_rminor=0.99099099099099097, - iprint=0, - outfile=11, + f_coil_shape=1.0, expected_dz_blkt_upper=0.75, expected_bore=17.792631735282427, expected_a_fw_total=2120.685245576686, @@ -458,272 +297,135 @@ class StbildParam(NamedTuple): ), ], ) -def test_stbild(stbildparam, monkeypatch, stellarator): +def test_stbuild(stbuildparam, monkeypatch, stellarator): """ - Automatically generated Regression Unit Test for stbild. + Automatically generated Regression Unit Test for st_build. This test was generated using data from tests/regression/scenarios/stellarator/IN.DAT. - :param stbildparam: the data used to mock and assert in this test. - :type stbildparam: stbildparam + :param stbuildparam: the data used to mock and assert in this test. + :type stbuildparam: stbuildparam :param monkeypatch: pytest fixture used to mock module/class variables :type monkeypatch: _pytest.monkeypatch.monkeypatch """ - - monkeypatch.setattr(stellarator.data.build, "blbmith", stbildparam.blbmith) - - monkeypatch.setattr(stellarator.data.build, "blbmoth", stbildparam.blbmoth) - - monkeypatch.setattr(stellarator.data.build, "blbpith", stbildparam.blbpith) - - monkeypatch.setattr(stellarator.data.build, "blbpoth", stbildparam.blbpoth) - - monkeypatch.setattr(stellarator.data.build, "blbuith", stbildparam.blbuith) - - monkeypatch.setattr(stellarator.data.build, "blbuoth", stbildparam.blbuoth) - - monkeypatch.setattr( - stellarator.data.build, "dr_blkt_inboard", stbildparam.dr_blkt_inboard - ) - - monkeypatch.setattr( - stellarator.data.build, "dr_blkt_outboard", stbildparam.dr_blkt_outboard - ) - - monkeypatch.setattr( - stellarator.data.build, "dz_blkt_upper", stbildparam.dz_blkt_upper - ) - - monkeypatch.setattr(stellarator.data.build, "dr_bore", stbildparam.dr_bore) - - monkeypatch.setattr( - stellarator.data.build, "dr_vv_inboard", stbildparam.dr_vv_inboard - ) - - monkeypatch.setattr( - stellarator.data.build, "dr_vv_outboard", stbildparam.dr_vv_outboard - ) - - monkeypatch.setattr( - stellarator.data.first_wall, "a_fw_total", stbildparam.a_fw_total - ) - - monkeypatch.setattr( - stellarator.data.build, "dr_fw_inboard", stbildparam.dr_fw_inboard - ) - - monkeypatch.setattr( - stellarator.data.build, "dr_fw_outboard", stbildparam.dr_fw_outboard - ) - - monkeypatch.setattr( - stellarator.data.build, + for field in [ + "dr_blkt_inboard", + "dr_blkt_outboard", + "dr_vv_inboard", + "dr_vv_outboard", "dr_shld_vv_gap_inboard", - stbildparam.dr_shld_vv_gap_inboard, - ) - - monkeypatch.setattr(stellarator.data.build, "dr_cs_tf_gap", stbildparam.dr_cs_tf_gap) - - monkeypatch.setattr(stellarator.data.build, "gapomin", stbildparam.gapomin) - - monkeypatch.setattr( - stellarator.data.build, - "dr_shld_vv_gap_outboard", - stbildparam.dr_shld_vv_gap_outboard, - ) - - monkeypatch.setattr( - stellarator.data.build, "z_tf_inside_half", stbildparam.z_tf_inside_half - ) - - monkeypatch.setattr(stellarator.data.build, "dr_cs", stbildparam.dr_cs) - - monkeypatch.setattr( - stellarator.data.build, "r_tf_outboard_mid", stbildparam.r_tf_outboard_mid - ) - - monkeypatch.setattr(stellarator.data.build, "rbld", stbildparam.rbld) - - monkeypatch.setattr( - stellarator.data.build, "r_shld_inboard_inner", stbildparam.r_shld_inboard_inner - ) - - monkeypatch.setattr( - stellarator.data.build, - "r_shld_outboard_outer", - stbildparam.r_shld_outboard_outer, - ) - - monkeypatch.setattr(stellarator.data.build, "rspo", stbildparam.rspo) - - monkeypatch.setattr( - stellarator.data.build, + "dr_cs_tf_gap", + "gapomin", + "dr_cs", "dr_fw_plasma_gap_inboard", - stbildparam.dr_fw_plasma_gap_inboard, - ) - - monkeypatch.setattr( - stellarator.data.build, "dr_fw_plasma_gap_outboard", - stbildparam.dr_fw_plasma_gap_outboard, - ) - - monkeypatch.setattr( - stellarator.data.build, "dr_shld_inboard", stbildparam.dr_shld_inboard - ) - - monkeypatch.setattr( - stellarator.data.build, "dr_shld_outboard", stbildparam.dr_shld_outboard - ) - - monkeypatch.setattr( - stellarator.data.build, "dz_shld_upper", stbildparam.dz_shld_upper - ) - - monkeypatch.setattr( - stellarator.data.build, "dr_tf_inboard", stbildparam.dr_tf_inboard - ) - - monkeypatch.setattr( - stellarator.data.build, "dr_tf_outboard", stbildparam.dr_tf_outboard - ) - - monkeypatch.setattr( - stellarator.data.build, - "available_radial_space", - stbildparam.available_radial_space, - ) - - monkeypatch.setattr( - stellarator.data.build, - "required_radial_space", - stbildparam.required_radial_space, - ) - - monkeypatch.setattr( - stellarator.data.fwbs, "radius_fw_channel", stbildparam.radius_fw_channel - ) - - monkeypatch.setattr(stellarator.data.fwbs, "blktmodel", stbildparam.blktmodel) - - monkeypatch.setattr( - stellarator.data.fwbs, "f_ster_div_single", stbildparam.f_ster_div_single - ) - - monkeypatch.setattr( - stellarator.data.fwbs, "f_a_fw_outboard_hcd", stbildparam.f_a_fw_outboard_hcd - ) - - monkeypatch.setattr(stellarator.data.fwbs, "fhole", stbildparam.fhole) - - monkeypatch.setattr(stellarator.data.fwbs, "dr_fw_wall", stbildparam.dr_fw_wall) - - monkeypatch.setattr( - stellarator.data.heat_transport, "ipowerflow", stbildparam.ipowerflow - ) - - monkeypatch.setattr(stellarator.data.physics, "rmajor", stbildparam.rmajor) - - monkeypatch.setattr(stellarator.data.physics, "rminor", stbildparam.rminor) - - monkeypatch.setattr( - stellarator.data.physics, "a_plasma_surface", stbildparam.a_plasma_surface - ) + "dr_shld_inboard", + "dr_shld_outboard", + "dr_tf_inboard", + ]: + monkeypatch.setattr(stellarator.data.build, field, getattr(stbuildparam, field)) + + for field in [ + "radius_fw_channel", + "blktmodel", + "f_ster_div_single", + "f_a_fw_outboard_hcd", + "fhole", + "dr_fw_wall", + ]: + monkeypatch.setattr(stellarator.data.fwbs, field, getattr(stbuildparam, field)) + + for field in [ + "rmajor", + "rminor", + "a_plasma_surface", + ]: + monkeypatch.setattr( + stellarator.data.physics, field, getattr(stbuildparam, field) + ) - monkeypatch.setattr( - stellarator.data.stellarator_config, + for field in [ "stella_config_derivative_min_lcfs_coils_dist", - stbildparam.stella_config_derivative_min_lcfs_coils_dist, - ) - - monkeypatch.setattr( - stellarator.data.stellarator_config, "stella_config_rminor_ref", - stbildparam.stella_config_rminor_ref, - ) - - monkeypatch.setattr( - stellarator.data.stellarator_config, - "stella_config_min_plasma_coil_distance", - stbildparam.stella_config_min_plasma_coil_distance, - ) + ]: + monkeypatch.setattr( + stellarator.data.stellarator_config, + field, + getattr(stbuildparam, field), + ) monkeypatch.setattr( stellarator.data.stellarator, "r_coil_minor", ( - stbildparam.stella_config_min_plasma_coil_distance - + stbildparam.stella_config_rminor_ref + stbuildparam.stella_config_min_plasma_coil_distance + + stbuildparam.stella_config_rminor_ref ) - * stbildparam.f_st_rminor, + * stbuildparam.f_st_rminor, ) - monkeypatch.setattr( - stellarator.data.stellarator, "f_st_rmajor", stbildparam.f_st_rmajor - ) - - monkeypatch.setattr( - stellarator.data.stellarator, "f_st_aspect", stbildparam.f_st_aspect - ) - - monkeypatch.setattr( - stellarator.data.stellarator, "f_st_rminor", stbildparam.f_st_rminor - ) + for field in [ + "f_st_rmajor", + "f_coil_shape", + ]: + monkeypatch.setattr( + stellarator.data.stellarator, field, getattr(stbuildparam, field) + ) monkeypatch.setattr(stellarator.data.stellarator, "f_coil_shape", 1.0) st_build(stellarator, False, stellarator.data) assert stellarator.data.build.dz_blkt_upper == pytest.approx( - stbildparam.expected_dz_blkt_upper + stbuildparam.expected_dz_blkt_upper ) - assert stellarator.data.build.dr_bore == pytest.approx(stbildparam.expected_bore) + assert stellarator.data.build.dr_bore == pytest.approx(stbuildparam.expected_bore) assert stellarator.data.first_wall.a_fw_total == pytest.approx( - stbildparam.expected_a_fw_total + stbuildparam.expected_a_fw_total ) assert stellarator.data.build.dr_fw_inboard == pytest.approx( - stbildparam.expected_dr_fw_inboard + stbuildparam.expected_dr_fw_inboard ) assert stellarator.data.build.dr_fw_outboard == pytest.approx( - stbildparam.expected_dr_fw_outboard + stbuildparam.expected_dr_fw_outboard ) assert stellarator.data.build.dr_shld_vv_gap_outboard == pytest.approx( - stbildparam.expected_dr_shld_vv_gap_outboard + stbuildparam.expected_dr_shld_vv_gap_outboard ) assert stellarator.data.build.z_tf_inside_half == pytest.approx( - stbildparam.expected_hmax + stbuildparam.expected_hmax ) assert stellarator.data.build.r_tf_outboard_mid == pytest.approx( - stbildparam.expected_r_tf_outboard_mid + stbuildparam.expected_r_tf_outboard_mid ) - assert stellarator.data.build.rbld == pytest.approx(stbildparam.expected_rbld) + assert stellarator.data.build.rbld == pytest.approx(stbuildparam.expected_rbld) assert stellarator.data.build.r_shld_inboard_inner == pytest.approx( - stbildparam.expected_rsldi + stbuildparam.expected_rsldi ) assert stellarator.data.build.r_shld_outboard_outer == pytest.approx( - stbildparam.expected_rsldo + stbuildparam.expected_rsldo ) - assert stellarator.data.build.rspo == pytest.approx(stbildparam.expected_rspo) + assert stellarator.data.build.rspo == pytest.approx(stbuildparam.expected_rspo) assert stellarator.data.build.available_radial_space == pytest.approx( - stbildparam.expected_available_radial_space + stbuildparam.expected_available_radial_space ) assert stellarator.data.build.required_radial_space == pytest.approx( - stbildparam.expected_required_radial_space + stbuildparam.expected_required_radial_space ) @@ -732,39 +434,23 @@ class StstrcParam(NamedTuple): den_steel: Any = None - aintmass: Any = None - - clgsmass: Any = None - - coldmass: Any = None - - fncmass: Any = None - - gsmass: Any = None - m_tf_coils_total: Any = None tcritsc: Any = None e_tf_magnetic_stored_total_gj: Any = None - v_tf_coil_dump_quench_kv: Any = None - dx_tf_inboard_out_toroidal: Any = None stella_config_coilsurface: Any = None - stella_config_coillength: Any = None - - f_st_n_coils: Any = None - - f_st_rmajor: Any = None + stella_config_coil_rminor: Any = None - f_st_b: Any = None + n_tf_coils: Any = None - iprint: Any = None + len_tf_coil: Any = None - outfile: Any = None + f_st_rmajor: Any = None expected_aintmass: Any = None @@ -779,23 +465,14 @@ class StstrcParam(NamedTuple): StstrcParam( dewmkg=0, den_steel=7800, - aintmass=0, - clgsmass=0, - coldmass=0, - fncmass=0, - gsmass=0, m_tf_coils_total=5204872.8206625767, - tcritsc=16, e_tf_magnetic_stored_total_gj=132.55990646265246, - v_tf_coil_dump_quench_kv=4.3242392290600487, dx_tf_inboard_out_toroidal=0.67648706726464258, stella_config_coilsurface=4817.6999999999998, - stella_config_coillength=1680, - f_st_n_coils=1, + stella_config_coil_rminor=1.0, + n_tf_coils=1, + len_tf_coil=1664.8648648648648, f_st_rmajor=0.99099099099099097, - f_st_b=0.98214285714285721, - iprint=0, - outfile=11, expected_aintmass=5207102.5841011265, expected_clgsmass=1041420.5168202254, expected_coldmass=10411975.404763702, @@ -803,23 +480,14 @@ class StstrcParam(NamedTuple): StstrcParam( dewmkg=22397931.480129492, den_steel=7800, - aintmass=4882304.266547408, - clgsmass=976460.85330948164, - coldmass=10087177.087209985, - fncmass=0, - gsmass=0, m_tf_coils_total=5204872.8206625767, - tcritsc=16, e_tf_magnetic_stored_total_gj=132.55990646265246, - v_tf_coil_dump_quench_kv=4.3242392290600487, dx_tf_inboard_out_toroidal=0.67648706726464258, stella_config_coilsurface=4817.6999999999998, - stella_config_coillength=1680, - f_st_n_coils=1, + stella_config_coil_rminor=1.0, + n_tf_coils=1, + len_tf_coil=1664.8648648648648, f_st_rmajor=0.99099099099099097, - f_st_b=0.98214285714285721, - iprint=0, - outfile=11, expected_aintmass=5207102.5841011265, expected_clgsmass=1041420.5168202254, expected_coldmass=32809906.884893194, @@ -839,90 +507,40 @@ def test_ststrc(ststrcparam, monkeypatch, stellarator): :param monkeypatch: pytest fixture used to mock module/class variables :type monkeypatch: _pytest.monkeypatch.monkeypatch """ - - monkeypatch.setattr(stellarator.data.fwbs, "dewmkg", ststrcparam.dewmkg) - - monkeypatch.setattr(stellarator.data.fwbs, "den_steel", ststrcparam.den_steel) - - monkeypatch.setattr(stellarator.data.structure, "aintmass", ststrcparam.aintmass) - - monkeypatch.setattr(stellarator.data.structure, "clgsmass", ststrcparam.clgsmass) - - monkeypatch.setattr(stellarator.data.structure, "coldmass", ststrcparam.coldmass) - - monkeypatch.setattr(stellarator.data.structure, "fncmass", ststrcparam.fncmass) - - monkeypatch.setattr(stellarator.data.structure, "gsmass", ststrcparam.gsmass) - - monkeypatch.setattr( - stellarator.data.tfcoil, "m_tf_coils_total", ststrcparam.m_tf_coils_total - ) - - monkeypatch.setattr(stellarator.data.tfcoil, "tcritsc", ststrcparam.tcritsc) - - monkeypatch.setattr( - stellarator.data.tfcoil, + for field in [ + "dewmkg", + "den_steel", + ]: + monkeypatch.setattr(stellarator.data.fwbs, field, getattr(ststrcparam, field)) + + for field in [ + "m_tf_coils_total", "e_tf_magnetic_stored_total_gj", - ststrcparam.e_tf_magnetic_stored_total_gj, - ) - - monkeypatch.setattr( - stellarator.data.tfcoil, - "v_tf_coil_dump_quench_kv", - ststrcparam.v_tf_coil_dump_quench_kv, - ) - - monkeypatch.setattr( - stellarator.data.tfcoil, "dx_tf_inboard_out_toroidal", - ststrcparam.dx_tf_inboard_out_toroidal, - ) + "len_tf_coil", + "n_tf_coils", + ]: + monkeypatch.setattr(stellarator.data.tfcoil, field, getattr(ststrcparam, field)) - monkeypatch.setattr( - stellarator.data.stellarator_config, + for field in [ "stella_config_coilsurface", - ststrcparam.stella_config_coilsurface, - ) - - monkeypatch.setattr( - stellarator.data.stellarator_config, - "stella_config_coillength", - ststrcparam.stella_config_coillength, - ) - - monkeypatch.setattr( - stellarator.data.stellarator_config, "stella_config_coil_rminor", - 1.0, - ) + ]: + monkeypatch.setattr( + stellarator.data.stellarator_config, + field, + getattr(ststrcparam, field), + ) - monkeypatch.setattr( - stellarator.data.stellarator, + for field in [ "r_coil_minor", - ststrcparam.f_st_rmajor, - ) - - monkeypatch.setattr( - stellarator.data.tfcoil, - "len_tf_coil", - ststrcparam.stella_config_coillength * ststrcparam.f_st_rmajor, - ) - - monkeypatch.setattr( - stellarator.data.tfcoil, - "n_tf_coils", - 1, - ) - - monkeypatch.setattr( - stellarator.data.stellarator, "f_st_n_coils", ststrcparam.f_st_n_coils - ) - - monkeypatch.setattr( - stellarator.data.stellarator, "f_st_rmajor", ststrcparam.f_st_rmajor - ) - - monkeypatch.setattr(stellarator.data.stellarator, "f_st_b", ststrcparam.f_st_b) + "f_st_rmajor", + ]: + monkeypatch.setattr( + stellarator.data.stellarator, + field, + ststrcparam.f_st_rmajor, + ) stellarator.st_strc(False) @@ -1847,8 +1465,6 @@ class StdlimParam(NamedTuple): nd_plasma_electron_line: Any = None - nd_plasma_electrons_max: Any = None - b_plasma_toroidal_on_axis: Any = None powht: Any = None @@ -1868,7 +1484,6 @@ class StdlimParam(NamedTuple): StdlimParam( nd_plasma_electrons_vol_avg=2.0914e20, nd_plasma_electron_line=2.357822619799476e20, - nd_plasma_electrons_max=0, b_plasma_toroidal_on_axis=5.5, powht=432.20449197454559, rmajor=22, @@ -1879,7 +1494,6 @@ class StdlimParam(NamedTuple): StdlimParam( nd_plasma_electrons_vol_avg=2.0914e20, nd_plasma_electron_line=2.357822619799476e20, - nd_plasma_electrons_max=1.2918765671497731e20, b_plasma_toroidal_on_axis=5.5, powht=431.98698920075435, rmajor=22, @@ -1902,24 +1516,15 @@ def test_stdlim(stdlimparam, monkeypatch, stellarator): :param monkeypatch: pytest fixture used to mock module/class variables :type monkeypatch: _pytest.monkeypatch.monkeypatch """ - - monkeypatch.setattr( - stellarator.data.physics, + for field in [ "nd_plasma_electrons_vol_avg", - stdlimparam.nd_plasma_electrons_vol_avg, - ) - - monkeypatch.setattr( - stellarator.data.physics, "nd_plasma_electron_line", - stdlimparam.nd_plasma_electron_line, - ) - - monkeypatch.setattr( - stellarator.data.physics, - "nd_plasma_electrons_max", - stdlimparam.nd_plasma_electrons_max, - ) + ]: + monkeypatch.setattr( + stellarator.data.physics, + field, + getattr(stdlimparam, field), + ) nd_plasma_electron_max_array = st_sudo_density_limit( b_plasma_toroidal_on_axis=stdlimparam.b_plasma_toroidal_on_axis, @@ -2036,7 +1641,6 @@ class StCalcEffChiParam(NamedTuple): stella_config_rminor_ref=1.80206932, f_st_rmajor=0.99129932482229, expected_output=0.2620230359599852, - # expected_output=0.26206561772729992, used old e_ ), StCalcEffChiParam( temp_plasma_electron_on_axis_kev=17.5, @@ -2053,7 +1657,6 @@ class StCalcEffChiParam(NamedTuple): stella_config_rminor_ref=1.80206932, f_st_rmajor=0.99129932482229, expected_output=0.2368034193234161, - # expected_output=0.23684190261197124, used old e_ ), ], ) @@ -2070,50 +1673,23 @@ def test_st_calc_eff_chi(stcalceffchiparam, monkeypatch, stellarator): :param monkeypatch: pytest fixture used to mock module/class variables :type monkeypatch: _pytest.monkeypatch.monkeypatch """ - - monkeypatch.setattr( - stellarator.data.physics, + for field in [ "temp_plasma_electron_on_axis_kev", - stcalceffchiparam.temp_plasma_electron_on_axis_kev, - ) - - monkeypatch.setattr( - stellarator.data.physics, "nd_plasma_electron_on_axis", - stcalceffchiparam.nd_plasma_electron_on_axis, - ) - - monkeypatch.setattr( - stellarator.data.physics, "f_p_alpha_plasma_deposited", - stcalceffchiparam.f_p_alpha_plasma_deposited, - ) - - monkeypatch.setattr( - stellarator.data.physics, "pden_alpha_total_mw", - stcalceffchiparam.pden_alpha_total_mw, - ) - - monkeypatch.setattr( - stellarator.data.physics, "pden_plasma_core_rad_mw", - stcalceffchiparam.pden_plasma_core_rad_mw, - ) - - monkeypatch.setattr(stellarator.data.physics, "alphan", stcalceffchiparam.alphan) - - monkeypatch.setattr(stellarator.data.physics, "alphat", stcalceffchiparam.alphat) - - monkeypatch.setattr( - stellarator.data.physics, "vol_plasma", stcalceffchiparam.vol_plasma - ) - - monkeypatch.setattr( - stellarator.data.physics, "a_plasma_surface", stcalceffchiparam.a_plasma_surface - ) - - monkeypatch.setattr(stellarator.data.physics, "rminor", stcalceffchiparam.rminor) + "alphan", + "alphat", + "vol_plasma", + "a_plasma_surface", + "rminor", + ]: + monkeypatch.setattr( + stellarator.data.physics, + field, + getattr(stcalceffchiparam, field), + ) monkeypatch.setattr( stellarator.data.impurity_radiation, @@ -2210,75 +1786,49 @@ def test_sctfcoil_nuclear_heating_iter90( :param monkeypatch: pytest fixture used to mock module/class variables :type monkeypatch: _pytest.monkeypatch.monkeypatch """ - monkeypatch.setattr( - stellarator.data.build, + for field in [ "dr_blkt_inboard", - sctfcoilnuclearheatingiter90param.dr_blkt_inboard, - ) - monkeypatch.setattr( - stellarator.data.build, "dr_blkt_outboard", - sctfcoilnuclearheatingiter90param.dr_blkt_outboard, - ) - monkeypatch.setattr( - stellarator.data.build, "dr_fw_inboard", - sctfcoilnuclearheatingiter90param.dr_fw_inboard, - ) - monkeypatch.setattr( - stellarator.data.build, "dr_fw_outboard", - sctfcoilnuclearheatingiter90param.dr_fw_outboard, - ) - monkeypatch.setattr( - stellarator.data.build, "dr_shld_inboard", - sctfcoilnuclearheatingiter90param.dr_shld_inboard, - ) - monkeypatch.setattr( - stellarator.data.build, "dr_shld_outboard", - sctfcoilnuclearheatingiter90param.dr_shld_outboard, - ) - monkeypatch.setattr( - stellarator.data.costs, + ]: + monkeypatch.setattr( + stellarator.data.build, + field, + getattr(sctfcoilnuclearheatingiter90param, field), + ) + + for field in [ "f_t_plant_available", - sctfcoilnuclearheatingiter90param.f_t_plant_available, - ) - monkeypatch.setattr( - stellarator.data.costs, "life_plant", - sctfcoilnuclearheatingiter90param.life_plant, - ) + ]: + monkeypatch.setattr( + stellarator.data.costs, + field, + getattr(sctfcoilnuclearheatingiter90param, field), + ) + monkeypatch.setattr( stellarator.data.physics, "pflux_fw_neutron_mw", sctfcoilnuclearheatingiter90param.pflux_fw_neutron_mw, ) - monkeypatch.setattr( - stellarator.data.tfcoil, + + for field in [ "dr_tf_plasma_case", - sctfcoilnuclearheatingiter90param.dr_tf_plasma_case, - ) - monkeypatch.setattr( - stellarator.data.tfcoil, "i_tf_sup", sctfcoilnuclearheatingiter90param.i_tf_sup - ) - monkeypatch.setattr( - stellarator.data.tfcoil, "tfsai", sctfcoilnuclearheatingiter90param.tfsai - ) - monkeypatch.setattr( - stellarator.data.tfcoil, "tfsao", sctfcoilnuclearheatingiter90param.tfsao - ) - monkeypatch.setattr( - stellarator.data.tfcoil, + "i_tf_sup", + "tfsai", + "tfsao", "dr_tf_wp_with_insulation", - sctfcoilnuclearheatingiter90param.dr_tf_wp_with_insulation, - ) - monkeypatch.setattr( - stellarator.data.tfcoil, "dx_tf_wp_insulation", - sctfcoilnuclearheatingiter90param.dx_tf_wp_insulation, - ) + ]: + monkeypatch.setattr( + stellarator.data.tfcoil, + field, + getattr(sctfcoilnuclearheatingiter90param, field), + ) ( coilhtmx, diff --git a/tests/unit/models/test_buildings.py b/tests/unit/models/test_buildings.py index 499b16dc4..37a4d9181 100644 --- a/tests/unit/models/test_buildings.py +++ b/tests/unit/models/test_buildings.py @@ -14,9 +14,6 @@ def buildings(process_models): class BldgsSizesParam(NamedTuple): - i_bldgs_v: Any - a_plant_floor_effective: Any - volnucb: Any bioshld_thk: Any reactor_wall_thk: Any reactor_roof_thk: Any @@ -27,9 +24,6 @@ class BldgsSizesParam(NamedTuple): ground_clrnc: Any crane_clrnc_h: Any crane_arm_h: Any - reactor_hall_l: Any - reactor_hall_w: Any - reactor_hall_h: Any nbi_sys_l: Any nbi_sys_w: Any fc_building_l: Any @@ -125,12 +119,9 @@ class BldgsSizesParam(NamedTuple): cplife: Any life_div_fpy: Any r_cryostat_inboard: Any - life_blkt_fpy: Any z_tf_inside_half: Any dr_tf_inboard: Any dr_tf_shld_gap: Any - dr_shld_thermal_inboard: Any - dr_shld_thermal_outboard: Any dz_shld_thermal: Any dr_shld_inboard: Any dr_shld_outboard: Any @@ -146,8 +137,6 @@ class BldgsSizesParam(NamedTuple): rminor: Any tf_radial_dim: Any tf_vertical_dim: Any - outfile: Any - iprint: Any expected_reactor_hall_l: Any expected_reactor_hall_w: Any expected_reactor_hall_h: Any @@ -157,9 +146,6 @@ class BldgsSizesParam(NamedTuple): "bldgssizesparam", [ BldgsSizesParam( - i_bldgs_v=0, - a_plant_floor_effective=0, - volnucb=0, bioshld_thk=2.5, reactor_wall_thk=2, reactor_roof_thk=1, @@ -170,9 +156,6 @@ class BldgsSizesParam(NamedTuple): ground_clrnc=5, crane_clrnc_h=4, crane_arm_h=10, - reactor_hall_l=0, - reactor_hall_w=0, - reactor_hall_h=0, nbi_sys_l=225, nbi_sys_w=185, fc_building_l=60, @@ -268,12 +251,9 @@ class BldgsSizesParam(NamedTuple): cplife=0, life_div_fpy=0, r_cryostat_inboard=19.48258241468535, - life_blkt_fpy=0, z_tf_inside_half=9.0730900215620327, dr_tf_inboard=1.208, dr_tf_shld_gap=0.05000000000000001, - dr_shld_thermal_inboard=0.050000000000000003, - dr_shld_thermal_outboard=0.050000000000000003, dz_shld_thermal=0.050000000000000003, dr_shld_inboard=0.30000000000000004, dr_shld_outboard=0.80000000000000004, @@ -289,16 +269,11 @@ class BldgsSizesParam(NamedTuple): rminor=2.8677741935483869, tf_radial_dim=14.129464674334221, tf_vertical_dim=20.562180043124066, - outfile=11, - iprint=0, expected_reactor_hall_l=218.89549448811209, expected_reactor_hall_w=218.89549448811209, expected_reactor_hall_h=67.624360086248132, ), BldgsSizesParam( - i_bldgs_v=0, - a_plant_floor_effective=1539392.0963074313, - volnucb=5212998.1139194397, bioshld_thk=2.5, reactor_wall_thk=2, reactor_roof_thk=1, @@ -309,9 +284,6 @@ class BldgsSizesParam(NamedTuple): ground_clrnc=5, crane_clrnc_h=4, crane_arm_h=10, - reactor_hall_l=218.89549448811209, - reactor_hall_w=218.89549448811209, - reactor_hall_h=67.624360086248132, nbi_sys_l=225, nbi_sys_w=185, fc_building_l=60, @@ -407,12 +379,9 @@ class BldgsSizesParam(NamedTuple): cplife=0, life_div_fpy=6.1337250397740126, r_cryostat_inboard=19.482980877139834, - life_blkt_fpy=19.216116010620578, z_tf_inside_half=9.0730900215620327, dr_tf_inboard=1.208, dr_tf_shld_gap=0.05000000000000001, - dr_shld_thermal_inboard=0.050000000000000003, - dr_shld_thermal_outboard=0.050000000000000003, dz_shld_thermal=0.050000000000000003, dr_shld_inboard=0.30000000000000004, dr_shld_outboard=0.80000000000000004, @@ -428,8 +397,6 @@ class BldgsSizesParam(NamedTuple): rminor=2.8677741935483869, tf_radial_dim=14.129464674334221, tf_vertical_dim=20.562180043124066, - outfile=11, - iprint=0, expected_reactor_hall_l=218.897885262839, expected_reactor_hall_w=218.897885262839, expected_reactor_hall_h=67.624360086248132, @@ -437,297 +404,109 @@ class BldgsSizesParam(NamedTuple): ], ) def test_bldgs_sizes(buildings, bldgssizesparam, monkeypatch): - monkeypatch.setattr(buildings.data.buildings, "i_bldgs_v", bldgssizesparam.i_bldgs_v) - monkeypatch.setattr( - buildings.data.buildings, - "a_plant_floor_effective", - bldgssizesparam.a_plant_floor_effective, - ) - monkeypatch.setattr(buildings.data.buildings, "volnucb", bldgssizesparam.volnucb) - monkeypatch.setattr( - buildings.data.buildings, "bioshld_thk", bldgssizesparam.bioshld_thk - ) - monkeypatch.setattr( - buildings.data.buildings, "reactor_wall_thk", bldgssizesparam.reactor_wall_thk - ) - monkeypatch.setattr( - buildings.data.buildings, "reactor_roof_thk", bldgssizesparam.reactor_roof_thk - ) - monkeypatch.setattr( - buildings.data.buildings, "reactor_fndtn_thk", bldgssizesparam.reactor_fndtn_thk - ) - monkeypatch.setattr( - buildings.data.buildings, "reactor_clrnc", bldgssizesparam.reactor_clrnc - ) - monkeypatch.setattr( - buildings.data.buildings, "transp_clrnc", bldgssizesparam.transp_clrnc - ) - monkeypatch.setattr( - buildings.data.buildings, "cryostat_clrnc", bldgssizesparam.cryostat_clrnc - ) - monkeypatch.setattr( - buildings.data.buildings, "ground_clrnc", bldgssizesparam.ground_clrnc - ) - monkeypatch.setattr( - buildings.data.buildings, "crane_clrnc_h", bldgssizesparam.crane_clrnc_h - ) - monkeypatch.setattr( - buildings.data.buildings, "crane_arm_h", bldgssizesparam.crane_arm_h - ) - monkeypatch.setattr( - buildings.data.buildings, "reactor_hall_l", bldgssizesparam.reactor_hall_l - ) - monkeypatch.setattr( - buildings.data.buildings, "reactor_hall_w", bldgssizesparam.reactor_hall_w - ) - monkeypatch.setattr( - buildings.data.buildings, "reactor_hall_h", bldgssizesparam.reactor_hall_h - ) - monkeypatch.setattr(buildings.data.buildings, "nbi_sys_l", bldgssizesparam.nbi_sys_l) - monkeypatch.setattr(buildings.data.buildings, "nbi_sys_w", bldgssizesparam.nbi_sys_w) - monkeypatch.setattr( - buildings.data.buildings, "fc_building_l", bldgssizesparam.fc_building_l - ) - monkeypatch.setattr( - buildings.data.buildings, "fc_building_w", bldgssizesparam.fc_building_w - ) - monkeypatch.setattr( - buildings.data.buildings, "warm_shop_l", bldgssizesparam.warm_shop_l - ) - monkeypatch.setattr( - buildings.data.buildings, "warm_shop_w", bldgssizesparam.warm_shop_w - ) - monkeypatch.setattr( - buildings.data.buildings, "warm_shop_h", bldgssizesparam.warm_shop_h - ) - monkeypatch.setattr( - buildings.data.buildings, "workshop_l", bldgssizesparam.workshop_l - ) - monkeypatch.setattr( - buildings.data.buildings, "workshop_w", bldgssizesparam.workshop_w - ) - monkeypatch.setattr( - buildings.data.buildings, "workshop_h", bldgssizesparam.workshop_h - ) - monkeypatch.setattr( - buildings.data.buildings, "robotics_l", bldgssizesparam.robotics_l - ) - monkeypatch.setattr( - buildings.data.buildings, "robotics_w", bldgssizesparam.robotics_w - ) - monkeypatch.setattr( - buildings.data.buildings, "robotics_h", bldgssizesparam.robotics_h - ) - monkeypatch.setattr( - buildings.data.buildings, "maint_cont_l", bldgssizesparam.maint_cont_l - ) - monkeypatch.setattr( - buildings.data.buildings, "maint_cont_w", bldgssizesparam.maint_cont_w - ) - monkeypatch.setattr( - buildings.data.buildings, "maint_cont_h", bldgssizesparam.maint_cont_h - ) - monkeypatch.setattr( - buildings.data.buildings, "turbine_hall_l", bldgssizesparam.turbine_hall_l - ) - monkeypatch.setattr( - buildings.data.buildings, "turbine_hall_w", bldgssizesparam.turbine_hall_w - ) - monkeypatch.setattr( - buildings.data.buildings, "turbine_hall_h", bldgssizesparam.turbine_hall_h - ) - monkeypatch.setattr( - buildings.data.buildings, "gas_buildings_l", bldgssizesparam.gas_buildings_l - ) - monkeypatch.setattr( - buildings.data.buildings, "gas_buildings_w", bldgssizesparam.gas_buildings_w - ) - monkeypatch.setattr( - buildings.data.buildings, "gas_buildings_h", bldgssizesparam.gas_buildings_h - ) - monkeypatch.setattr( - buildings.data.buildings, "water_buildings_l", bldgssizesparam.water_buildings_l - ) - monkeypatch.setattr( - buildings.data.buildings, "water_buildings_w", bldgssizesparam.water_buildings_w - ) - monkeypatch.setattr( - buildings.data.buildings, "water_buildings_h", bldgssizesparam.water_buildings_h - ) - monkeypatch.setattr( - buildings.data.buildings, "sec_buildings_l", bldgssizesparam.sec_buildings_l - ) - monkeypatch.setattr( - buildings.data.buildings, "sec_buildings_w", bldgssizesparam.sec_buildings_w - ) - monkeypatch.setattr( - buildings.data.buildings, "sec_buildings_h", bldgssizesparam.sec_buildings_h - ) - monkeypatch.setattr( - buildings.data.buildings, + for field in [ + "bioshld_thk", + "reactor_wall_thk", + "reactor_roof_thk", + "reactor_fndtn_thk", + "reactor_clrnc", + "transp_clrnc", + "cryostat_clrnc", + "ground_clrnc", + "crane_clrnc_h", + "crane_arm_h", + "nbi_sys_l", + "nbi_sys_w", + "fc_building_l", + "fc_building_w", + "warm_shop_l", + "warm_shop_w", + "warm_shop_h", + "workshop_l", + "workshop_w", + "workshop_h", + "robotics_l", + "robotics_w", + "robotics_h", + "maint_cont_l", + "maint_cont_w", + "maint_cont_h", + "turbine_hall_l", + "turbine_hall_w", + "turbine_hall_h", + "gas_buildings_l", + "gas_buildings_w", + "gas_buildings_h", + "water_buildings_l", + "water_buildings_w", + "water_buildings_h", + "sec_buildings_l", + "sec_buildings_w", + "sec_buildings_h", "staff_buildings_area", - bldgssizesparam.staff_buildings_area, - ) - monkeypatch.setattr( - buildings.data.buildings, "staff_buildings_h", bldgssizesparam.staff_buildings_h - ) - monkeypatch.setattr( - buildings.data.buildings, "hcd_building_l", bldgssizesparam.hcd_building_l - ) - monkeypatch.setattr( - buildings.data.buildings, "hcd_building_w", bldgssizesparam.hcd_building_w - ) - monkeypatch.setattr( - buildings.data.buildings, "hcd_building_h", bldgssizesparam.hcd_building_h - ) - monkeypatch.setattr( - buildings.data.buildings, "magnet_pulse_l", bldgssizesparam.magnet_pulse_l - ) - monkeypatch.setattr( - buildings.data.buildings, "magnet_pulse_w", bldgssizesparam.magnet_pulse_w - ) - monkeypatch.setattr( - buildings.data.buildings, "magnet_pulse_h", bldgssizesparam.magnet_pulse_h - ) - monkeypatch.setattr( - buildings.data.buildings, "magnet_trains_l", bldgssizesparam.magnet_trains_l - ) - monkeypatch.setattr( - buildings.data.buildings, "magnet_trains_w", bldgssizesparam.magnet_trains_w - ) - monkeypatch.setattr( - buildings.data.buildings, "magnet_trains_h", bldgssizesparam.magnet_trains_h - ) - monkeypatch.setattr( - buildings.data.buildings, + "staff_buildings_h", + "hcd_building_l", + "hcd_building_w", + "hcd_building_h", + "magnet_pulse_l", + "magnet_pulse_w", + "magnet_pulse_h", + "magnet_trains_l", + "magnet_trains_w", + "magnet_trains_h", "control_buildings_l", - bldgssizesparam.control_buildings_l, - ) - monkeypatch.setattr( - buildings.data.buildings, "control_buildings_w", - bldgssizesparam.control_buildings_w, - ) - monkeypatch.setattr( - buildings.data.buildings, "control_buildings_h", - bldgssizesparam.control_buildings_h, - ) - monkeypatch.setattr( - buildings.data.buildings, "ilw_smelter_l", bldgssizesparam.ilw_smelter_l - ) - monkeypatch.setattr( - buildings.data.buildings, "ilw_smelter_w", bldgssizesparam.ilw_smelter_w - ) - monkeypatch.setattr( - buildings.data.buildings, "ilw_smelter_h", bldgssizesparam.ilw_smelter_h - ) - monkeypatch.setattr( - buildings.data.buildings, "ilw_storage_l", bldgssizesparam.ilw_storage_l - ) - monkeypatch.setattr( - buildings.data.buildings, "ilw_storage_w", bldgssizesparam.ilw_storage_w - ) - monkeypatch.setattr( - buildings.data.buildings, "ilw_storage_h", bldgssizesparam.ilw_storage_h - ) - monkeypatch.setattr( - buildings.data.buildings, "llw_storage_l", bldgssizesparam.llw_storage_l - ) - monkeypatch.setattr( - buildings.data.buildings, "llw_storage_w", bldgssizesparam.llw_storage_w - ) - monkeypatch.setattr( - buildings.data.buildings, "llw_storage_h", bldgssizesparam.llw_storage_h - ) - monkeypatch.setattr( - buildings.data.buildings, "hw_storage_l", bldgssizesparam.hw_storage_l - ) - monkeypatch.setattr( - buildings.data.buildings, "hw_storage_w", bldgssizesparam.hw_storage_w - ) - monkeypatch.setattr( - buildings.data.buildings, "hw_storage_h", bldgssizesparam.hw_storage_h - ) - monkeypatch.setattr( - buildings.data.buildings, "tw_storage_l", bldgssizesparam.tw_storage_l - ) - monkeypatch.setattr( - buildings.data.buildings, "tw_storage_w", bldgssizesparam.tw_storage_w - ) - monkeypatch.setattr( - buildings.data.buildings, "tw_storage_h", bldgssizesparam.tw_storage_h - ) - monkeypatch.setattr(buildings.data.buildings, "auxcool_l", bldgssizesparam.auxcool_l) - monkeypatch.setattr(buildings.data.buildings, "auxcool_w", bldgssizesparam.auxcool_w) - monkeypatch.setattr(buildings.data.buildings, "auxcool_h", bldgssizesparam.auxcool_h) - monkeypatch.setattr(buildings.data.buildings, "cryomag_l", bldgssizesparam.cryomag_l) - monkeypatch.setattr(buildings.data.buildings, "cryomag_w", bldgssizesparam.cryomag_w) - monkeypatch.setattr(buildings.data.buildings, "cryomag_h", bldgssizesparam.cryomag_h) - monkeypatch.setattr( - buildings.data.buildings, "cryostore_l", bldgssizesparam.cryostore_l - ) - monkeypatch.setattr( - buildings.data.buildings, "cryostore_w", bldgssizesparam.cryostore_w - ) - monkeypatch.setattr( - buildings.data.buildings, "cryostore_h", bldgssizesparam.cryostore_h - ) - monkeypatch.setattr( - buildings.data.buildings, "elecdist_l", bldgssizesparam.elecdist_l - ) - monkeypatch.setattr( - buildings.data.buildings, "elecdist_w", bldgssizesparam.elecdist_w - ) - monkeypatch.setattr( - buildings.data.buildings, "elecdist_h", bldgssizesparam.elecdist_h - ) - monkeypatch.setattr( - buildings.data.buildings, "elecstore_l", bldgssizesparam.elecstore_l - ) - monkeypatch.setattr( - buildings.data.buildings, "elecstore_w", bldgssizesparam.elecstore_w - ) - monkeypatch.setattr( - buildings.data.buildings, "elecstore_h", bldgssizesparam.elecstore_h - ) - monkeypatch.setattr( - buildings.data.buildings, "elecload_l", bldgssizesparam.elecload_l - ) - monkeypatch.setattr( - buildings.data.buildings, "elecload_w", bldgssizesparam.elecload_w - ) - monkeypatch.setattr( - buildings.data.buildings, "elecload_h", bldgssizesparam.elecload_h - ) - monkeypatch.setattr(buildings.data.buildings, "chemlab_l", bldgssizesparam.chemlab_l) - monkeypatch.setattr(buildings.data.buildings, "chemlab_w", bldgssizesparam.chemlab_w) - monkeypatch.setattr(buildings.data.buildings, "chemlab_h", bldgssizesparam.chemlab_h) - monkeypatch.setattr( - buildings.data.buildings, "heat_sink_l", bldgssizesparam.heat_sink_l - ) - monkeypatch.setattr( - buildings.data.buildings, "heat_sink_w", bldgssizesparam.heat_sink_w - ) - monkeypatch.setattr( - buildings.data.buildings, "heat_sink_h", bldgssizesparam.heat_sink_h - ) - monkeypatch.setattr( - buildings.data.buildings, "aux_build_l", bldgssizesparam.aux_build_l - ) - monkeypatch.setattr( - buildings.data.buildings, "aux_build_w", bldgssizesparam.aux_build_w - ) - monkeypatch.setattr( - buildings.data.buildings, "aux_build_h", bldgssizesparam.aux_build_h - ) - monkeypatch.setattr( - buildings.data.buildings, "qnty_sfty_fac", bldgssizesparam.qnty_sfty_fac - ) - monkeypatch.setattr(buildings.data.buildings, "hotcell_h", bldgssizesparam.hotcell_h) - monkeypatch.setattr( - buildings.data.buildings, "hot_sepdist", bldgssizesparam.hot_sepdist - ) + "ilw_smelter_l", + "ilw_smelter_w", + "ilw_smelter_h", + "ilw_storage_l", + "ilw_storage_w", + "ilw_storage_h", + "llw_storage_l", + "llw_storage_w", + "llw_storage_h", + "hw_storage_l", + "hw_storage_w", + "hw_storage_h", + "tw_storage_l", + "tw_storage_w", + "tw_storage_h", + "auxcool_l", + "auxcool_w", + "auxcool_h", + "cryomag_l", + "cryomag_w", + "cryomag_h", + "cryostore_l", + "cryostore_w", + "cryostore_h", + "elecdist_l", + "elecdist_w", + "elecdist_h", + "elecstore_l", + "elecstore_w", + "elecstore_h", + "elecload_l", + "elecload_w", + "elecload_h", + "chemlab_l", + "chemlab_w", + "chemlab_h", + "heat_sink_l", + "heat_sink_w", + "heat_sink_h", + "aux_build_l", + "aux_build_w", + "aux_build_h", + "qnty_sfty_fac", + "hotcell_h", + "hot_sepdist", + ]: + monkeypatch.setattr( + buildings.data.buildings, field, getattr(bldgssizesparam, field) + ) + monkeypatch.setattr( buildings.data.current_drive, "i_hcd_primary", bldgssizesparam.i_hcd_primary ) @@ -746,60 +525,23 @@ def test_bldgs_sizes(buildings, bldgssizesparam, monkeypatch): monkeypatch.setattr( buildings.data.fwbs, "r_cryostat_inboard", bldgssizesparam.r_cryostat_inboard ) - monkeypatch.setattr( - buildings.data.fwbs, "life_blkt_fpy", bldgssizesparam.life_blkt_fpy - ) - monkeypatch.setattr( - buildings.data.build, "z_tf_inside_half", bldgssizesparam.z_tf_inside_half - ) - monkeypatch.setattr( - buildings.data.build, "dr_tf_inboard", bldgssizesparam.dr_tf_inboard - ) - monkeypatch.setattr( - buildings.data.build, "dr_tf_shld_gap", bldgssizesparam.dr_tf_shld_gap - ) - monkeypatch.setattr( - buildings.data.build, - "dr_shld_thermal_inboard", - bldgssizesparam.dr_shld_thermal_inboard, - ) - monkeypatch.setattr( - buildings.data.build, - "dr_shld_thermal_outboard", - bldgssizesparam.dr_shld_thermal_outboard, - ) - monkeypatch.setattr( - buildings.data.build, "dz_shld_thermal", bldgssizesparam.dz_shld_thermal - ) - monkeypatch.setattr( - buildings.data.build, "dr_shld_inboard", bldgssizesparam.dr_shld_inboard - ) - monkeypatch.setattr( - buildings.data.build, "dr_shld_outboard", bldgssizesparam.dr_shld_outboard - ) - monkeypatch.setattr( - buildings.data.build, + + for field in [ + "z_tf_inside_half", + "dr_tf_inboard", + "dr_tf_shld_gap", + "dz_shld_thermal", + "dr_shld_inboard", + "dr_shld_outboard", "dr_fw_plasma_gap_inboard", - bldgssizesparam.dr_fw_plasma_gap_inboard, - ) - monkeypatch.setattr( - buildings.data.build, "dr_fw_plasma_gap_outboard", - bldgssizesparam.dr_fw_plasma_gap_outboard, - ) - monkeypatch.setattr( - buildings.data.build, "dr_fw_inboard", bldgssizesparam.dr_fw_inboard - ) - monkeypatch.setattr( - buildings.data.build, "dr_fw_outboard", bldgssizesparam.dr_fw_outboard - ) - monkeypatch.setattr( - buildings.data.build, "dr_blkt_inboard", bldgssizesparam.dr_blkt_inboard - ) - monkeypatch.setattr( - buildings.data.build, "dr_blkt_outboard", bldgssizesparam.dr_blkt_outboard - ) - monkeypatch.setattr(buildings.data.build, "r_cp_top", bldgssizesparam.r_cp_top) + "dr_fw_inboard", + "dr_fw_outboard", + "dr_blkt_inboard", + "dr_blkt_outboard", + "r_cp_top", + ]: + monkeypatch.setattr(buildings.data.build, field, getattr(bldgssizesparam, field)) monkeypatch.setattr( buildings.data.divertor, "dz_divertor", bldgssizesparam.dz_divertor ) @@ -824,7 +566,6 @@ def test_bldgs_sizes(buildings, bldgssizesparam, monkeypatch): class BldgsParam(NamedTuple): - wrbi: Any rxcl: Any trcl: Any row: Any @@ -846,17 +587,10 @@ class BldgsParam(NamedTuple): pfbldgm3: Any esbldgm3: Any pibv: Any - a_plant_floor_effective: Any - admvol: Any triv: Any conv: Any admv: Any shov: Any - shovol: Any - convol: Any - volnucb: Any - iprint: Any - outfile: Any pfr: Any pfm: Any tfro: Any @@ -888,7 +622,6 @@ class BldgsParam(NamedTuple): "bldgsparam", [ BldgsParam( - wrbi=0, rxcl=4, trcl=1, row=4, @@ -910,17 +643,10 @@ class BldgsParam(NamedTuple): pfbldgm3=20000, esbldgm3=1000, pibv=20000, - a_plant_floor_effective=0, - admvol=0, triv=40000, conv=60000, admv=100000, shov=100000, - shovol=0, - convol=0, - volnucb=0, - iprint=0, - outfile=11, pfr=18.98258241468535, pfm=1071.5897090529959, tfro=17.123405859443331, @@ -948,7 +674,6 @@ class BldgsParam(NamedTuple): expected_elev=51601.097615432001, ), BldgsParam( - wrbi=42.612047089019569, rxcl=4, trcl=1, row=4, @@ -970,17 +695,10 @@ class BldgsParam(NamedTuple): pfbldgm3=20000, esbldgm3=1000, pibv=20000, - a_plant_floor_effective=379235.17804514873, - admvol=100000, triv=40000, conv=60000, admv=100000, shov=100000, - shovol=100000, - convol=60000, - volnucb=1812276.5359386117, - iprint=0, - outfile=11, pfr=18.982980877139834, pfm=1073.3372194668184, tfro=17.123405859443331, @@ -1010,43 +728,34 @@ class BldgsParam(NamedTuple): ], ) def test_bldgs(buildings, bldgsparam, monkeypatch): - monkeypatch.setattr(buildings.data.buildings, "wrbi", bldgsparam.wrbi) - monkeypatch.setattr(buildings.data.buildings, "rxcl", bldgsparam.rxcl) - monkeypatch.setattr(buildings.data.buildings, "trcl", bldgsparam.trcl) - monkeypatch.setattr(buildings.data.buildings, "row", bldgsparam.row) - monkeypatch.setattr(buildings.data.buildings, "wgt", bldgsparam.wgt) - monkeypatch.setattr(buildings.data.buildings, "shmf", bldgsparam.shmf) - monkeypatch.setattr(buildings.data.buildings, "clh2", bldgsparam.clh2) - monkeypatch.setattr( - buildings.data.buildings, "dz_tf_cryostat", bldgsparam.dz_tf_cryostat - ) - monkeypatch.setattr(buildings.data.buildings, "stcl", bldgsparam.stcl) - monkeypatch.setattr(buildings.data.buildings, "rbvfac", bldgsparam.rbvfac) - monkeypatch.setattr(buildings.data.buildings, "rbwt", bldgsparam.rbwt) - monkeypatch.setattr(buildings.data.buildings, "rbrt", bldgsparam.rbrt) - monkeypatch.setattr(buildings.data.buildings, "fndt", bldgsparam.fndt) - monkeypatch.setattr(buildings.data.buildings, "hcwt", bldgsparam.hcwt) - monkeypatch.setattr(buildings.data.buildings, "hccl", bldgsparam.hccl) - monkeypatch.setattr(buildings.data.buildings, "wgt2", bldgsparam.wgt2) - monkeypatch.setattr(buildings.data.buildings, "mbvfac", bldgsparam.mbvfac) - monkeypatch.setattr(buildings.data.buildings, "wsvfac", bldgsparam.wsvfac) - monkeypatch.setattr(buildings.data.buildings, "tfcbv", bldgsparam.tfcbv) - monkeypatch.setattr(buildings.data.buildings, "pfbldgm3", bldgsparam.pfbldgm3) - monkeypatch.setattr(buildings.data.buildings, "esbldgm3", bldgsparam.esbldgm3) - monkeypatch.setattr(buildings.data.buildings, "pibv", bldgsparam.pibv) - monkeypatch.setattr( - buildings.data.buildings, - "a_plant_floor_effective", - bldgsparam.a_plant_floor_effective, - ) - monkeypatch.setattr(buildings.data.buildings, "admvol", bldgsparam.admvol) - monkeypatch.setattr(buildings.data.buildings, "triv", bldgsparam.triv) - monkeypatch.setattr(buildings.data.buildings, "conv", bldgsparam.conv) - monkeypatch.setattr(buildings.data.buildings, "admv", bldgsparam.admv) - monkeypatch.setattr(buildings.data.buildings, "shov", bldgsparam.shov) - monkeypatch.setattr(buildings.data.buildings, "shovol", bldgsparam.shovol) - monkeypatch.setattr(buildings.data.buildings, "convol", bldgsparam.convol) - monkeypatch.setattr(buildings.data.buildings, "volnucb", bldgsparam.volnucb) + for field in [ + "rxcl", + "trcl", + "row", + "wgt", + "shmf", + "clh2", + "dz_tf_cryostat", + "stcl", + "rbvfac", + "rbwt", + "rbrt", + "fndt", + "hcwt", + "hccl", + "wgt2", + "mbvfac", + "wsvfac", + "tfcbv", + "pfbldgm3", + "esbldgm3", + "pibv", + "triv", + "conv", + "admv", + "shov", + ]: + monkeypatch.setattr(buildings.data.buildings, field, getattr(bldgsparam, field)) cryv, vrci, rbv, rmbv, wsv, elev = buildings.bldgs( output=False, diff --git a/tests/unit/models/test_costs_1990.py b/tests/unit/models/test_costs_1990.py index dccefbbcf..f0d14a28a 100644 --- a/tests/unit/models/test_costs_1990.py +++ b/tests/unit/models/test_costs_1990.py @@ -74,7 +74,6 @@ def acc2261_fix(costs, request, monkeypatch): monkeypatch.setattr(costs.data.fwbs, "p_shld_nuclear_heat_mw", 1.478) monkeypatch.setattr(costs.data.heat_transport, "p_plant_primary_heat_mw", 2647.0) monkeypatch.setattr(costs.data.heat_transport, "n_primary_heat_exchangers", 3) - monkeypatch.setattr(costs.data.costs, "c2261", 0) # Parameterised mocks monkeypatch.setattr( @@ -107,7 +106,6 @@ def test_acc2262(monkeypatch, costs): monkeypatch.setattr(costs.data.heat_transport, "vachtmw", 0.5) monkeypatch.setattr(costs.data.heat_transport, "p_tritium_plant_electric_mw", 15.0) monkeypatch.setattr(costs.data.heat_transport, "fachtmw", 64.835) - monkeypatch.setattr(costs.data.costs, "c2262", 0) costs.acc2262() assert costs.data.costs.c2262 == pytest.approx(29.408, abs=0.01) @@ -124,7 +122,6 @@ def test_acc2263(monkeypatch, costs): monkeypatch.setattr(costs.data.costs, "uccry", 9.3e4) monkeypatch.setattr(costs.data.tfcoil, "tftmp", 4.5) monkeypatch.setattr(costs.data.heat_transport, "helpow", 80.980e3) - monkeypatch.setattr(costs.data.costs, "c2263", 0) costs.acc2263() assert costs.data.costs.c2263 == pytest.approx(180.76, abs=0.01) @@ -247,7 +244,6 @@ def test_acc2274(monkeypatch, costs): monkeypatch.setattr(costs.data.buildings, "wsvol", 132304.1) monkeypatch.setattr(costs.data.buildings, "volrci", 1299783.4) monkeypatch.setattr(costs.data.costs, "fkind", 1) - monkeypatch.setattr(costs.data.costs, "c2274", 0) costs.acc2274() assert costs.data.costs.c2274 == pytest.approx(84.10, abs=0.01) @@ -297,7 +293,6 @@ def acc228_fix(request, monkeypatch, costs): # Mock variables used by acc228() # Some may be parameterised monkeypatch.setattr(costs.data.costs, "fkind", param["fkind"]) - monkeypatch.setattr(costs.data.costs, "c228", 0) # Return the expected result for the given parameter list return param["expected"] @@ -359,7 +354,6 @@ def acc229_fix(request, monkeypatch, costs): # Mock variables used by acc229() # Some may be parameterised monkeypatch.setattr(costs.data.costs, "fkind", param["fkind"]) - monkeypatch.setattr(costs.data.costs, "c229", 0) # Return the expected result for the given parameter list return param["expected"] @@ -429,7 +423,6 @@ def acc23_fix(request, monkeypatch, costs): costs.data.fwbs, "i_blkt_coolant_type", param["i_blkt_coolant_type"] ) monkeypatch.setattr(costs.data.heat_transport, "p_plant_electric_gross_mw", 1200.0) - monkeypatch.setattr(costs.data.costs, "c23", 0) # Return the expected result for the given parameter list return param["expected"] @@ -454,7 +447,6 @@ def test_acc241(monkeypatch, costs): :type monkeypatch: object """ monkeypatch.setattr(costs.data.costs, "lsa", 4) - monkeypatch.setattr(costs.data.costs, "c241", 0) costs.acc241() assert costs.data.costs.c241 == pytest.approx(18.4, abs=0.01) @@ -471,7 +463,6 @@ def test_acc242(monkeypatch, costs): monkeypatch.setattr( costs.data.heat_transport, "p_plant_electric_base_total_mw", 65.0 ) - monkeypatch.setattr(costs.data.costs, "c242", 0) costs.acc242() assert costs.data.costs.c242 == pytest.approx(9.06, abs=0.01) @@ -485,7 +476,6 @@ def test_acc243(monkeypatch, costs): """ monkeypatch.setattr(costs.data.costs, "lsa", 4) monkeypatch.setattr(costs.data.heat_transport, "tlvpmw", 403.8) - monkeypatch.setattr(costs.data.costs, "c243", 0) costs.acc243() assert costs.data.costs.c243 == pytest.approx(8.08, abs=0.01) @@ -498,7 +488,6 @@ def test_acc244(monkeypatch, costs): :type monkeypatch: object """ monkeypatch.setattr(costs.data.costs, "lsa", 4) - monkeypatch.setattr(costs.data.costs, "c244", 0) costs.acc244() assert costs.data.costs.c244 == pytest.approx(6.80, abs=0.01) @@ -511,7 +500,6 @@ def test_acc245(monkeypatch, costs): :type monkeypatch: object """ monkeypatch.setattr(costs.data.costs, "lsa", 4) - monkeypatch.setattr(costs.data.costs, "c245", 0) costs.acc245() assert costs.data.costs.c245 == pytest.approx(1.5, abs=0.01) @@ -559,7 +547,6 @@ def acc25_fix(request, monkeypatch, costs): # Some may be parameterised monkeypatch.setattr(costs.data.costs, "ucmisc", 2.5e7) monkeypatch.setattr(costs.data.costs, "lsa", param["lsa"]) - monkeypatch.setattr(costs.data.costs, "c25", 0) # Return the expected result for the given parameter list return param["expected"] @@ -658,7 +645,6 @@ def acc26_fix(request, monkeypatch, costs): "p_plant_electric_gross_mw", param["p_plant_electric_gross_mw"], ) - monkeypatch.setattr(costs.data.costs, "c26", 0) # Return the expected result for the given parameter list return param["expected"] @@ -686,7 +672,6 @@ def test_acc9(monkeypatch, costs): monkeypatch.setattr(costs.data.costs, "cdirt", 30e3) monkeypatch.setattr(costs.data.costs, "cowner", 0.15) monkeypatch.setattr(costs.data.costs, "fcontng", 0.195) - monkeypatch.setattr(costs.data.costs, "cindrt", 0) costs.acc9() assert costs.data.costs.cindrt == pytest.approx(10005.0, abs=0.1) @@ -724,34 +709,6 @@ class Acc21Param(NamedTuple): cland: Any = None - c21: Any = None - - c211: Any = None - - c212: Any = None - - c213: Any = None - - c214: Any = None - - c2141: Any = None - - c2142: Any = None - - c215: Any = None - - c216: Any = None - - c217: Any = None - - c2171: Any = None - - c2172: Any = None - - c2173: Any = None - - c2174: Any = None - expected_c21: Any = None expected_c211: Any = None @@ -800,20 +757,6 @@ class Acc21Param(NamedTuple): lsa=2, csi=16, cland=19.199999999999999, - c21=0, - c211=0, - c212=0, - c213=0, - c214=0, - c2141=0, - c2142=0, - c215=0, - c216=0, - c217=0, - c2171=0, - c2172=0, - c2173=0, - c2174=0, expected_c21=740.00647752036286, expected_c211=32.640000000000001, expected_c212=455.94302513968393, @@ -845,20 +788,6 @@ class Acc21Param(NamedTuple): lsa=2, csi=16, cland=19.199999999999999, - c21=740.00647752036286, - c211=32.640000000000001, - c212=455.94302513968393, - c213=31.919999999999998, - c214=142.28887143307821, - c2141=92.049817052244123, - c2142=50.239054380834098, - c215=12.431999999999999, - c216=16.471070358845893, - c217=48.311510588754764, - c2171=15.119999999999999, - c2172=17.640000000000001, - c2173=9.6599999999999984, - c2174=5.8915105887547687, expected_c21=745.10420837411039, expected_c211=32.640000000000001, expected_c212=456.46967079521778, @@ -919,34 +848,6 @@ def test_acc21(acc21param, monkeypatch, costs): monkeypatch.setattr(costs.data.costs, "cland", acc21param.cland) - monkeypatch.setattr(costs.data.costs, "c21", acc21param.c21) - - monkeypatch.setattr(costs.data.costs, "c211", acc21param.c211) - - monkeypatch.setattr(costs.data.costs, "c212", acc21param.c212) - - monkeypatch.setattr(costs.data.costs, "c213", acc21param.c213) - - monkeypatch.setattr(costs.data.costs, "c214", acc21param.c214) - - monkeypatch.setattr(costs.data.costs, "c2141", acc21param.c2141) - - monkeypatch.setattr(costs.data.costs, "c2142", acc21param.c2142) - - monkeypatch.setattr(costs.data.costs, "c215", acc21param.c215) - - monkeypatch.setattr(costs.data.costs, "c216", acc21param.c216) - - monkeypatch.setattr(costs.data.costs, "c217", acc21param.c217) - - monkeypatch.setattr(costs.data.costs, "c2171", acc21param.c2171) - - monkeypatch.setattr(costs.data.costs, "c2172", acc21param.c2172) - - monkeypatch.setattr(costs.data.costs, "c2173", acc21param.c2173) - - monkeypatch.setattr(costs.data.costs, "c2174", acc21param.c2174) - costs.acc21() assert costs.data.costs.c21 == pytest.approx(acc21param.expected_c21) @@ -985,8 +886,6 @@ class Acc2211Param(NamedTuple): fkind: Any = None - fwallcst: Any = None - ucblli2o: Any = None ifueltyp: Any = None @@ -1015,7 +914,6 @@ class Acc2211Param(NamedTuple): a_fw_total=1601.1595634509963, ucblss=90, fkind=1, - fwallcst=0, ucblli2o=600, ifueltyp=1, lsa=2, @@ -1044,7 +942,6 @@ class Acc2211Param(NamedTuple): a_fw_total=1891.2865102700493, ucblss=90, fkind=1, - fwallcst=143.19827300247195, ucblli2o=600, ifueltyp=1, lsa=2, @@ -1090,8 +987,6 @@ def test_acc2211(acc2211param, monkeypatch, costs): monkeypatch.setattr(costs.data.costs, "fkind", acc2211param.fkind) - monkeypatch.setattr(costs.data.costs, "fwallcst", acc2211param.fwallcst) - monkeypatch.setattr(costs.data.costs, "ucblli2o", acc2211param.ucblli2o) monkeypatch.setattr(costs.data.costs, "ifueltyp", acc2211param.ifueltyp) @@ -1128,8 +1023,6 @@ class Acc2212Param(NamedTuple): ucblli2o: Any = None - blkcst: Any = None - ucbllipb: Any = None ifueltyp: Any = None @@ -1170,12 +1063,6 @@ class Acc2212Param(NamedTuple): c2212: Any = None - c22121: Any = None - - c22122: Any = None - - c22123: Any = None - c22124: Any = None c22125: Any = None @@ -1205,7 +1092,6 @@ class Acc2212Param(NamedTuple): ucblli=875, ucblvd=280, ucblli2o=600, - blkcst=0, ucbllipb=10.300000000000001, ifueltyp=1, lsa=2, @@ -1239,9 +1125,6 @@ class Acc2212Param(NamedTuple): uccarb=50, c22=0, c2212=0, - c22121=0, - c22122=0, - c22123=0, c22124=0, c22125=0, c22126=0, @@ -1259,7 +1142,6 @@ class Acc2212Param(NamedTuple): ucblli=875, ucblvd=280, ucblli2o=600, - blkcst=868.59838754004318, ucbllipb=10.300000000000001, ifueltyp=1, lsa=2, @@ -1293,9 +1175,6 @@ class Acc2212Param(NamedTuple): uccarb=50, c22=3474.7391916096453, c2212=0, - c22121=231.02049851885039, - c22122=566.14962196586885, - c22123=71.428267055323843, c22124=0, c22125=0, c22126=0, @@ -1333,8 +1212,6 @@ def test_acc2212(acc2212param, monkeypatch, costs): monkeypatch.setattr(costs.data.costs, "ucblli2o", acc2212param.ucblli2o) - monkeypatch.setattr(costs.data.costs, "blkcst", acc2212param.blkcst) - monkeypatch.setattr(costs.data.costs, "ucbllipb", acc2212param.ucbllipb) monkeypatch.setattr(costs.data.costs, "ifueltyp", acc2212param.ifueltyp) @@ -1379,12 +1256,6 @@ def test_acc2212(acc2212param, monkeypatch, costs): monkeypatch.setattr(costs.data.costs, "c2212", acc2212param.c2212) - monkeypatch.setattr(costs.data.costs, "c22121", acc2212param.c22121) - - monkeypatch.setattr(costs.data.costs, "c22122", acc2212param.c22122) - - monkeypatch.setattr(costs.data.costs, "c22123", acc2212param.c22123) - monkeypatch.setattr(costs.data.costs, "c22124", acc2212param.c22124) monkeypatch.setattr(costs.data.costs, "c22125", acc2212param.c22125) @@ -1431,12 +1302,6 @@ class Acc2213Param(NamedTuple): c22: Any = None - c2213: Any = None - - c22131: Any = None - - c22132: Any = None - expected_c2213: Any = None expected_c22131: Any = None @@ -1473,9 +1338,6 @@ class Acc2213Param(NamedTuple): ife=0, ucconc=0.10000000000000001, c22=0, - c2213=0, - c22131=0, - c22132=0, expected_c2213=110.15394303108492, expected_c22131=55.076971515542461, expected_c22132=55.076971515542461, @@ -1506,9 +1368,6 @@ class Acc2213Param(NamedTuple): ife=0, ucconc=0.10000000000000001, c22=3474.7391916096453, - c2213=110.15394303108492, - c22131=55.076971515542461, - c22132=55.076971515542461, expected_c2213=110.29480288883934, expected_c22131=55.147401444419671, expected_c22132=55.147401444419671, @@ -1552,12 +1411,6 @@ def test_acc2213(acc2213param, monkeypatch, costs): monkeypatch.setattr(costs.data.costs, "c22", acc2213param.c22) - monkeypatch.setattr(costs.data.costs, "c2213", acc2213param.c2213) - - monkeypatch.setattr(costs.data.costs, "c22131", acc2213param.c22131) - - monkeypatch.setattr(costs.data.costs, "c22132", acc2213param.c22132) - costs.acc2213() assert costs.data.costs.c2213 == pytest.approx(acc2213param.expected_c2213) @@ -1576,8 +1429,6 @@ class Acc2214Param(NamedTuple): c22: Any = None - c2214: Any = None - expected_c2214: Any = None @@ -1589,7 +1440,6 @@ class Acc2214Param(NamedTuple): lsa=2, gsmass=1631228.030796848, c22=0, - c2214=0, expected_c2214=47.672639200037878, ), Acc2214Param( @@ -1597,7 +1447,6 @@ class Acc2214Param(NamedTuple): lsa=2, gsmass=1626877.8363395864, c22=3474.7391916096453, - c2214=47.672639200037878, expected_c2214=47.545504767024411, ), ], @@ -1623,8 +1472,6 @@ def test_acc2214(acc2214param, monkeypatch, costs): monkeypatch.setattr(costs.data.costs, "c22", acc2214param.c22) - monkeypatch.setattr(costs.data.costs, "c2214", acc2214param.c2214) - costs.acc2214() assert costs.data.costs.c2214 == pytest.approx(acc2214param.expected_c2214) @@ -1633,8 +1480,6 @@ def test_acc2214(acc2214param, monkeypatch, costs): class Acc2215Param(NamedTuple): ifueltyp: Any = None - divcst: Any = None - fkind: Any = None ucdiv: Any = None @@ -1655,7 +1500,6 @@ class Acc2215Param(NamedTuple): [ Acc2215Param( ifueltyp=1, - divcst=0, fkind=1, ucdiv=500000, a_div_surface_total=177.80928909705162, @@ -1666,7 +1510,6 @@ class Acc2215Param(NamedTuple): ), Acc2215Param( ifueltyp=1, - divcst=88.904644548525795, fkind=1, ucdiv=500000, a_div_surface_total=177.80928909705162, @@ -1692,8 +1535,6 @@ def test_acc2215(acc2215param, monkeypatch, costs): monkeypatch.setattr(costs.data.costs, "ifueltyp", acc2215param.ifueltyp) - monkeypatch.setattr(costs.data.costs, "divcst", acc2215param.divcst) - monkeypatch.setattr(costs.data.costs, "fkind", acc2215param.fkind) monkeypatch.setattr(costs.data.costs, "ucdiv", acc2215param.ucdiv) @@ -1772,10 +1613,6 @@ class Acc2221Param(NamedTuple): c2221: Any = None - c22211: Any = None - - c22212: Any = None - c22213: Any = None c22214: Any = None @@ -1823,8 +1660,6 @@ class Acc2221Param(NamedTuple): i_tf_sc_mat=5, c22=0, c2221=0, - c22211=0, - c22212=0, c22213=0, c22214=0, c22215=0, @@ -1864,8 +1699,6 @@ class Acc2221Param(NamedTuple): i_tf_sc_mat=5, c22=3474.7391916096453, c2221=1122.5144544988982, - c22211=127.79612438919186, - c22212=65.523989541865234, c22213=698.99887174799562, c22214=172.4182702723208, c22215=57.77719854752457, @@ -1905,8 +1738,6 @@ class Acc2221Param(NamedTuple): i_tf_sc_mat=5, c22=3474.7391916096453, c2221=1122.5144544988982, - c22211=127.79612438919186, - c22212=65.523989541865234, c22213=698.99887174799562, c22214=172.4182702723208, c22215=57.77719854752457, @@ -1996,10 +1827,6 @@ def test_acc2221(acc2221param, monkeypatch, costs): monkeypatch.setattr(costs.data.costs, "c2221", acc2221param.c2221) - monkeypatch.setattr(costs.data.costs, "c22211", acc2221param.c22211) - - monkeypatch.setattr(costs.data.costs, "c22212", acc2221param.c22212) - monkeypatch.setattr(costs.data.costs, "c22213", acc2221param.c22213) monkeypatch.setattr(costs.data.costs, "c22214", acc2221param.c22214) @@ -2074,16 +1901,6 @@ class Acc2222Param(NamedTuple): c22: Any = None - c2222: Any = None - - c22221: Any = None - - c22222: Any = None - - c22223: Any = None - - c22224: Any = None - expected_c2222: Any = None expected_c22221: Any = None @@ -2283,11 +2100,6 @@ class Acc2222Param(NamedTuple): order="F", ).transpose(), c22=0, - c2222=0, - c22221=0, - c22222=0, - c22223=0, - c22224=0, expected_c2222=626.57984594974835, expected_c22221=434.46640986938519, expected_c22222=69.02908267696219, @@ -2479,11 +2291,6 @@ class Acc2222Param(NamedTuple): order="F", ).transpose(), c22=3474.7391916096453, - c2222=626.57984594974835, - c22221=434.46640986938519, - c22222=69.02908267696219, - c22223=113.89491205126185, - c22224=9.1894413521392071, expected_c2222=634.503192513881, expected_c22221=448.04573758127646, expected_c22222=71.202561277966055, @@ -2675,11 +2482,6 @@ class Acc2222Param(NamedTuple): order="F", ).transpose(), c22=3474.7391916096453, - c2222=626.57984594974835, - c22221=434.46640986938519, - c22222=69.02908267696219, - c22223=113.89491205126185, - c22224=9.1894413521392071, expected_c2222=2271626.1414324627, expected_c22221=2271439.6839775303, expected_c22222=71.202561277966055, @@ -2785,16 +2587,6 @@ def test_acc2222(acc2222param, monkeypatch, costs): monkeypatch.setattr(costs.data.costs, "c22", acc2222param.c22) - monkeypatch.setattr(costs.data.costs, "c2222", acc2222param.c2222) - - monkeypatch.setattr(costs.data.costs, "c22221", acc2222param.c22221) - - monkeypatch.setattr(costs.data.costs, "c22222", acc2222param.c22222) - - monkeypatch.setattr(costs.data.costs, "c22223", acc2222param.c22223) - - monkeypatch.setattr(costs.data.costs, "c22224", acc2222param.c22224) - costs.acc2222() assert costs.data.costs.c2222 == pytest.approx(acc2222param.expected_c2222) @@ -2819,8 +2611,6 @@ class Acc2223Param(NamedTuple): c22: Any = None - c2223: Any = None - expected_c2223: Any = None @@ -2833,7 +2623,6 @@ class Acc2223Param(NamedTuple): fkind=1, m_vv=9043937.8018644415, c22=0, - c2223=0, expected_c2223=244.54807816241447, ), Acc2223Param( @@ -2842,7 +2631,6 @@ class Acc2223Param(NamedTuple): fkind=1, m_vv=9056931.558219457, c22=3474.7391916096453, - c2223=244.54807816241447, expected_c2223=244.89942933425411, ), ], @@ -2870,8 +2658,6 @@ def test_acc2223(acc2223param, monkeypatch, costs): monkeypatch.setattr(costs.data.costs, "c22", acc2223param.c22) - monkeypatch.setattr(costs.data.costs, "c2223", acc2223param.c2223) - costs.acc2223() assert costs.data.costs.c2223 == pytest.approx(acc2223param.expected_c2223) @@ -2890,8 +2676,6 @@ class Acc223Param(NamedTuple): ifueltyp: Any = None - cdcost: Any = None - fcdfuel: Any = None p_hcd_lowhyb_injected_total_mw: Any = None @@ -2928,10 +2712,6 @@ class Acc223Param(NamedTuple): c22: Any = None - c223: Any = None - - c2231: Any = None - c2232: Any = None c2233: Any = None @@ -2955,7 +2735,6 @@ class Acc223Param(NamedTuple): ucech=3, uclh=3.2999999999999998, ifueltyp=1, - cdcost=0, fcdfuel=0.10000000000000001, p_hcd_lowhyb_injected_total_mw=0, i_hcd_primary=10, @@ -2974,8 +2753,6 @@ class Acc223Param(NamedTuple): cdriv3=1.4630000000000001, cdriv0=154.30000000000001, c22=0, - c223=0, - c2231=0, c2232=0, c2233=0, c2234=0, @@ -2990,7 +2767,6 @@ class Acc223Param(NamedTuple): ucech=3, uclh=3.2999999999999998, ifueltyp=1, - cdcost=140.341808845157, fcdfuel=0.10000000000000001, p_hcd_lowhyb_injected_total_mw=0, i_hcd_primary=10, @@ -3009,8 +2785,6 @@ class Acc223Param(NamedTuple): cdriv3=1.4630000000000001, cdriv0=154.30000000000001, c22=3474.7391916096453, - c223=140.341808845157, - c2231=140.341808845157, c2232=0, c2233=0, c2234=0, @@ -3045,8 +2819,6 @@ def test_acc223(acc223param, monkeypatch, costs): monkeypatch.setattr(costs.data.costs, "ifueltyp", acc223param.ifueltyp) - monkeypatch.setattr(costs.data.costs, "cdcost", acc223param.cdcost) - monkeypatch.setattr(costs.data.costs, "fcdfuel", acc223param.fcdfuel) monkeypatch.setattr( @@ -3095,10 +2867,6 @@ def test_acc223(acc223param, monkeypatch, costs): monkeypatch.setattr(costs.data.costs, "c22", acc223param.c22) - monkeypatch.setattr(costs.data.costs, "c223", acc223param.c223) - - monkeypatch.setattr(costs.data.costs, "c2231", acc223param.c2231) - monkeypatch.setattr(costs.data.costs, "c2232", acc223param.c2232) monkeypatch.setattr(costs.data.costs, "c2233", acc223param.c2233) @@ -3131,20 +2899,8 @@ class Acc224Param(NamedTuple): c22: Any = None - c224: Any = None - - c2241: Any = None - - c2242: Any = None - - c2243: Any = None - - c2244: Any = None - c2245: Any = None - c2246: Any = None - expected_c224: Any = None expected_c2241: Any = None @@ -3170,13 +2926,7 @@ class Acc224Param(NamedTuple): i_vacuum_pump_type=1, n_vv_vacuum_ducts=16, c22=0, - c224=0, - c2241=0, - c2242=0, - c2243=0, - c2244=0, c2245=0, - c2246=0, expected_c224=34.593599813216727, expected_c2241=17.940000000000001, expected_c2242=4.6799999999999997, @@ -3193,13 +2943,7 @@ class Acc224Param(NamedTuple): i_vacuum_pump_type=1, n_vv_vacuum_ducts=16, c22=3474.7391916096453, - c224=34.593599813216727, - c2241=17.940000000000001, - c2242=4.6799999999999997, - c2243=3.3256586023918255, - c2244=7.3479412108249003, c2245=0, - c2246=1.3, expected_c224=34.591105904913036, expected_c2241=17.940000000000001, expected_c2242=4.6799999999999997, @@ -3262,20 +3006,8 @@ def test_acc224(acc224param, monkeypatch, costs): monkeypatch.setattr(costs.data.costs, "c22", acc224param.c22) - monkeypatch.setattr(costs.data.costs, "c224", acc224param.c224) - - monkeypatch.setattr(costs.data.costs, "c2241", acc224param.c2241) - - monkeypatch.setattr(costs.data.costs, "c2242", acc224param.c2242) - - monkeypatch.setattr(costs.data.costs, "c2243", acc224param.c2243) - - monkeypatch.setattr(costs.data.costs, "c2244", acc224param.c2244) - monkeypatch.setattr(costs.data.costs, "c2245", acc224param.c2245) - monkeypatch.setattr(costs.data.costs, "c2246", acc224param.c2246) - costs.acc224() assert costs.data.costs.c224 == pytest.approx(acc224param.expected_c224) @@ -3326,18 +3058,6 @@ class Acc2251Param(NamedTuple): c225: Any = None - c2251: Any = None - - c22511: Any = None - - c22512: Any = None - - c22513: Any = None - - c22514: Any = None - - c22515: Any = None - expected_c2251: Any = None expected_c22511: Any = None @@ -3372,12 +3092,6 @@ class Acc2251Param(NamedTuple): c_tf_turn=74026.751437500003, c22=0, c225=0, - c2251=0, - c22511=0, - c22512=0, - c22513=0, - c22514=0, - c22515=0, expected_c2251=98.457845594540643, expected_c22511=4.3480381629432125, expected_c22512=31.601916254373826, @@ -3403,12 +3117,6 @@ class Acc2251Param(NamedTuple): c_tf_turn=74026.751437500003, c22=3474.7391916096453, c225=185.05656643685359, - c2251=98.457845594540643, - c22511=4.3480381629432125, - c22512=31.601916254373826, - c22513=26.777101385200407, - c22514=4.7999999999999998, - c22515=30.930789792023205, expected_c2251=98.524335872804144, expected_c22511=4.3508966768725132, expected_c22512=31.630686371167478, @@ -3473,18 +3181,6 @@ def test_acc2251(acc2251param, monkeypatch, costs): monkeypatch.setattr(costs.data.costs, "c225", acc2251param.c225) - monkeypatch.setattr(costs.data.costs, "c2251", acc2251param.c2251) - - monkeypatch.setattr(costs.data.costs, "c22511", acc2251param.c22511) - - monkeypatch.setattr(costs.data.costs, "c22512", acc2251param.c22512) - - monkeypatch.setattr(costs.data.costs, "c22513", acc2251param.c22513) - - monkeypatch.setattr(costs.data.costs, "c22514", acc2251param.c22514) - - monkeypatch.setattr(costs.data.costs, "c22515", acc2251param.c22515) - costs.acc2251() assert costs.data.costs.c2251 == pytest.approx(acc2251param.expected_c2251) @@ -3537,14 +3233,6 @@ class Acc2252Param(NamedTuple): c2252: Any = None - c22521: Any = None - - c22522: Any = None - - c22523: Any = None - - c22524: Any = None - c22525: Any = None c22526: Any = None @@ -3582,10 +3270,6 @@ class Acc2252Param(NamedTuple): c22=0, c225=0, c2252=0, - c22521=0, - c22522=0, - c22523=0, - c22524=0, c22525=0, c22526=0, c22527=0, @@ -3613,10 +3297,6 @@ class Acc2252Param(NamedTuple): c22=3474.7391916096453, c225=185.05656643685359, c2252=65.813098499070378, - c22521=25.773671904486076, - c22522=3.5999999999999996, - c22523=13.203072590399998, - c22524=1.36406376579542, c22525=15.357861411125848, c22526=5.6144288272630343, c22527=0.89999999999999991, @@ -3676,14 +3356,6 @@ def test_acc2252(acc2252param, monkeypatch, costs): monkeypatch.setattr(costs.data.costs, "c2252", acc2252param.c2252) - monkeypatch.setattr(costs.data.costs, "c22521", acc2252param.c22521) - - monkeypatch.setattr(costs.data.costs, "c22522", acc2252param.c22522) - - monkeypatch.setattr(costs.data.costs, "c22523", acc2252param.c22523) - - monkeypatch.setattr(costs.data.costs, "c22524", acc2252param.c22524) - monkeypatch.setattr(costs.data.costs, "c22525", acc2252param.c22525) monkeypatch.setattr(costs.data.costs, "c22526", acc2252param.c22526) @@ -3722,8 +3394,6 @@ class Acc2253Param(NamedTuple): c225: Any = None - c2253: Any = None - expected_c2253: Any = None @@ -3741,7 +3411,6 @@ class Acc2253Param(NamedTuple): t_plant_pulse_no_burn=854.42613938735622, c22=0, c225=0, - c2253=0, expected_c2253=20.785622343242554, ), Acc2253Param( @@ -3755,7 +3424,6 @@ class Acc2253Param(NamedTuple): t_plant_pulse_no_burn=854.42613938735622, c22=3474.7391916096453, c225=185.05656643685359, - c2253=20.785622343242554, expected_c2253=17.809219633598371, ), ], @@ -3803,16 +3471,12 @@ def test_acc2253(acc2253param, monkeypatch, costs): monkeypatch.setattr(costs.data.costs, "c225", acc2253param.c225) - monkeypatch.setattr(costs.data.costs, "c2253", acc2253param.c2253) - costs.acc2253() assert costs.data.costs.c2253 == pytest.approx(acc2253param.expected_c2253) class Acc226Param(NamedTuple): - c226: Any = None - c2261: Any = None c2262: Any = None @@ -3828,7 +3492,6 @@ class Acc226Param(NamedTuple): "acc226param", [ Acc226Param( - c226=0, c2261=85.82488824875719, c2262=20.313088941037051, c2263=122.17123799205466, @@ -3836,7 +3499,6 @@ class Acc226Param(NamedTuple): expected_c226=228.30921518184891, ), Acc226Param( - c226=228.30921518184891, c2261=86.412964519098367, c2262=25.118525150548585, c2263=247.55533515524576, @@ -3858,8 +3520,6 @@ def test_acc226(acc226param, monkeypatch, costs): :type monkeypatch: _pytest.monkeypatch.monkeypatch """ - monkeypatch.setattr(costs.data.costs, "c226", acc226param.c226) - monkeypatch.setattr(costs.data.costs, "c2261", acc226param.c2261) monkeypatch.setattr(costs.data.costs, "c2262", acc226param.c2262) @@ -3894,14 +3554,8 @@ class Acc2261Param(NamedTuple): c226: Any = None - c2261: Any = None - c22: Any = None - chx: Any = None - - cpp: Any = None - expected_c2261: Any = None expected_chx: Any = None @@ -3926,10 +3580,7 @@ class Acc2261Param(NamedTuple): p_fw_div_heat_deposited_mw=0, n_primary_heat_exchangers=3, c226=0, - c2261=0, c22=0, - chx=0, - cpp=0, expected_c2261=85.82488824875719, expected_chx=57.169226428813381, expected_cpp=28.655661819943806, @@ -3948,10 +3599,7 @@ class Acc2261Param(NamedTuple): p_fw_div_heat_deposited_mw=0, n_primary_heat_exchangers=3, c226=228.30921518184891, - c2261=85.82488824875719, c22=3474.7391916096453, - chx=57.169226428813381, - cpp=28.655661819943806, expected_c2261=86.412964519098367, expected_chx=57.157016301470911, expected_cpp=29.255948217627452, @@ -4011,14 +3659,8 @@ def test_acc2261_rut(acc2261param, monkeypatch, costs): monkeypatch.setattr(costs.data.costs, "c226", acc2261param.c226) - monkeypatch.setattr(costs.data.costs, "c2261", acc2261param.c2261) - monkeypatch.setattr(costs.data.costs, "c22", acc2261param.c22) - monkeypatch.setattr(costs.data.costs, "chx", acc2261param.chx) - - monkeypatch.setattr(costs.data.costs, "cpp", acc2261param.cpp) - costs.acc2261() assert costs.data.costs.c2261 == pytest.approx(acc2261param.expected_c2261) @@ -4051,14 +3693,10 @@ class Acc2262Param(NamedTuple): c226: Any = None - c2262: Any = None - c22: Any = None cpp: Any = None - cppa: Any = None - expected_c2262: Any = None expected_cppa: Any = None @@ -4079,10 +3717,8 @@ class Acc2262Param(NamedTuple): fachtmw=61.882833632875375, p_cryo_plant_electric_mw=37.900388528497025, c226=0, - c2262=0, c22=0, cpp=28.655661819943806, - cppa=0, expected_c2262=20.313088941037051, expected_cppa=20.313088941037051, ), @@ -4098,10 +3734,8 @@ class Acc2262Param(NamedTuple): fachtmw=62.237143915360818, p_cryo_plant_electric_mw=108.74512702403499, c226=228.30921518184891, - c2262=20.313088941037051, c22=3474.7391916096453, cpp=29.255948217627452, - cppa=20.313088941037051, expected_c2262=25.118525150548585, expected_cppa=25.118525150548585, ), @@ -4154,14 +3788,10 @@ def test_acc2262_rut(acc2262param, monkeypatch, costs): monkeypatch.setattr(costs.data.costs, "c226", acc2262param.c226) - monkeypatch.setattr(costs.data.costs, "c2262", acc2262param.c2262) - monkeypatch.setattr(costs.data.costs, "c22", acc2262param.c22) monkeypatch.setattr(costs.data.costs, "cpp", acc2262param.cpp) - monkeypatch.setattr(costs.data.costs, "cppa", acc2262param.cppa) - costs.acc2262() assert costs.data.costs.c2262 == pytest.approx(acc2262param.expected_c2262) @@ -4182,8 +3812,6 @@ class Acc2263Param(NamedTuple): c226: Any = None - c2263: Any = None - c22: Any = None expected_c2263: Any = None @@ -4199,7 +3827,6 @@ class Acc2263Param(NamedTuple): helpow=76851.741036987034, temp_tf_cryo=4.5, c226=0, - c2263=0, c22=0, expected_c2263=122.17123799205466, ), @@ -4210,7 +3837,6 @@ class Acc2263Param(NamedTuple): helpow=220505.71684249729, temp_tf_cryo=4.5, c226=228.30921518184891, - c2263=122.17123799205466, c22=3474.7391916096453, expected_c2263=247.55533515524576, ), @@ -4241,8 +3867,6 @@ def test_acc2263_rut(acc2263param, monkeypatch, costs): monkeypatch.setattr(costs.data.costs, "c226", acc2263param.c226) - monkeypatch.setattr(costs.data.costs, "c2263", acc2263param.c2263) - monkeypatch.setattr(costs.data.costs, "c22", acc2263param.c22) costs.acc2263() @@ -4251,8 +3875,6 @@ def test_acc2263_rut(acc2263param, monkeypatch, costs): class Acc227Param(NamedTuple): - c227: Any = None - c2271: Any = None c2272: Any = None @@ -4270,7 +3892,6 @@ class Acc227Param(NamedTuple): "acc227param", [ Acc227Param( - c227=0, c2271=22.300000000000001, c2272=114.02873340990777, c2273=69.115208498727412, @@ -4279,7 +3900,6 @@ class Acc227Param(NamedTuple): expected_c227=284.96904049038437, ), Acc227Param( - c227=284.96904049038437, c2271=22.300000000000001, c2272=114.00948752346841, c2273=69.202425860597359, @@ -4302,8 +3922,6 @@ def test_acc227(acc227param, monkeypatch, costs): :type monkeypatch: _pytest.monkeypatch.monkeypatch """ - monkeypatch.setattr(costs.data.costs, "c227", acc227param.c227) - monkeypatch.setattr(costs.data.costs, "c2271", acc227param.c2271) monkeypatch.setattr(costs.data.costs, "c2272", acc227param.c2272) @@ -4326,8 +3944,6 @@ class Acc2271Param(NamedTuple): c227: Any = None - c2271: Any = None - c22: Any = None expected_c2271: Any = None @@ -4340,7 +3956,6 @@ class Acc2271Param(NamedTuple): ucf1=22300000, fkind=1, c227=0, - c2271=0, c22=0, expected_c2271=22.300000000000001, ), @@ -4348,7 +3963,6 @@ class Acc2271Param(NamedTuple): ucf1=22300000, fkind=1, c227=284.96904049038437, - c2271=22.300000000000001, c22=3474.7391916096453, expected_c2271=22.300000000000001, ), @@ -4373,8 +3987,6 @@ def test_acc2271_rut(acc2271param, monkeypatch, costs): monkeypatch.setattr(costs.data.costs, "c227", acc2271param.c227) - monkeypatch.setattr(costs.data.costs, "c2271", acc2271param.c2271) - monkeypatch.setattr(costs.data.costs, "c22", acc2271param.c22) costs.acc2271() @@ -4395,16 +4007,12 @@ class Acc2272Param(NamedTuple): edrive: Any = None - wtgpd: Any = None - rndfuel: Any = None m_fuel_amu: Any = None c227: Any = None - c2272: Any = None - c22: Any = None expected_wtgpd: Any = None @@ -4422,11 +4030,9 @@ class Acc2272Param(NamedTuple): ife=0, gain=0, edrive=5000000, - wtgpd=0, rndfuel=7.0799717510383796e20, m_fuel_amu=2.5, c227=0, - c2272=0, c22=0, expected_wtgpd=507.88376577416528, expected_c2272=114.02873340990777, @@ -4438,11 +4044,9 @@ class Acc2272Param(NamedTuple): ife=0, gain=0, edrive=5000000, - wtgpd=507.88376577416528, rndfuel=7.0777619721108953e20, m_fuel_amu=2.5, c227=284.96904049038437, - c2272=114.02873340990777, c22=3474.7391916096453, expected_wtgpd=507.72524666099866, expected_c2272=114.00948752346841, @@ -4474,16 +4078,12 @@ def test_acc2272_rut(acc2272param, monkeypatch, costs): monkeypatch.setattr(costs.data.ife, "edrive", acc2272param.edrive) - monkeypatch.setattr(costs.data.physics, "wtgpd", acc2272param.wtgpd) - monkeypatch.setattr(costs.data.physics, "rndfuel", acc2272param.rndfuel) monkeypatch.setattr(costs.data.physics, "m_fuel_amu", acc2272param.m_fuel_amu) monkeypatch.setattr(costs.data.costs, "c227", acc2272param.c227) - monkeypatch.setattr(costs.data.costs, "c2272", acc2272param.c2272) - monkeypatch.setattr(costs.data.costs, "c22", acc2272param.c22) costs.acc2272() @@ -4504,8 +4104,6 @@ class Acc2273Param(NamedTuple): c227: Any = None - c2273: Any = None - c22: Any = None expected_c2273: Any = None @@ -4520,7 +4118,6 @@ class Acc2273Param(NamedTuple): fkind=1, f_plasma_fuel_tritium=0.5, c227=0, - c2273=0, c22=0, expected_c2273=69.115208498727412, ), @@ -4530,7 +4127,6 @@ class Acc2273Param(NamedTuple): fkind=1, f_plasma_fuel_tritium=0.5, c227=284.96904049038437, - c2273=69.115208498727412, c22=3474.7391916096453, expected_c2273=69.202425860597359, ), @@ -4561,8 +4157,6 @@ def test_acc2273_rut(acc2273param, monkeypatch, costs): monkeypatch.setattr(costs.data.costs, "c227", acc2273param.c227) - monkeypatch.setattr(costs.data.costs, "c2273", acc2273param.c2273) - monkeypatch.setattr(costs.data.costs, "c22", acc2273param.c22) costs.acc2273() @@ -4579,8 +4173,6 @@ class Acc2274Param(NamedTuple): c227: Any = None - c2274: Any = None - c22: Any = None expected_c2274: Any = None @@ -4594,7 +4186,6 @@ class Acc2274Param(NamedTuple): volrci=1205439.8543893537, fkind=1, c227=0, - c2274=0, c22=0, expected_c2274=79.525098581749191, ), @@ -4603,7 +4194,6 @@ class Acc2274Param(NamedTuple): volrci=1206887.4047542624, fkind=1, c227=284.96904049038437, - c2274=79.525098581749191, c22=3474.7391916096453, expected_c2274=79.60537144364551, ), @@ -4630,8 +4220,6 @@ def test_acc2274_rut(acc2274param, monkeypatch, costs): monkeypatch.setattr(costs.data.costs, "c227", acc2274param.c227) - monkeypatch.setattr(costs.data.costs, "c2274", acc2274param.c2274) - monkeypatch.setattr(costs.data.costs, "c22", acc2274param.c22) costs.acc2274() @@ -4644,8 +4232,6 @@ class Acc228Param(NamedTuple): fkind: Any = None - c228: Any = None - c22: Any = None expected_c228: Any = None @@ -4657,14 +4243,12 @@ class Acc228Param(NamedTuple): Acc228Param( uciac=150000000, fkind=1, - c228=0, c22=0, expected_c228=150, ), Acc228Param( uciac=150000000, fkind=1, - c228=150, c22=3474.7391916096453, expected_c228=150, ), @@ -4687,8 +4271,6 @@ def test_acc228_rut(acc228param, monkeypatch, costs): monkeypatch.setattr(costs.data.costs, "fkind", acc228param.fkind) - monkeypatch.setattr(costs.data.costs, "c228", acc228param.c228) - monkeypatch.setattr(costs.data.costs, "c22", acc228param.c22) costs.acc228() @@ -4701,8 +4283,6 @@ class Acc229Param(NamedTuple): fkind: Any = None - c229: Any = None - c22: Any = None expected_c229: Any = None @@ -4714,14 +4294,12 @@ class Acc229Param(NamedTuple): Acc229Param( ucme=300000000, fkind=1, - c229=0, c22=0, expected_c229=300, ), Acc229Param( ucme=300000000, fkind=1, - c229=300, c22=3474.7391916096453, expected_c229=300, ), @@ -4744,8 +4322,6 @@ def test_acc229_rut(acc229param, monkeypatch, costs): monkeypatch.setattr(costs.data.costs, "fkind", acc229param.fkind) - monkeypatch.setattr(costs.data.costs, "c229", acc229param.c229) - monkeypatch.setattr(costs.data.costs, "c22", acc229param.c22) costs.acc229() @@ -4762,8 +4338,6 @@ class Acc23Param(NamedTuple): p_plant_electric_gross_mw: Any = None - c23: Any = None - expected_c23: Any = None @@ -4777,7 +4351,6 @@ class Acc23Param(NamedTuple): ireactor=1, i_blkt_coolant_type=CoolantType.HELIUM, p_plant_electric_gross_mw=982.58317918134742, - c23=0, expected_c23=194.83812507173698, ), Acc23Param( @@ -4787,7 +4360,6 @@ class Acc23Param(NamedTuple): ireactor=1, i_blkt_coolant_type=CoolantType.HELIUM, p_plant_electric_gross_mw=982.28339460484608, - c23=194.83812507173698, expected_c23=194.78878460447092, ), ], @@ -4819,16 +4391,12 @@ def test_acc23_rut(acc23param, monkeypatch, costs): acc23param.p_plant_electric_gross_mw, ) - monkeypatch.setattr(costs.data.costs, "c23", acc23param.c23) - costs.acc23() assert costs.data.costs.c23 == pytest.approx(acc23param.expected_c23) class Acc24Param(NamedTuple): - c24: Any = None - c241: Any = None c242: Any = None @@ -4846,7 +4414,6 @@ class Acc24Param(NamedTuple): "acc24param", [ Acc24Param( - c24=0, c241=14.443999999999999, c242=12.196675853540341, c243=10.979786178504369, @@ -4855,7 +4422,6 @@ class Acc24Param(NamedTuple): expected_c24=44.135962032044716, ), Acc24Param( - c24=44.135962032044716, c241=14.443999999999999, c242=7.2671621358073066, c243=6.4715020827802281, @@ -4878,8 +4444,6 @@ def test_acc24(acc24param, monkeypatch, costs): :type monkeypatch: _pytest.monkeypatch.monkeypatch """ - monkeypatch.setattr(costs.data.costs, "c24", acc24param.c24) - monkeypatch.setattr(costs.data.costs, "c241", acc24param.c241) monkeypatch.setattr(costs.data.costs, "c242", acc24param.c242) @@ -4900,8 +4464,6 @@ class Acc241Param(NamedTuple): c24: Any = None - c241: Any = None - expected_c241: Any = None @@ -4911,13 +4473,11 @@ class Acc241Param(NamedTuple): Acc241Param( lsa=2, c24=0, - c241=0, expected_c241=14.443999999999999, ), Acc241Param( lsa=2, c24=44.135962032044716, - c241=14.443999999999999, expected_c241=14.443999999999999, ), ], @@ -4939,8 +4499,6 @@ def test_acc241_rut(acc241param, monkeypatch, costs): monkeypatch.setattr(costs.data.costs, "c24", acc241param.c24) - monkeypatch.setattr(costs.data.costs, "c241", acc241param.c241) - costs.acc241() assert costs.data.costs.c241 == pytest.approx(acc241param.expected_c241) @@ -4955,8 +4513,6 @@ class Acc242Param(NamedTuple): c24: Any = None - c242: Any = None - cpp: Any = None expected_c242: Any = None @@ -4970,7 +4526,6 @@ class Acc242Param(NamedTuple): pacpmw=1226.1273281650574, p_plant_electric_base_total_mw=61.882833632875375, c24=0, - c242=0, cpp=28.655661819943806, expected_c242=12.196675853540341, ), @@ -4979,7 +4534,6 @@ class Acc242Param(NamedTuple): pacpmw=651.53859031110449, p_plant_electric_base_total_mw=62.237143915360818, c24=44.135962032044716, - c242=12.196675853540341, cpp=29.255948217627452, expected_c242=7.2671621358073075, ), @@ -5010,8 +4564,6 @@ def test_acc242_rut(acc242param, monkeypatch, costs): monkeypatch.setattr(costs.data.costs, "c24", acc242param.c24) - monkeypatch.setattr(costs.data.costs, "c242", acc242param.c242) - monkeypatch.setattr(costs.data.costs, "cpp", acc242param.cpp) costs.acc242() @@ -5026,8 +4578,6 @@ class Acc243Param(NamedTuple): c24: Any = None - c243: Any = None - expected_c243: Any = None @@ -5038,14 +4588,12 @@ class Acc243Param(NamedTuple): lsa=2, tlvpmw=699.34943812129745, c24=0, - c243=0, expected_c243=10.979786178504369, ), Acc243Param( lsa=2, tlvpmw=412.19758489046046, c24=44.135962032044716, - c243=10.979786178504369, expected_c243=6.471502082780229, ), ], @@ -5069,8 +4617,6 @@ def test_acc243_rut(acc243param, monkeypatch, costs): monkeypatch.setattr(costs.data.costs, "c24", acc243param.c24) - monkeypatch.setattr(costs.data.costs, "c243", acc243param.c243) - costs.acc243() assert costs.data.costs.c243 == pytest.approx(acc243param.expected_c243) @@ -5081,8 +4627,6 @@ class Acc244Param(NamedTuple): c24: Any = None - c244: Any = None - expected_c244: Any = None @@ -5092,13 +4636,11 @@ class Acc244Param(NamedTuple): Acc244Param( lsa=2, c24=0, - c244=0, expected_c244=5.3380000000000001, ), Acc244Param( lsa=2, c24=44.135962032044716, - c244=5.3380000000000001, expected_c244=5.3380000000000001, ), ], @@ -5120,8 +4662,6 @@ def test_acc244_rut(acc244param, monkeypatch, costs): monkeypatch.setattr(costs.data.costs, "c24", acc244param.c24) - monkeypatch.setattr(costs.data.costs, "c244", acc244param.c244) - costs.acc244() assert costs.data.costs.c244 == pytest.approx(acc244param.expected_c244) @@ -5143,13 +4683,11 @@ class Acc245Param(NamedTuple): Acc245Param( lsa=2, c24=0, - c245=0, expected_c245=1.1775, ), Acc245Param( lsa=2, c24=44.135962032044716, - c245=1.1775, expected_c245=1.1775, ), ], @@ -5171,8 +4709,6 @@ def test_acc245_rut(acc245param, monkeypatch, costs): monkeypatch.setattr(costs.data.costs, "c24", acc245param.c24) - monkeypatch.setattr(costs.data.costs, "c245", acc245param.c245) - costs.acc245() assert costs.data.costs.c245 == pytest.approx(acc245param.expected_c245) @@ -5183,8 +4719,6 @@ class Acc25Param(NamedTuple): lsa: Any = None - c25: Any = None - expected_c25: Any = None @@ -5194,13 +4728,6 @@ class Acc25Param(NamedTuple): Acc25Param( ucmisc=25000000, lsa=2, - c25=0, - expected_c25=22.125, - ), - Acc25Param( - ucmisc=25000000, - lsa=2, - c25=22.125, expected_c25=22.125, ), ], @@ -5222,8 +4749,6 @@ def test_acc25_rut(acc25param, monkeypatch, costs): monkeypatch.setattr(costs.data.costs, "lsa", acc25param.lsa) - monkeypatch.setattr(costs.data.costs, "c25", acc25param.c25) - costs.acc25() assert costs.data.costs.c25 == pytest.approx(acc25param.expected_c25) @@ -5246,8 +4771,6 @@ class Acc26Param(NamedTuple): tfcmw: Any = None - c26: Any = None - expected_c26: Any = None @@ -5263,7 +4786,6 @@ class Acc26Param(NamedTuple): p_plant_electric_gross_mw=982.58317918134742, p_fusion_total_mw=1985.785106643267, tfcmw=0, - c26=0, expected_c26=56.327648771765475, ), Acc26Param( @@ -5275,7 +4797,6 @@ class Acc26Param(NamedTuple): p_plant_electric_gross_mw=982.28339460484608, p_fusion_total_mw=1985.1653095257811, tfcmw=0, - c26=56.327648771765475, expected_c26=56.310463295064743, ), ], @@ -5325,8 +4846,6 @@ def test_acc26_rut(acc26param, monkeypatch, costs): monkeypatch.setattr(costs.data.tfcoil, "tfcmw", acc26param.tfcmw) - monkeypatch.setattr(costs.data.costs, "c26", acc26param.c26) - costs.acc26() assert costs.data.costs.c26 == pytest.approx(acc26param.expected_c26) @@ -5343,10 +4862,6 @@ class Acc9Param(NamedTuple): cfind: Any = None - cindrt: Any = None - - ccont: Any = None - expected_cindrt: Any = None expected_ccont: Any = None @@ -5372,8 +4887,6 @@ class Acc9Param(NamedTuple): ), order="F", ).transpose(), - cindrt=0, - ccont=0, expected_cindrt=1271.7275768445588, expected_ccont=870.58499727751723, ), @@ -5394,8 +4907,6 @@ class Acc9Param(NamedTuple): ), order="F", ).transpose(), - cindrt=1271.7275768445588, - ccont=870.58499727751723, expected_cindrt=1302.5413344371934, expected_ccont=891.67913375638113, ), @@ -5424,10 +4935,6 @@ def test_acc9_rut(acc9param, monkeypatch, costs): monkeypatch.setattr(costs.data.costs, "cfind", acc9param.cfind) - monkeypatch.setattr(costs.data.costs, "cindrt", acc9param.cindrt) - - monkeypatch.setattr(costs.data.costs, "ccont", acc9param.ccont) - costs.acc9() assert costs.data.costs.cindrt == pytest.approx(acc9param.expected_cindrt) @@ -5435,115 +4942,6 @@ def test_acc9_rut(acc9param, monkeypatch, costs): assert costs.data.costs.ccont == pytest.approx(acc9param.expected_ccont) -class Acc2253Param(NamedTuple): - ucblss: Any = None - - fkind: Any = None - - p_plant_primary_heat_mw: Any = None - - p_plant_electric_net_mw: Any = None - - i_pulsed_plant: Any = None - - dtstor: Any = None - - istore: Any = None - - t_plant_pulse_no_burn: Any = None - - c22: Any = None - - c225: Any = None - - c2253: Any = None - - expected_c2253: Any = None - - -@pytest.mark.parametrize( - "acc2253param", - [ - Acc2253Param( - ucblss=90, - fkind=1, - p_plant_primary_heat_mw=2620.2218111502593, - p_plant_electric_net_mw=493.01760776192009, - i_pulsed_plant=1, - dtstor=300, - istore=1, - t_plant_pulse_no_burn=854.42613938735622, - c22=0, - c225=0, - c2253=0, - expected_c2253=20.785622343242554, - ), - Acc2253Param( - ucblss=90, - fkind=1, - p_plant_primary_heat_mw=2619.4223856129224, - p_plant_electric_net_mw=422.4198205312706, - i_pulsed_plant=1, - dtstor=300, - istore=1, - t_plant_pulse_no_burn=854.42613938735622, - c22=3474.7391916096453, - c225=185.05656643685359, - c2253=20.785622343242554, - expected_c2253=17.809219633598371, - ), - ], -) -def test_acc2253_urt(acc2253param, monkeypatch, costs): - """ - Automatically generated Regression Unit Test for acc2253. - - This test was generated using data from tracking/baseline_2018/baseline_2018_IN.DAT. - - :param acc2253param: the data used to mock and assert in this test. - :type acc2253param: acc2253param - - :param monkeypatch: pytest fixture used to mock module/class variables - :type monkeypatch: _pytest.monkeypatch.monkeypatch - """ - - monkeypatch.setattr(costs.data.costs, "ucblss", acc2253param.ucblss) - - monkeypatch.setattr(costs.data.costs, "fkind", acc2253param.fkind) - - monkeypatch.setattr( - costs.data.heat_transport, - "p_plant_primary_heat_mw", - acc2253param.p_plant_primary_heat_mw, - ) - - monkeypatch.setattr( - costs.data.heat_transport, - "p_plant_electric_net_mw", - acc2253param.p_plant_electric_net_mw, - ) - - monkeypatch.setattr(costs.data.pulse, "i_pulsed_plant", acc2253param.i_pulsed_plant) - - monkeypatch.setattr(costs.data.pulse, "dtstor", acc2253param.dtstor) - - monkeypatch.setattr(costs.data.pulse, "istore", acc2253param.istore) - - monkeypatch.setattr( - costs.data.times, "t_plant_pulse_no_burn", acc2253param.t_plant_pulse_no_burn - ) - - monkeypatch.setattr(costs.data.costs, "c22", acc2253param.c22) - - monkeypatch.setattr(costs.data.costs, "c225", acc2253param.c225) - - monkeypatch.setattr(costs.data.costs, "c2253", acc2253param.c2253) - - costs.acc2253() - - assert costs.data.costs.c2253 == pytest.approx(acc2253param.expected_c2253) - - class CoelcParam(NamedTuple): fcdfuel: Any = None @@ -5555,14 +4953,6 @@ class CoelcParam(NamedTuple): cpstcst: Any = None - coeoam: Any = None - - coecap: Any = None - - output_costs: Any = None - - coe: Any = None - lsa: Any = None f_t_plant_available: Any = None @@ -5575,16 +4965,8 @@ class CoelcParam(NamedTuple): life_div: Any = None - coefuelt: Any = None - - moneyint: Any = None - - life_hcd_fpy: Any = None - cdrlife_cal: Any = None - capcost: Any = None - cplife: Any = None cplife_cal: Any = None @@ -5663,21 +5045,13 @@ class CoelcParam(NamedTuple): life_plant=40, ifueltyp=1, cpstcst=0, - coeoam=0, - coecap=0, - output_costs=0, - coe=0, lsa=2, f_t_plant_available=0.75000000000000011, divcst=88.904644548525795, ucfuel=3.4500000000000002, life_div_fpy=6.1337250397740126, life_div=6.1337250397740126, - coefuelt=0, - moneyint=0, - life_hcd_fpy=19.216116010620578, cdrlife_cal=19.216116010620578, - capcost=0, cplife=0, cplife_cal=0, fwallcst=143.19827300247195, @@ -5747,21 +5121,13 @@ class CoelcParam(NamedTuple): life_plant=40, ifueltyp=1, cpstcst=0, - coeoam=4.4099029328740929e20, - coecap=4.9891775218979061e21, - output_costs=0, - coe=6.9525339143363677e21, lsa=2, f_t_plant_available=0.75000000000000011, divcst=88.904644548525795, ucfuel=3.4500000000000002, life_div_fpy=6.145510750914414, life_div=6.145510750914414, - coefuelt=1.4801870771036603e21, - moneyint=1001.1727468691442, - life_hcd_fpy=19.222115557991025, cdrlife_cal=19.222115557991025, - capcost=7675.6577259967762, cplife=0, cplife_cal=0, fwallcst=167.7865317453867, @@ -5839,91 +5205,42 @@ def test_coelc(coelcparam, monkeypatch, costs): :param monkeypatch: pytest fixture used to mock module/class variables :type monkeypatch: _pytest.monkeypatch.monkeypatch """ - - monkeypatch.setattr(costs.data.costs, "fcdfuel", coelcparam.fcdfuel) - - monkeypatch.setattr(costs.data.costs, "uche3", coelcparam.uche3) - - monkeypatch.setattr(costs.data.costs, "life_plant", coelcparam.life_plant) - - monkeypatch.setattr(costs.data.costs, "ifueltyp", coelcparam.ifueltyp) - - monkeypatch.setattr(costs.data.costs, "cpstcst", coelcparam.cpstcst) - - monkeypatch.setattr(costs.data.costs, "coeoam", coelcparam.coeoam) - - monkeypatch.setattr(costs.data.costs, "coecap", coelcparam.coecap) - - monkeypatch.setattr(costs.data.costs, "output_costs", coelcparam.output_costs) - - monkeypatch.setattr(costs.data.costs, "coe", coelcparam.coe) - - monkeypatch.setattr(costs.data.costs, "lsa", coelcparam.lsa) - - monkeypatch.setattr( - costs.data.costs, "f_t_plant_available", coelcparam.f_t_plant_available - ) - - monkeypatch.setattr(costs.data.costs, "divcst", coelcparam.divcst) - - monkeypatch.setattr(costs.data.costs, "ucfuel", coelcparam.ucfuel) - - monkeypatch.setattr(costs.data.costs, "life_div_fpy", coelcparam.life_div_fpy) - - monkeypatch.setattr(costs.data.costs, "life_div", coelcparam.life_div) - - monkeypatch.setattr(costs.data.costs, "coefuelt", coelcparam.coefuelt) - - monkeypatch.setattr(costs.data.costs, "moneyint", coelcparam.moneyint) - - monkeypatch.setattr(costs.data.costs, "life_hcd_fpy", coelcparam.life_hcd_fpy) - - monkeypatch.setattr(costs.data.costs, "cdrlife_cal", coelcparam.cdrlife_cal) - - monkeypatch.setattr(costs.data.costs, "capcost", coelcparam.capcost) - - monkeypatch.setattr(costs.data.costs, "cplife", coelcparam.cplife) - - monkeypatch.setattr(costs.data.costs, "cplife_cal", coelcparam.cplife_cal) - - monkeypatch.setattr(costs.data.costs, "fwallcst", coelcparam.fwallcst) - - monkeypatch.setattr(costs.data.costs, "fcr0", coelcparam.fcr0) - - monkeypatch.setattr(costs.data.costs, "discount_rate", coelcparam.discount_rate) - - monkeypatch.setattr(costs.data.costs, "decomf", coelcparam.decomf) - - monkeypatch.setattr(costs.data.costs, "cdcost", coelcparam.cdcost) - - monkeypatch.setattr(costs.data.costs, "fcap0", coelcparam.fcap0) - - monkeypatch.setattr(costs.data.costs, "fcap0cp", coelcparam.fcap0cp) - - monkeypatch.setattr(costs.data.costs, "ucwst", coelcparam.ucwst) - - monkeypatch.setattr(costs.data.costs, "ucoam", coelcparam.ucoam) - - monkeypatch.setattr(costs.data.costs, "dtlife", coelcparam.dtlife) - - monkeypatch.setattr(costs.data.costs, "blkcst", coelcparam.blkcst) - - monkeypatch.setattr(costs.data.costs, "dintrt", coelcparam.dintrt) - - monkeypatch.setattr(costs.data.costs, "concost", coelcparam.concost) - - monkeypatch.setattr(costs.data.costs, "cfind", coelcparam.cfind) + for field in [ + "fcdfuel", + "uche3", + "life_plant", + "ifueltyp", + "cpstcst", + "lsa", + "f_t_plant_available", + "divcst", + "ucfuel", + "life_div_fpy", + "life_div", + "cdrlife_cal", + "cplife", + "cplife_cal", + "fwallcst", + "fcr0", + "discount_rate", + "decomf", + "cdcost", + "fcap0", + "fcap0cp", + "ucwst", + "ucoam", + "dtlife", + "blkcst", + "dintrt", + "concost", + "cfind", + ]: + monkeypatch.setattr(costs.data.costs, field, getattr(coelcparam, field)) monkeypatch.setattr(costs.data.fwbs, "life_blkt_fpy", coelcparam.life_blkt_fpy) monkeypatch.setattr(costs.data.fwbs, "life_blkt", coelcparam.life_blkt) - monkeypatch.setattr(costs.data.ife, "uctarg", coelcparam.uctarg) - - monkeypatch.setattr(costs.data.ife, "ife", coelcparam.ife) - - monkeypatch.setattr(costs.data.ife, "reprat", coelcparam.reprat) - monkeypatch.setattr( costs.data.heat_transport, "p_plant_electric_net_mw", diff --git a/tests/unit/models/test_dcll.py b/tests/unit/models/test_dcll.py index 08c0d1585..c1fd84dd8 100644 --- a/tests/unit/models/test_dcll.py +++ b/tests/unit/models/test_dcll.py @@ -26,36 +26,12 @@ class DcllNeutronicsAndPowerParam(NamedTuple): p_div_rad_total_mw: Any = None - p_div_nuclear_heat_total_mw: Any = None - f_a_fw_outboard_hcd: Any = None - p_fw_hcd_rad_total_mw: Any = None - - p_fw_hcd_nuclear_heat_mw: Any = None - - p_shld_nuclear_heat_mw: Any = None - - p_fw_rad_total_mw: Any = None - - p_fw_nuclear_heat_total_mw: Any = None - - psurffwi: Any = None - - psurffwo: Any = None - - p_blkt_nuclear_heat_total_mw: Any = None - pnuc_fw_ratio_dcll: Any = None - pnuc_blkt_ratio_dcll: Any = None - f_p_blkt_multiplication: Any = None - p_blkt_multiplication_mw: Any = None - - p_tf_nuclear_heat_mw: Any = None - n_divertors: Any = None p_neutron_total_mw: Any = None @@ -82,21 +58,9 @@ class DcllNeutronicsAndPowerParam(NamedTuple): p_beam_orbit_loss_mw=0, f_ster_div_single=0.115, p_div_rad_total_mw=33.056596978820579, - p_div_nuclear_heat_total_mw=182.58994516305046, f_a_fw_outboard_hcd=0, - p_fw_hcd_rad_total_mw=0, - p_fw_hcd_nuclear_heat_mw=0, - p_shld_nuclear_heat_mw=0, - p_fw_rad_total_mw=0, - p_fw_nuclear_heat_total_mw=0, - psurffwi=0, - psurffwo=0, - p_blkt_nuclear_heat_total_mw=0, pnuc_fw_ratio_dcll=0.14000000000000001, - pnuc_blkt_ratio_dcll=0.85999999999999999, f_p_blkt_multiplication=1.2689999999999999, - p_blkt_multiplication_mw=0, - p_tf_nuclear_heat_mw=0, n_divertors=1, p_neutron_total_mw=1587.7386535917431, p_plasma_rad_mw=287.44866938104849, @@ -112,21 +76,9 @@ class DcllNeutronicsAndPowerParam(NamedTuple): p_beam_orbit_loss_mw=0, f_ster_div_single=0.115, p_div_rad_total_mw=33.056596978820579, - p_div_nuclear_heat_total_mw=182.58994516305046, f_a_fw_outboard_hcd=0, - p_fw_hcd_rad_total_mw=0, - p_fw_hcd_nuclear_heat_mw=0, - p_shld_nuclear_heat_mw=0, - p_fw_rad_total_mw=254.39207240222791, - p_fw_nuclear_heat_total_mw=196.72081918001697, - psurffwi=97.271629070225231, - psurffwo=176.95628839065773, - p_blkt_nuclear_heat_total_mw=1533.4949914565693, pnuc_fw_ratio_dcll=0.14000000000000001, - pnuc_blkt_ratio_dcll=0.85999999999999999, f_p_blkt_multiplication=1.2689999999999999, - p_blkt_multiplication_mw=325.06710220789364, - p_tf_nuclear_heat_mw=0, n_divertors=1, p_neutron_total_mw=1587.2430556964196, p_plasma_rad_mw=287.44866938104849, @@ -165,119 +117,33 @@ def test_dcll_neutronics_and_power(dcllneutronicsandpowerparam, monkeypatch, dcl dcllneutronicsandpowerparam.p_beam_orbit_loss_mw, ) - monkeypatch.setattr( - dcll.data.fwbs, + for field in [ "f_ster_div_single", - dcllneutronicsandpowerparam.f_ster_div_single, - ) - - monkeypatch.setattr( - dcll.data.fwbs, "p_div_rad_total_mw", - dcllneutronicsandpowerparam.p_div_rad_total_mw, - ) - - monkeypatch.setattr( - dcll.data.fwbs, - "p_div_nuclear_heat_total_mw", - dcllneutronicsandpowerparam.p_div_nuclear_heat_total_mw, - ) - - monkeypatch.setattr( - dcll.data.fwbs, "f_a_fw_outboard_hcd", - dcllneutronicsandpowerparam.f_a_fw_outboard_hcd, - ) - - monkeypatch.setattr( - dcll.data.fwbs, - "p_fw_hcd_rad_total_mw", - dcllneutronicsandpowerparam.p_fw_hcd_rad_total_mw, - ) - - monkeypatch.setattr( - dcll.data.fwbs, - "p_fw_hcd_nuclear_heat_mw", - dcllneutronicsandpowerparam.p_fw_hcd_nuclear_heat_mw, - ) - - monkeypatch.setattr( - dcll.data.fwbs, - "p_shld_nuclear_heat_mw", - dcllneutronicsandpowerparam.p_shld_nuclear_heat_mw, - ) - - monkeypatch.setattr( - dcll.data.fwbs, - "p_fw_rad_total_mw", - dcllneutronicsandpowerparam.p_fw_rad_total_mw, - ) - - monkeypatch.setattr( - dcll.data.fwbs, - "p_fw_nuclear_heat_total_mw", - dcllneutronicsandpowerparam.p_fw_nuclear_heat_total_mw, - ) - - monkeypatch.setattr(dcll.data.fwbs, "psurffwi", dcllneutronicsandpowerparam.psurffwi) - - monkeypatch.setattr(dcll.data.fwbs, "psurffwo", dcllneutronicsandpowerparam.psurffwo) - - monkeypatch.setattr( - dcll.data.fwbs, - "p_blkt_nuclear_heat_total_mw", - dcllneutronicsandpowerparam.p_blkt_nuclear_heat_total_mw, - ) - - monkeypatch.setattr( - dcll.data.fwbs, "pnuc_fw_ratio_dcll", - dcllneutronicsandpowerparam.pnuc_fw_ratio_dcll, - ) - - monkeypatch.setattr( - dcll.data.fwbs, - "pnuc_blkt_ratio_dcll", - dcllneutronicsandpowerparam.pnuc_blkt_ratio_dcll, - ) - - monkeypatch.setattr( - dcll.data.fwbs, "f_p_blkt_multiplication", - dcllneutronicsandpowerparam.f_p_blkt_multiplication, - ) - - monkeypatch.setattr( - dcll.data.fwbs, - "p_blkt_multiplication_mw", - dcllneutronicsandpowerparam.p_blkt_multiplication_mw, - ) - - monkeypatch.setattr( - dcll.data.fwbs, - "p_tf_nuclear_heat_mw", - dcllneutronicsandpowerparam.p_tf_nuclear_heat_mw, - ) + ]: + monkeypatch.setattr( + dcll.data.fwbs, + field, + getattr(dcllneutronicsandpowerparam, field), + ) monkeypatch.setattr( dcll.data.divertor, "n_divertors", dcllneutronicsandpowerparam.n_divertors ) - monkeypatch.setattr( - dcll.data.physics, + for field in [ "p_neutron_total_mw", - dcllneutronicsandpowerparam.p_neutron_total_mw, - ) - - monkeypatch.setattr( - dcll.data.physics, "p_plasma_rad_mw", - dcllneutronicsandpowerparam.p_plasma_rad_mw, - ) - - monkeypatch.setattr( - dcll.data.physics, "p_fw_alpha_mw", dcllneutronicsandpowerparam.p_fw_alpha_mw - ) + "p_fw_alpha_mw", + ]: + monkeypatch.setattr( + dcll.data.physics, + field, + getattr(dcllneutronicsandpowerparam, field), + ) dcll.dcll_neutronics_and_power(False) @@ -311,14 +177,10 @@ class DcllMassesParam(NamedTuple): blbuith: Any = None - blbmith: Any = None - dr_blkt_outboard: Any = None blbuoth: Any = None - blbmoth: Any = None - a_plasma_surface: Any = None a_plasma_surface_outboard: Any = None @@ -331,20 +193,8 @@ class DcllMassesParam(NamedTuple): vol_blkt_outboard: Any = None - m_blkt_total: Any = None - - m_fw_total: Any = None - - fw_armour_vol: Any = None - fw_armour_thickness: Any = None - fw_armour_mass: Any = None - - vol_fw_total: Any = None - - armour_fw_bl_mass: Any = None - den_steel: Any = None den_liq: Any = None @@ -357,16 +207,8 @@ class DcllMassesParam(NamedTuple): nopol: Any = None - r_f_liq_ib: Any = None - r_f_liq_ob: Any = None - w_f_liq_ib: Any = None - - w_f_liq_ob: Any = None - - f_a_blkt_cooling_channels: Any = None - i_blkt_dual_coolant: Any = None den_fw_coolant: Any = None @@ -377,72 +219,6 @@ class DcllMassesParam(NamedTuple): n_blkt_outboard_modules_toroidal: Any = None - r_fci: Any = None - - r_backwall: Any = None - - bz_r_ib: Any = None - - bz_r_ob: Any = None - - f_vol_stff_plates: Any = None - - f_vol_stl_bz_struct: Any = None - - f_vol_stl_back_wall: Any = None - - f_vol_stl_fw: Any = None - - f_vol_mfbss_stl: Any = None - - f_vol_mfbss_he: Any = None - - f_vol_mfbss_pbli: Any = None - - vol_fci: Any = None - - vol_bz_struct: Any = None - - vol_bz_liq: Any = None - - vol_bz_liq_ib: Any = None - - vol_bz_liq_ob: Any = None - - vol_bw: Any = None - - vol_bss: Any = None - - wht_cer: Any = None - - wht_stl_struct: Any = None - - wht_cool_struct: Any = None - - wht_bw_stl: Any = None - - wht_bw_cool: Any = None - - wht_mfbss_stl: Any = None - - wht_mfbss_cool: Any = None - - wht_mfbss_pbli: Any = None - - fwmass_stl: Any = None - - fwmass_cool: Any = None - - mass_cool_blanket: Any = None - - mass_liq_blanket: Any = None - - mass_stl_blanket: Any = None - - mass_segm_ib: Any = None - - mass_segm_ob: Any = None - expected_blbmith: Any = None expected_blbmoth: Any = None @@ -544,72 +320,27 @@ class DcllMassesParam(NamedTuple): dr_fw_outboard=0.018000000000000002, dr_blkt_inboard=0.75500000000000012, blbuith=0.36499999999999999, - blbmith=0.17000000000000001, dr_blkt_outboard=0.98199999999999998, blbuoth=0.46500000000000002, - blbmoth=0.27000000000000002, a_plasma_surface=1403.2719775669307, a_plasma_surface_outboard=949.22962703393853, i_blkt_inboard=InboardBlanketConfiguration.INBOARD_BLANKET_PRESENT, vol_blkt_total=1397.9003011502937, vol_blkt_inboard=401.90579863726225, vol_blkt_outboard=995.99450251303142, - m_blkt_total=0, - m_fw_total=0, - fw_armour_vol=0, fw_armour_thickness=0.0050000000000000001, - fw_armour_mass=0, - vol_fw_total=0, - armour_fw_bl_mass=0, den_steel=7800, den_liq=9753.2497999999996, i_blkt_liquid_breeder_channel_type=1, den_ceramic=3210, th_wall_secondary=0.012500000000000001, nopol=2, - r_f_liq_ib=0.5, r_f_liq_ob=0.5, - w_f_liq_ib=0.5, - w_f_liq_ob=0.5, - f_a_blkt_cooling_channels=0.25, i_blkt_dual_coolant=2, den_fw_coolant=5.6389735407435868, den_blkt_coolant=5.6389735407435868, n_blkt_inboard_modules_toroidal=32, n_blkt_outboard_modules_toroidal=48, - r_fci=0, - r_backwall=0, - bz_r_ib=0, - bz_r_ob=0, - f_vol_stff_plates=0, - f_vol_stl_bz_struct=0, - f_vol_stl_back_wall=0, - f_vol_stl_fw=0, - f_vol_mfbss_stl=0, - f_vol_mfbss_he=0, - f_vol_mfbss_pbli=0, - vol_fci=0, - vol_bz_struct=0, - vol_bz_liq=0, - vol_bz_liq_ib=0, - vol_bz_liq_ob=0, - vol_bw=0, - vol_bss=0, - wht_cer=0, - wht_stl_struct=0, - wht_cool_struct=0, - wht_bw_stl=0, - wht_bw_cool=0, - wht_mfbss_stl=0, - wht_mfbss_cool=0, - wht_mfbss_pbli=0, - fwmass_stl=0, - fwmass_cool=0, - mass_cool_blanket=0, - mass_liq_blanket=0, - mass_stl_blanket=0, - mass_segm_ib=0, - mass_segm_ob=0, expected_blbmith=0.37000000000000011, expected_blbmoth=0.49699999999999994, expected_m_blkt_total=10654509.24412049, @@ -663,72 +394,27 @@ class DcllMassesParam(NamedTuple): dr_fw_outboard=0.018000000000000002, dr_blkt_inboard=0.75500000000000012, blbuith=0.36499999999999999, - blbmith=0.37000000000000011, dr_blkt_outboard=0.98199999999999998, blbuoth=0.46500000000000002, - blbmoth=0.49699999999999994, a_plasma_surface=1403.2719775669307, a_plasma_surface_outboard=949.22962703393853, i_blkt_inboard=InboardBlanketConfiguration.INBOARD_BLANKET_PRESENT, vol_blkt_total=1400.4860764869636, vol_blkt_inboard=402.02180553751157, vol_blkt_outboard=998.46427094945204, - m_blkt_total=10654509.24412049, - m_fw_total=193353.16636179245, - fw_armour_vol=7.0163598878346534, fw_armour_thickness=0.0050000000000000001, - fw_armour_mass=135064.92784081708, - vol_fw_total=28.820872142117942, - armour_fw_bl_mass=10982927.3383231, den_steel=7800, den_liq=9753.2497999999996, i_blkt_liquid_breeder_channel_type=1, den_ceramic=3210, th_wall_secondary=0.012500000000000001, nopol=2, - r_f_liq_ib=0.79000002145767212, r_f_liq_ob=0.5, - w_f_liq_ib=0.79000002145767212, - w_f_liq_ob=0.79000002145767212, - f_a_blkt_cooling_channels=0.082598954955828252, i_blkt_dual_coolant=2, den_fw_coolant=5.6389735407435868, den_blkt_coolant=5.6389735407435868, n_blkt_inboard_modules_toroidal=32, n_blkt_outboard_modules_toroidal=48, - r_fci=0.050000000000000003, - r_backwall=0.02, - bz_r_ib=0.315, - bz_r_ob=0.41500000000000004, - f_vol_stff_plates=0.9100000262260437, - f_vol_stl_bz_struct=0.52999997138977051, - f_vol_stl_back_wall=0.86000001430511475, - f_vol_stl_fw=0.86000001430511475, - f_vol_mfbss_stl=0.51289999485015869, - f_vol_mfbss_he=0.04349999874830246, - f_vol_mfbss_pbli=0.44359999895095825, - vol_fci=77.328829099899536, - vol_bz_struct=245.67041910375485, - vol_bz_liq=342.92630631451561, - vol_bz_liq_ib=132.46921948004106, - vol_bz_liq_ob=210.45708683447458, - vol_bw=30.931531639959815, - vol_bss=701.04321499216383, - wht_cer=248225.54141067751, - wht_stl_struct=1015601.4577511634, - wht_cool_struct=651.10466637722732, - wht_bw_stl=207488.71769218749, - wht_bw_cool=24.419089893808916, - wht_mfbss_stl=2804607.478601912, - wht_mfbss_cool=171.96263515308456, - wht_mfbss_pbli=3033092.6337963375, - fwmass_stl=193330.41354515703, - fwmass_cool=22.752816635408795, - mass_cool_blanket=870.23920805952946, - mass_liq_blanket=6377738.5622731261, - mass_stl_blanket=4221028.0675904201, - mass_segm_ib=99402.417142669714, - mass_segm_ob=162542.70811995145, expected_blbmith=0.37000000000000011, expected_blbmoth=0.49699999999999994, expected_m_blkt_total=10673841.813263938, @@ -789,222 +475,55 @@ def test_dcll_masses(dcllmassesparam, monkeypatch, dcll): :param monkeypatch: pytest fixture used to mock module/class variables :type monkeypatch: _pytest.monkeypatch.monkeypatch """ - - monkeypatch.setattr( - dcll.data.first_wall, "a_fw_inboard", dcllmassesparam.a_fw_inboard - ) - - monkeypatch.setattr(dcll.data.build, "dr_fw_inboard", dcllmassesparam.dr_fw_inboard) - - monkeypatch.setattr( - dcll.data.first_wall, "a_fw_outboard", dcllmassesparam.a_fw_outboard - ) - - monkeypatch.setattr( - dcll.data.build, "dr_fw_outboard", dcllmassesparam.dr_fw_outboard - ) - - monkeypatch.setattr( - dcll.data.build, "dr_blkt_inboard", dcllmassesparam.dr_blkt_inboard - ) - - monkeypatch.setattr(dcll.data.build, "blbuith", dcllmassesparam.blbuith) - - monkeypatch.setattr(dcll.data.build, "blbmith", dcllmassesparam.blbmith) - - monkeypatch.setattr( - dcll.data.build, "dr_blkt_outboard", dcllmassesparam.dr_blkt_outboard - ) - - monkeypatch.setattr(dcll.data.build, "blbuoth", dcllmassesparam.blbuoth) - - monkeypatch.setattr(dcll.data.build, "blbmoth", dcllmassesparam.blbmoth) - - monkeypatch.setattr( - dcll.data.physics, "a_plasma_surface", dcllmassesparam.a_plasma_surface - ) - - monkeypatch.setattr( - dcll.data.physics, + for field in [ + "a_fw_inboard", + "a_fw_outboard", + ]: + monkeypatch.setattr(dcll.data.first_wall, field, getattr(dcllmassesparam, field)) + + for field in [ + "dr_fw_inboard", + "dr_fw_outboard", + "dr_blkt_inboard", + "blbuith", + "dr_blkt_outboard", + "blbuoth", + "i_blkt_inboard", + ]: + monkeypatch.setattr(dcll.data.build, field, getattr(dcllmassesparam, field)) + + for field in [ + "a_plasma_surface", "a_plasma_surface_outboard", - dcllmassesparam.a_plasma_surface_outboard, - ) - - monkeypatch.setattr( - dcll.data.build, "i_blkt_inboard", dcllmassesparam.i_blkt_inboard - ) - - monkeypatch.setattr(dcll.data.fwbs, "vol_blkt_total", dcllmassesparam.vol_blkt_total) - - monkeypatch.setattr( - dcll.data.fwbs, "vol_blkt_inboard", dcllmassesparam.vol_blkt_inboard - ) - - monkeypatch.setattr( - dcll.data.fwbs, "vol_blkt_outboard", dcllmassesparam.vol_blkt_outboard - ) - - monkeypatch.setattr(dcll.data.fwbs, "m_blkt_total", dcllmassesparam.m_blkt_total) - - monkeypatch.setattr(dcll.data.fwbs, "m_fw_total", dcllmassesparam.m_fw_total) - - monkeypatch.setattr(dcll.data.fwbs, "fw_armour_vol", dcllmassesparam.fw_armour_vol) - - monkeypatch.setattr( - dcll.data.fwbs, "fw_armour_thickness", dcllmassesparam.fw_armour_thickness - ) - - monkeypatch.setattr(dcll.data.fwbs, "fw_armour_mass", dcllmassesparam.fw_armour_mass) - - monkeypatch.setattr(dcll.data.fwbs, "vol_fw_total", dcllmassesparam.vol_fw_total) - - monkeypatch.setattr( - dcll.data.fwbs, "armour_fw_bl_mass", dcllmassesparam.armour_fw_bl_mass - ) - - monkeypatch.setattr(dcll.data.fwbs, "den_steel", dcllmassesparam.den_steel) - - monkeypatch.setattr(dcll.data.fwbs, "den_liq", dcllmassesparam.den_liq) - - monkeypatch.setattr( - dcll.data.fwbs, + ]: + monkeypatch.setattr(dcll.data.physics, field, getattr(dcllmassesparam, field)) + + for field in [ + "vol_blkt_total", + "vol_blkt_inboard", + "vol_blkt_outboard", + "fw_armour_thickness", + "den_steel", + "den_liq", "i_blkt_liquid_breeder_channel_type", - dcllmassesparam.i_blkt_liquid_breeder_channel_type, - ) - - monkeypatch.setattr(dcll.data.fwbs, "den_ceramic", dcllmassesparam.den_ceramic) - - monkeypatch.setattr( - dcll.data.fwbs, "th_wall_secondary", dcllmassesparam.th_wall_secondary - ) - - monkeypatch.setattr(dcll.data.fwbs, "nopol", dcllmassesparam.nopol) - - monkeypatch.setattr(dcll.data.fwbs, "r_f_liq_ib", dcllmassesparam.r_f_liq_ib) - - monkeypatch.setattr(dcll.data.fwbs, "r_f_liq_ob", dcllmassesparam.r_f_liq_ob) - - monkeypatch.setattr(dcll.data.fwbs, "w_f_liq_ib", dcllmassesparam.w_f_liq_ib) - - monkeypatch.setattr(dcll.data.fwbs, "w_f_liq_ob", dcllmassesparam.w_f_liq_ob) - - monkeypatch.setattr( - dcll.data.fwbs, - "f_a_blkt_cooling_channels", - dcllmassesparam.f_a_blkt_cooling_channels, - ) - - monkeypatch.setattr( - dcll.data.fwbs, "i_blkt_dual_coolant", dcllmassesparam.i_blkt_dual_coolant - ) - - monkeypatch.setattr(dcll.data.fwbs, "den_fw_coolant", dcllmassesparam.den_fw_coolant) - - monkeypatch.setattr( - dcll.data.fwbs, "den_blkt_coolant", dcllmassesparam.den_blkt_coolant - ) - - monkeypatch.setattr( - dcll.data.fwbs, + "den_ceramic", + "th_wall_secondary", + "nopol", + "r_f_liq_ob", + "i_blkt_dual_coolant", + "den_fw_coolant", + "den_blkt_coolant", "n_blkt_inboard_modules_toroidal", - dcllmassesparam.n_blkt_inboard_modules_toroidal, - ) - - monkeypatch.setattr( - dcll.data.fwbs, "n_blkt_outboard_modules_toroidal", - dcllmassesparam.n_blkt_outboard_modules_toroidal, - ) - - monkeypatch.setattr(dcll.data.dcll, "r_fci", dcllmassesparam.r_fci) - - monkeypatch.setattr(dcll.data.dcll, "r_backwall", dcllmassesparam.r_backwall) - - monkeypatch.setattr(dcll.data.dcll, "bz_r_ib", dcllmassesparam.bz_r_ib) - - monkeypatch.setattr(dcll.data.dcll, "bz_r_ob", dcllmassesparam.bz_r_ob) - - monkeypatch.setattr( - dcll.data.dcll, "f_vol_stff_plates", dcllmassesparam.f_vol_stff_plates - ) - - monkeypatch.setattr( - dcll.data.dcll, "f_vol_stl_bz_struct", dcllmassesparam.f_vol_stl_bz_struct - ) - - monkeypatch.setattr( - dcll.data.dcll, "f_vol_stl_back_wall", dcllmassesparam.f_vol_stl_back_wall - ) - - monkeypatch.setattr(dcll.data.dcll, "f_vol_stl_fw", dcllmassesparam.f_vol_stl_fw) - - monkeypatch.setattr( - dcll.data.dcll, "f_vol_mfbss_stl", dcllmassesparam.f_vol_mfbss_stl - ) - - monkeypatch.setattr(dcll.data.dcll, "f_vol_mfbss_he", dcllmassesparam.f_vol_mfbss_he) - - monkeypatch.setattr( - dcll.data.dcll, "f_vol_mfbss_pbli", dcllmassesparam.f_vol_mfbss_pbli - ) - - monkeypatch.setattr(dcll.data.dcll, "vol_fci", dcllmassesparam.vol_fci) - - monkeypatch.setattr(dcll.data.dcll, "vol_bz_struct", dcllmassesparam.vol_bz_struct) - - monkeypatch.setattr(dcll.data.dcll, "vol_bz_liq", dcllmassesparam.vol_bz_liq) - - monkeypatch.setattr(dcll.data.dcll, "vol_bz_liq_ib", dcllmassesparam.vol_bz_liq_ib) - - monkeypatch.setattr(dcll.data.dcll, "vol_bz_liq_ob", dcllmassesparam.vol_bz_liq_ob) - - monkeypatch.setattr(dcll.data.dcll, "vol_bw", dcllmassesparam.vol_bw) - - monkeypatch.setattr(dcll.data.dcll, "vol_bss", dcllmassesparam.vol_bss) - - monkeypatch.setattr(dcll.data.dcll, "wht_cer", dcllmassesparam.wht_cer) - - monkeypatch.setattr(dcll.data.dcll, "wht_stl_struct", dcllmassesparam.wht_stl_struct) - - monkeypatch.setattr( - dcll.data.dcll, "wht_cool_struct", dcllmassesparam.wht_cool_struct - ) - - monkeypatch.setattr(dcll.data.dcll, "wht_bw_stl", dcllmassesparam.wht_bw_stl) - - monkeypatch.setattr(dcll.data.dcll, "wht_bw_cool", dcllmassesparam.wht_bw_cool) - - monkeypatch.setattr(dcll.data.dcll, "wht_mfbss_stl", dcllmassesparam.wht_mfbss_stl) - - monkeypatch.setattr(dcll.data.dcll, "wht_mfbss_cool", dcllmassesparam.wht_mfbss_cool) - - monkeypatch.setattr(dcll.data.dcll, "wht_mfbss_pbli", dcllmassesparam.wht_mfbss_pbli) - - monkeypatch.setattr(dcll.data.dcll, "fwmass_stl", dcllmassesparam.fwmass_stl) - - monkeypatch.setattr(dcll.data.dcll, "fwmass_cool", dcllmassesparam.fwmass_cool) - - monkeypatch.setattr( - dcll.data.dcll, "mass_cool_blanket", dcllmassesparam.mass_cool_blanket - ) - - monkeypatch.setattr( - dcll.data.dcll, "mass_liq_blanket", dcllmassesparam.mass_liq_blanket - ) - - monkeypatch.setattr( - dcll.data.dcll, "mass_stl_blanket", dcllmassesparam.mass_stl_blanket - ) - - monkeypatch.setattr(dcll.data.dcll, "mass_segm_ib", dcllmassesparam.mass_segm_ib) - - monkeypatch.setattr(dcll.data.dcll, "mass_segm_ob", dcllmassesparam.mass_segm_ob) - - dcll.dcll_masses(False) + ]: + monkeypatch.setattr(dcll.data.fwbs, field, getattr(dcllmassesparam, field)) - assert dcll.data.build.blbmith == pytest.approx(dcllmassesparam.expected_blbmith) + dcll.dcll_masses(output=False) - assert dcll.data.build.blbmoth == pytest.approx(dcllmassesparam.expected_blbmoth) + for field in ["blbmith", "blbmoth"]: + assert getattr(dcll.data.build, field) == pytest.approx( + getattr(dcllmassesparam, f"expected_{field}") + ) assert dcll.data.fwbs.m_blkt_total == pytest.approx( dcllmassesparam.expected_m_blkt_total diff --git a/tests/unit/models/test_power.py b/tests/unit/models/test_power.py index 79194c01b..43ad6e5ea 100644 --- a/tests/unit/models/test_power.py +++ b/tests/unit/models/test_power.py @@ -19,14 +19,6 @@ class CryoParam(NamedTuple): inuclear: Any = None - qss: Any = None - - qac: Any = None - - qcl: Any = None - - qmisc: Any = None - i_tf_sup: Any = None coldmass: Any = None @@ -60,10 +52,6 @@ class CryoParam(NamedTuple): CryoParam( qnuc=12920, inuclear=1, - qss=0, - qac=0, - qcl=0, - qmisc=0, i_tf_sup=1, coldmass=47352637.039762333, c_tf_turn=74026.751437500003, @@ -81,10 +69,6 @@ class CryoParam(NamedTuple): CryoParam( qnuc=12920, inuclear=1, - qss=20361.633927097802, - qac=3611.3456752656607, - qcl=16108.2211128, - qmisc=23850.540321823562, i_tf_sup=1, coldmass=47308985.527808741, c_tf_turn=74026.751437500003, @@ -118,14 +102,6 @@ def test_cryo(cryoparam, monkeypatch, power): monkeypatch.setattr(power.data.fwbs, "inuclear", cryoparam.inuclear) - monkeypatch.setattr(power.data.power, "qss", cryoparam.qss) - - monkeypatch.setattr(power.data.power, "qac", cryoparam.qac) - - monkeypatch.setattr(power.data.power, "qcl", cryoparam.qcl) - - monkeypatch.setattr(power.data.power, "qmisc", cryoparam.qmisc) - helpow = power.cryo( i_tf_sup=cryoparam.i_tf_sup, coldmass=cryoparam.coldmass, @@ -151,34 +127,12 @@ def test_cryo(cryoparam, monkeypatch, power): class PfpwrParam(NamedTuple): iohcl: Any = None - peakmva: Any = None - - pfckts: Any = None - - maxpoloidalpower: Any = None - - peakpoloidalpower: Any = None - - spfbusl: Any = None - poloidalpower: Any = None - spsmva: Any = None - - vpfskv: Any = None - - ensxpfm: Any = None - - acptmax: Any = None - - srcktpm: Any = None - n_pf_coil_groups: Any = None c_pf_coil_turn: Any = None - p_pf_electric_supplies_mw: Any = None - rho_pf_coil: Any = None n_pf_cs_plasma_circuits: Any = None @@ -219,10 +173,6 @@ class PfpwrParam(NamedTuple): t_plant_pulse_plasma_current_ramp_up: Any = None - outfile: Any = None - - iprint: Any = None - expected_peakmva: Any = None expected_pfckts: Any = None @@ -249,46 +199,11 @@ class PfpwrParam(NamedTuple): [ PfpwrParam( iohcl=1, - peakmva=0, - pfckts=0, - maxpoloidalpower=1000, - peakpoloidalpower=0, - spfbusl=0, - poloidalpower=np.array( - np.array((0, 0, 0, 0, 0), order="F"), order="F" - ).transpose(), - spsmva=0, - vpfskv=0, - ensxpfm=0, - acptmax=0, - srcktpm=0, + poloidalpower=np.zeros(5), n_pf_coil_groups=4, c_pf_coil_turn=np.array( ( - ( - 0, - 0, - -0, - -0, - -0, - -0, - -0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - ), + np.zeros(22), ( 42200, 42200, @@ -385,34 +300,10 @@ class PfpwrParam(NamedTuple): 0, 0, ), - ( - 0, - 0, - -0, - -0, - -0, - -0, - -0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - ), + np.zeros(22), ), order="F", ).transpose(), - p_pf_electric_supplies_mw=0, rho_pf_coil=0, n_pf_cs_plasma_circuits=8, n_pf_coils_in_group=np.array( @@ -703,20 +594,7 @@ class PfpwrParam(NamedTuple): 0, 0, ), - (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), - (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), - (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), - (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), - (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), - (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), - (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), - (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), - (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), - (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), - (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), - (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), - (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), - (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), + *np.zeros((14, 22)), ), order="F", ).transpose(), @@ -750,36 +628,7 @@ class PfpwrParam(NamedTuple): ), order="F", ).transpose(), - f_a_pf_coil_void=np.array( - np.array( - ( - 0.29999999999999999, - 0.29999999999999999, - 0.29999999999999999, - 0.29999999999999999, - 0.29999999999999999, - 0.29999999999999999, - 0.29999999999999999, - 0.29999999999999999, - 0.29999999999999999, - 0.29999999999999999, - 0.29999999999999999, - 0.29999999999999999, - 0.29999999999999999, - 0.29999999999999999, - 0.29999999999999999, - 0.29999999999999999, - 0.29999999999999999, - 0.29999999999999999, - 0.29999999999999999, - 0.29999999999999999, - 0.29999999999999999, - 0.29999999999999999, - ), - order="F", - ), - order="F", - ).transpose(), + f_a_pf_coil_void=np.full(22, 0.29999999999999999), j_pf_coil_wp_peak=np.array( np.array( ( @@ -967,8 +816,6 @@ class PfpwrParam(NamedTuple): "EOP ", ), t_plant_pulse_plasma_current_ramp_up=177.21306969367816, - outfile=11, - iprint=0, expected_peakmva=736.39062584245937, expected_pfckts=12, expected_peakpoloidalpower=211.21199231967319, @@ -988,11 +835,6 @@ class PfpwrParam(NamedTuple): ), PfpwrParam( iohcl=1, - peakmva=736.39062584245937, - pfckts=12, - maxpoloidalpower=1000, - peakpoloidalpower=211.21199231967319, - spfbusl=2533.4495999999999, poloidalpower=np.array( np.array( (59332953.082890816, 43806300.444207191, 0, 0, -211211992.31967318), @@ -1000,38 +842,10 @@ class PfpwrParam(NamedTuple): ), order="F", ).transpose(), - spsmva=845.66824574150155, - vpfskv=20, - ensxpfm=37429.525515086898, - acptmax=24.816666666666666, - srcktpm=1071.1112934857531, n_pf_coil_groups=4, c_pf_coil_turn=np.array( ( - ( - 0, - 0, - -0, - -0, - -0, - -0, - -0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - ), + np.zeros(22), ( 33663.946773824558, 38185.429487079651, @@ -1128,34 +942,10 @@ class PfpwrParam(NamedTuple): 0, 0, ), - ( - 0, - 0, - -0, - -0, - -0, - -0, - -0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - ), + np.zeros(22), ), order="F", ).transpose(), - p_pf_electric_supplies_mw=0.89998039031509891, rho_pf_coil=0, n_pf_cs_plasma_circuits=8, n_pf_coils_in_group=np.array( @@ -1446,20 +1236,7 @@ class PfpwrParam(NamedTuple): 0, 0, ), - (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), - (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), - (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), - (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), - (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), - (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), - (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), - (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), - (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), - (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), - (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), - (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), - (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), - (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), + *np.zeros((14, 22)), ), order="F", ).transpose(), @@ -1493,36 +1270,7 @@ class PfpwrParam(NamedTuple): ), order="F", ).transpose(), - f_a_pf_coil_void=np.array( - np.array( - ( - 0.29999999999999999, - 0.29999999999999999, - 0.29999999999999999, - 0.29999999999999999, - 0.29999999999999999, - 0.29999999999999999, - 0.29999999999999999, - 0.29999999999999999, - 0.29999999999999999, - 0.29999999999999999, - 0.29999999999999999, - 0.29999999999999999, - 0.29999999999999999, - 0.29999999999999999, - 0.29999999999999999, - 0.29999999999999999, - 0.29999999999999999, - 0.29999999999999999, - 0.29999999999999999, - 0.29999999999999999, - 0.29999999999999999, - 0.29999999999999999, - ), - order="F", - ), - order="F", - ).transpose(), + f_a_pf_coil_void=np.full(22, 0.29999999999999999), j_pf_coil_wp_peak=np.array( np.array( ( @@ -1710,8 +1458,6 @@ class PfpwrParam(NamedTuple): "EOP ", ), t_plant_pulse_plasma_current_ramp_up=177.21306969367816, - outfile=11, - iprint=0, expected_peakmva=90.673341440806112, expected_pfckts=12, expected_peakpoloidalpower=9900, @@ -1752,91 +1498,25 @@ def test_pfpwr(pfpwrparam, monkeypatch, power): monkeypatch.setattr(power.data.build, "iohcl", pfpwrparam.iohcl) - monkeypatch.setattr(power.data.heat_transport, "peakmva", pfpwrparam.peakmva) - - monkeypatch.setattr(power.data.pf_power, "pfckts", pfpwrparam.pfckts) - - monkeypatch.setattr( - power.data.pf_power, "maxpoloidalpower", pfpwrparam.maxpoloidalpower - ) - - monkeypatch.setattr( - power.data.pf_power, "peakpoloidalpower", pfpwrparam.peakpoloidalpower - ) - - monkeypatch.setattr(power.data.pf_power, "spfbusl", pfpwrparam.spfbusl) - monkeypatch.setattr(power.data.pf_power, "poloidalpower", pfpwrparam.poloidalpower) - monkeypatch.setattr(power.data.pf_power, "spsmva", pfpwrparam.spsmva) - - monkeypatch.setattr(power.data.pf_power, "vpfskv", pfpwrparam.vpfskv) - - monkeypatch.setattr(power.data.pf_power, "ensxpfm", pfpwrparam.ensxpfm) - - monkeypatch.setattr(power.data.pf_power, "acptmax", pfpwrparam.acptmax) - - monkeypatch.setattr(power.data.pf_power, "srcktpm", pfpwrparam.srcktpm) - - monkeypatch.setattr( - power.data.pf_coil, "n_pf_coil_groups", pfpwrparam.n_pf_coil_groups - ) - - monkeypatch.setattr(power.data.pf_coil, "c_pf_coil_turn", pfpwrparam.c_pf_coil_turn) - - monkeypatch.setattr( - power.data.pf_coil, - "p_pf_electric_supplies_mw", - pfpwrparam.p_pf_electric_supplies_mw, - ) - - monkeypatch.setattr(power.data.pf_coil, "rho_pf_coil", pfpwrparam.rho_pf_coil) - - monkeypatch.setattr( - power.data.pf_coil, "n_pf_cs_plasma_circuits", pfpwrparam.n_pf_cs_plasma_circuits - ) - - monkeypatch.setattr( - power.data.pf_coil, "n_pf_coils_in_group", pfpwrparam.n_pf_coils_in_group - ) - - monkeypatch.setattr( - power.data.pf_coil, "c_pf_cs_coils_peak_ma", pfpwrparam.c_pf_cs_coils_peak_ma - ) - - monkeypatch.setattr(power.data.pf_coil, "etapsu", pfpwrparam.etapsu) - - monkeypatch.setattr( - power.data.pf_coil, + for field in [ + "n_pf_coil_groups", + "c_pf_coil_turn", + "rho_pf_coil", + "n_pf_cs_plasma_circuits", + "n_pf_coils_in_group", + "c_pf_cs_coils_peak_ma", + "etapsu", "c_pf_coil_turn_peak_input", - pfpwrparam.c_pf_coil_turn_peak_input, - ) - - monkeypatch.setattr( - power.data.pf_coil, "c_pf_cs_coil_pulse_end_ma", - pfpwrparam.c_pf_cs_coil_pulse_end_ma, - ) - - monkeypatch.setattr( - power.data.pf_coil, "ind_pf_cs_plasma_mutual", pfpwrparam.ind_pf_cs_plasma_mutual - ) - - monkeypatch.setattr( - power.data.pf_coil, "n_pf_coil_turns", pfpwrparam.n_pf_coil_turns - ) - - monkeypatch.setattr( - power.data.pf_coil, "f_a_pf_coil_void", pfpwrparam.f_a_pf_coil_void - ) - - monkeypatch.setattr( - power.data.pf_coil, "j_pf_coil_wp_peak", pfpwrparam.j_pf_coil_wp_peak - ) - - monkeypatch.setattr( - power.data.pf_coil, "r_pf_coil_middle", pfpwrparam.r_pf_coil_middle - ) + "ind_pf_cs_plasma_mutual", + "n_pf_coil_turns", + "f_a_pf_coil_void", + "j_pf_coil_wp_peak", + "r_pf_coil_middle", + ]: + monkeypatch.setattr(power.data.pf_coil, field, getattr(pfpwrparam, field)) monkeypatch.setattr( power.data.physics, "p_plasma_ohmic_mw", pfpwrparam.p_plasma_ohmic_mw @@ -1890,10 +1570,6 @@ def test_pfpwr(pfpwrparam, monkeypatch, power): class AcpowParam(NamedTuple): - a_plant_floor_effective: Any = None - - p_plant_electric_base: Any = None - p_cryo_plant_electric_mw: Any = None vachtmw: Any = None @@ -1904,28 +1580,18 @@ class AcpowParam(NamedTuple): p_hcd_electric_total_mw: Any = None - tlvpmw: Any = None - peakmva: Any = None p_plant_electric_base_total_mw: Any = None fmgdmw: Any = None - pflux_plant_floor_electric: Any = None - p_coolant_pump_elec_total_mw: Any = None - pacpmw: Any = None - i_pf_energy_storage_source: Any = None srcktpm: Any = None - iprint: Any = None - - outfile: Any = None - expected_pacpmw: Any = None @@ -1933,45 +1599,31 @@ class AcpowParam(NamedTuple): "acpowparam", [ AcpowParam( - a_plant_floor_effective=379218.8908858358, - p_plant_electric_base=5000000, p_cryo_plant_electric_mw=37.900388528497025, vachtmw=0.5, p_tf_electric_supplies_mw=9.1507079104675704, p_tritium_plant_electric_mw=15, p_hcd_electric_total_mw=129.94611930107126, - tlvpmw=0, peakmva=736.39062584245937, p_plant_electric_base_total_mw=0, fmgdmw=0, - pflux_plant_floor_electric=150, p_coolant_pump_elec_total_mw=234.28554165620102, - pacpmw=0, i_pf_energy_storage_source=2, srcktpm=1071.1112934857531, - iprint=0, - outfile=11, expected_pacpmw=1164.244494532182, ), AcpowParam( - a_plant_floor_effective=381580.9594357388, - p_plant_electric_base=5000000, p_cryo_plant_electric_mw=108.74512702403499, vachtmw=0.5, p_tf_electric_supplies_mw=9.1507079104675704, p_tritium_plant_electric_mw=15, p_hcd_electric_total_mw=129.94611930107126, - tlvpmw=699.34943812129745, peakmva=90.673341440806112, p_plant_electric_base_total_mw=62.23714391536082, fmgdmw=0, - pflux_plant_floor_electric=150, p_coolant_pump_elec_total_mw=234.2162627659944, - pacpmw=1226.1273281650574, i_pf_energy_storage_source=2, srcktpm=1069.8879533693198, - iprint=0, - outfile=11, expected_pacpmw=589.3014463957436, ), ], @@ -1989,334 +1641,105 @@ def test_acpow(acpowparam, monkeypatch, power): :type monkeypatch: _pytest.monkeypatch.monkeypatch """ - monkeypatch.setattr( - power.data.buildings, - "a_plant_floor_effective", - acpowparam.a_plant_floor_effective, - ) - - monkeypatch.setattr( - power.data.heat_transport, - "p_plant_electric_base", - acpowparam.p_plant_electric_base, - ) - - monkeypatch.setattr( - power.data.heat_transport, + for field in [ "p_cryo_plant_electric_mw", - acpowparam.p_cryo_plant_electric_mw, - ) - - monkeypatch.setattr(power.data.heat_transport, "vachtmw", acpowparam.vachtmw) - - monkeypatch.setattr( - power.data.heat_transport, + "vachtmw", "p_tf_electric_supplies_mw", - acpowparam.p_tf_electric_supplies_mw, - ) - - monkeypatch.setattr( - power.data.heat_transport, "p_tritium_plant_electric_mw", - acpowparam.p_tritium_plant_electric_mw, - ) - - monkeypatch.setattr( - power.data.heat_transport, "p_hcd_electric_total_mw", - acpowparam.p_hcd_electric_total_mw, - ) - - monkeypatch.setattr(power.data.heat_transport, "tlvpmw", acpowparam.tlvpmw) - - monkeypatch.setattr(power.data.heat_transport, "peakmva", acpowparam.peakmva) - - monkeypatch.setattr( - power.data.heat_transport, + "peakmva", "p_plant_electric_base_total_mw", - acpowparam.p_plant_electric_base_total_mw, - ) - - monkeypatch.setattr(power.data.heat_transport, "fmgdmw", acpowparam.fmgdmw) - - monkeypatch.setattr( - power.data.heat_transport, - "pflux_plant_floor_electric", - acpowparam.pflux_plant_floor_electric, - ) - - monkeypatch.setattr( - power.data.heat_transport, + "fmgdmw", "p_coolant_pump_elec_total_mw", - acpowparam.p_coolant_pump_elec_total_mw, - ) - - monkeypatch.setattr(power.data.heat_transport, "pacpmw", acpowparam.pacpmw) - - monkeypatch.setattr( - power.data.pf_power, + ]: + monkeypatch.setattr( + power.data.heat_transport, + field, + getattr(acpowparam, field), + ) + + for field in [ "i_pf_energy_storage_source", - acpowparam.i_pf_energy_storage_source, - ) - - monkeypatch.setattr(power.data.pf_power, "srcktpm", acpowparam.srcktpm) + "srcktpm", + ]: + monkeypatch.setattr( + power.data.pf_power, + field, + getattr(acpowparam, field), + ) power.acpow(output=False) assert power.data.heat_transport.pacpmw == pytest.approx(acpowparam.expected_pacpmw) -class Power2Param(NamedTuple): - p_plant_electric_net_required_mw: Any = None - - ipnet: Any = None - +class PlantElectricProductionParam(NamedTuple): ireactor: Any = None - p_hcd_injected_total_mw: Any = None - - p_blkt_multiplication_mw: Any = None - - inuclear: Any = None - - p_blkt_nuclear_heat_total_mw: Any = None + i_p_coolant_pumping: Any = None - p_fw_rad_total_mw: Any = None + p_tf_nuclear_heat_mw: Any = None - qnuc: Any = None + p_shld_secondary_heat_mw: Any = None - eta_coolant_pump_electric: Any = None + vachtmw: Any = None - f_p_blkt_multiplication: Any = None + p_plant_primary_heat_mw: Any = None - p_div_rad_total_mw: Any = None + p_hcd_electric_total_mw: Any = None - f_ster_div_single: Any = None + p_tritium_plant_electric_mw: Any = None - f_a_fw_outboard_hcd: Any = None + p_hcd_secondary_heat_mw: Any = None - i_thermal_electric_conversion: Any = None + p_tf_electric_supplies_mw: Any = None - pnuc_cp: Any = None + p_coolant_pump_elec_total_mw: Any = None - p_div_nuclear_heat_total_mw: Any = None + eta_turbine: Any = None - i_p_coolant_pumping: Any = None + p_cryo_plant_electric_mw: Any = None - p_tf_nuclear_heat_mw: Any = None + p_div_secondary_heat_mw: Any = None - p_fw_hcd_nuclear_heat_mw: Any = None + p_hcd_electric_loss_mw: Any = None - p_shld_nuclear_heat_mw: Any = None + p_coolant_pump_loss_total_mw: Any = None - p_fw_hcd_rad_total_mw: Any = None + p_pf_electric_supplies_mw: Any = None - p_fw_nuclear_heat_total_mw: Any = None + itart: Any = None - p_shld_coolant_pump_mw: Any = None + p_fusion_total_mw: Any = None - p_blkt_coolant_pump_mw: Any = None + p_cp_coolant_pump_elec: Any = None - p_shld_secondary_heat_mw: Any = None + i_tf_sup: Any = None - f_p_shld_coolant_pump_total_heat: Any = None + expected_p_plant_electric_net_mw: Any = None - temp_turbine_coolant_in: Any = None + expected_precircmw: Any = None - p_plant_electric_net_mw: Any = None + expected_fachtmw: Any = None - f_p_div_coolant_pump_total_heat: Any = None + expected_p_plant_electric_gross_mw: Any = None - f_p_blkt_coolant_pump_total_heat: Any = None + expected_p_plant_secondary_heat_mw: Any = None - vachtmw: Any = None - - p_div_coolant_pump_mw: Any = None - - n_primary_heat_exchangers: Any = None - - helpow: Any = None - - p_fw_coolant_pump_mw: Any = None - - p_plant_electric_recirc_mw: Any = None - - p_plant_primary_heat_mw: Any = None - - f_p_fw_coolant_pump_total_heat: Any = None - - p_plant_electric_base_total_mw: Any = None - - i_shld_primary_heat: Any = None - - p_hcd_electric_total_mw: Any = None - - fachtmw: Any = None - - p_plant_electric_gross_mw: Any = None - - p_plant_secondary_heat_mw: Any = None - - p_tritium_plant_electric_mw: Any = None - - p_hcd_secondary_heat_mw: Any = None - - p_tf_electric_supplies_mw: Any = None - - p_coolant_pump_elec_total_mw: Any = None - - eta_turbine: Any = None - - p_cryo_plant_electric_mw: Any = None - - p_div_secondary_heat_mw: Any = None - - p_hcd_electric_loss_mw: Any = None - - p_coolant_pump_loss_total_mw: Any = None - - helpow_cryal: Any = None - - p_pf_electric_supplies_mw: Any = None - - p_alpha_total_mw: Any = None - - i_plasma_ignited: Any = None - - p_plasma_inner_rad_mw: Any = None - - p_plasma_rad_mw: Any = None - - itart: Any = None - - p_plasma_separatrix_mw: Any = None - - p_fw_alpha_mw: Any = None - - n_divertors: Any = None - - p_plasma_ohmic_mw: Any = None - - i_rad_loss: Any = None - - p_fusion_total_mw: Any = None - - p_non_alpha_charged_mw: Any = None - - pscalingmw: Any = None - - f_p_alpha_plasma_deposited: Any = None - - p_cp_coolant_pump_elec: Any = None - - i_tf_sup: Any = None - - tfcmw: Any = None - - temp_tf_cryo: Any = None - - temp_cp_coolant_inlet: Any = None - - eff_tf_cryo: Any = None - - p_fw_blkt_coolant_pump_mw: Any = None - - p_shld_coolant_pump_elec_mw: Any = None - - p_div_coolant_pump_elec_mw: Any = None - - p_coolant_pump_total_mw: Any = None - - p_fw_blkt_heat_deposited_mw: Any = None - - p_fw_blkt_coolant_pump_elec_mw: Any = None - - p_div_heat_deposited_mw: Any = None - - p_fw_heat_deposited_mw: Any = None - - p_shld_heat_deposited_mw: Any = None - - p_cp_coolant_pump_elec_mw: Any = None - - p_plant_core_systems_elec_mw: Any = None - - f_p_div_primary_heat: Any = None - - qss: Any = None - - qac: Any = None - - qcl: Any = None - - qmisc: Any = None - - outfile: Any = None - - iprint: Any = None - - expected_p_plant_electric_net_mw: Any = None - - expected_precircmw: Any = None - - expected_fachtmw: Any = None - - expected_p_plant_electric_gross_mw: Any = None - - expected_p_plant_secondary_heat_mw: Any = None - - expected_pcoresystems: Any = None + expected_pcoresystems: Any = None @pytest.mark.parametrize( - "power2param", + "plantelecprodparam", [ - Power2Param( - p_plant_electric_net_required_mw=500, - ipnet=0, + PlantElectricProductionParam( ireactor=1, - p_hcd_injected_total_mw=51.978447720428512, - p_blkt_multiplication_mw=377.93233088402548, - inuclear=1, - p_blkt_nuclear_heat_total_mw=1504.711566619962, - p_fw_rad_total_mw=254.87601794907812, - qnuc=12920, - eta_coolant_pump_electric=0.87000000000000011, - f_p_blkt_multiplication=1.2690000534057617, - p_div_rad_total_mw=33.119482558354782, - f_ster_div_single=0.115, - f_a_fw_outboard_hcd=0, - i_thermal_electric_conversion=2, - pnuc_cp=0, - p_div_nuclear_heat_total_mw=182.69222981118057, i_p_coolant_pumping=3, p_tf_nuclear_heat_mw=0.044178296011112193, - p_fw_hcd_nuclear_heat_mw=0, - p_shld_nuclear_heat_mw=1.3609360176065353, - p_fw_hcd_rad_total_mw=0, - p_fw_nuclear_heat_total_mw=276.76827393356979, - p_shld_coolant_pump_mw=0.0068046800880326762, - p_blkt_coolant_pump_mw=0, p_shld_secondary_heat_mw=0, - f_p_shld_coolant_pump_total_heat=0.0050000000000000001, - temp_turbine_coolant_in=0, - p_plant_electric_net_mw=0, - f_p_div_coolant_pump_total_heat=0.0050000000000000001, - f_p_blkt_coolant_pump_total_heat=0.0050000000000000001, vachtmw=0.5, - p_div_coolant_pump_mw=1.7942175899286208, - n_primary_heat_exchangers=3, - helpow=76851.741036987034, - p_fw_coolant_pump_mw=0, - p_plant_electric_recirc_mw=0, p_plant_primary_heat_mw=2620.2218111502593, - f_p_fw_coolant_pump_total_heat=0.0050000000000000001, - p_plant_electric_base_total_mw=62.23714391536082, - i_shld_primary_heat=1, p_hcd_electric_total_mw=129.94611930107126, - fachtmw=0, - p_plant_electric_gross_mw=0, - p_plant_secondary_heat_mw=0, p_tritium_plant_electric_mw=15, p_hcd_secondary_heat_mw=0, p_tf_electric_supplies_mw=9.1507079104675704, @@ -2326,46 +1749,11 @@ class Power2Param(NamedTuple): p_div_secondary_heat_mw=0, p_hcd_electric_loss_mw=77.967671580642758, p_coolant_pump_loss_total_mw=30.457120415306122, - helpow_cryal=0, p_pf_electric_supplies_mw=0.89998039031509891, - p_alpha_total_mw=396.66154806848488, - i_plasma_ignited=0, - p_plasma_inner_rad_mw=113.53817859231452, - p_plasma_rad_mw=287.99550050743289, itart=0, - p_plasma_separatrix_mw=143.03180561618876, - p_fw_alpha_mw=19.833077403424262, - n_divertors=1, - p_plasma_ohmic_mw=0.61391840981850698, - i_rad_loss=1, p_fusion_total_mw=1985.785106643267, - p_non_alpha_charged_mw=1.6064693283140403, - pscalingmw=325.08626176539281, - f_p_alpha_plasma_deposited=0.94999999999999996, p_cp_coolant_pump_elec=0, i_tf_sup=1, - tfcmw=0, - temp_tf_cryo=4.5, - temp_cp_coolant_inlet=313.14999999999998, - eff_tf_cryo=0.13, - p_fw_blkt_coolant_pump_mw=202.02739897087824, - p_shld_coolant_pump_elec_mw=0.0078214713655548, - p_div_coolant_pump_elec_mw=2.0623190688834718, - p_coolant_pump_total_mw=203.8284212408949, - p_fw_blkt_heat_deposited_mw=2258.2163348769122, - p_fw_blkt_coolant_pump_elec_mw=232.21540111595198, - p_div_heat_deposited_mw=360.63773557565275, - p_fw_heat_deposited_mw=0, - p_shld_heat_deposited_mw=1.3677406976945679, - p_cp_coolant_pump_elec_mw=0, - p_plant_core_systems_elec_mw=0, - f_p_div_primary_heat=0.13763633828287813, - qss=20361.633927097802, - qac=3611.3456752656607, - qcl=16108.2211128, - qmisc=23850.540321823562, - outfile=11, - iprint=0, expected_p_plant_electric_net_mw=549.90044139, expected_precircmw=432.68273779, expected_fachtmw=5.0, @@ -2373,52 +1761,14 @@ class Power2Param(NamedTuple): expected_p_plant_secondary_heat_mw=176.92004712, expected_pcoresystems=68.45107682927969, ), - Power2Param( - p_plant_electric_net_required_mw=500, - ipnet=0, + PlantElectricProductionParam( ireactor=1, - p_hcd_injected_total_mw=51.978447720428512, - p_blkt_multiplication_mw=377.8143718115644, - inuclear=1, - p_blkt_nuclear_heat_total_mw=1549.9285082739402, - p_fw_rad_total_mw=254.87601794907812, - qnuc=12920, - eta_coolant_pump_electric=0.87000000000000011, - f_p_blkt_multiplication=1.2690000534057617, - p_div_rad_total_mw=33.119482558354782, - f_ster_div_single=0.115, - f_a_fw_outboard_hcd=0, - i_thermal_electric_conversion=2, - pnuc_cp=0, - p_div_nuclear_heat_total_mw=182.6352084763719, i_p_coolant_pumping=3, p_tf_nuclear_heat_mw=0.045535131445547841, - p_fw_hcd_nuclear_heat_mw=0, - p_shld_nuclear_heat_mw=1.4036212304705389, - p_fw_hcd_rad_total_mw=0, - p_fw_nuclear_heat_total_mw=230.95082168283884, - p_shld_coolant_pump_mw=0.0070181061523526943, - p_blkt_coolant_pump_mw=0, p_shld_secondary_heat_mw=0, - f_p_shld_coolant_pump_total_heat=0.0050000000000000001, - temp_turbine_coolant_in=0, - p_plant_electric_net_mw=493.01760776192009, - f_p_div_coolant_pump_total_heat=0.0050000000000000001, - f_p_blkt_coolant_pump_total_heat=0.0050000000000000001, vachtmw=0.5, - p_div_coolant_pump_mw=1.7933419035282543, - n_primary_heat_exchangers=3, - helpow=220505.71684249729, - p_fw_coolant_pump_mw=0, - p_plant_electric_recirc_mw=489.9198817019128, p_plant_primary_heat_mw=2619.4223856129224, - f_p_fw_coolant_pump_total_heat=0.0050000000000000001, - p_plant_electric_base_total_mw=62.237143915360818, - i_shld_primary_heat=1, p_hcd_electric_total_mw=129.94611930107126, - fachtmw=61.882833632875375, - p_plant_electric_gross_mw=982.58317918134742, - p_plant_secondary_heat_mw=234.15719103660052, p_tritium_plant_electric_mw=15, p_hcd_secondary_heat_mw=0, p_tf_electric_supplies_mw=9.1507079104675704, @@ -2428,46 +1778,11 @@ class Power2Param(NamedTuple): p_div_secondary_heat_mw=0, p_hcd_electric_loss_mw=77.967671580642758, p_coolant_pump_loss_total_mw=30.448114159579291, - helpow_cryal=0, p_pf_electric_supplies_mw=0.068213156646500808, - p_alpha_total_mw=396.53774329057228, - i_plasma_ignited=0, - p_plasma_inner_rad_mw=113.53817859231452, - p_plasma_rad_mw=287.99550050743289, itart=0, - p_plasma_separatrix_mw=142.91368967092416, - p_fw_alpha_mw=19.826887164528632, - n_divertors=1, - p_plasma_ohmic_mw=0.61391840981850698, - i_rad_loss=1, p_fusion_total_mw=1985.1653095257811, - p_non_alpha_charged_mw=1.6059679220663614, - pscalingmw=325.00280675287695, - f_p_alpha_plasma_deposited=0.94999999999999996, p_cp_coolant_pump_elec=0, i_tf_sup=1, - tfcmw=0, - temp_tf_cryo=4.5, - temp_cp_coolant_inlet=313.14999999999998, - eff_tf_cryo=0.13, - p_fw_blkt_coolant_pump_mw=201.96778859673452, - p_shld_coolant_pump_elec_mw=0.0080667886808651647, - p_div_coolant_pump_elec_mw=2.0613125327910966, - p_coolant_pump_total_mw=203.76814860641511, - p_fw_blkt_heat_deposited_mw=2257.5500236671205, - p_fw_blkt_coolant_pump_elec_mw=232.14688344452242, - p_div_heat_deposited_mw=360.46172260917911, - p_fw_heat_deposited_mw=0, - p_shld_heat_deposited_mw=1.4106393366228915, - p_cp_coolant_pump_elec_mw=0, - p_plant_core_systems_elec_mw=125.68822074464052, - f_p_div_primary_heat=0.13761114839248584, - qss=20342.863776957758, - qac=102701.82327748176, - qcl=16108.2211128, - qmisc=68432.80867525778, - outfile=11, - iprint=0, expected_p_plant_electric_net_mw=479.65696445, expected_precircmw=502.62643016, expected_fachtmw=5.0, @@ -2477,9 +1792,9 @@ class Power2Param(NamedTuple): ), ], ) -def test_power2(power2param, monkeypatch, power): +def test_plant_electric_production(plantelecprodparam, monkeypatch, power): """ - Automatically generated Regression Unit Test for power2. + Automatically generated Regression Unit Test for plant_electric_production. This test was generated using data from tracking/baseline_2018/baseline_2018_IN.DAT. @@ -2490,442 +1805,79 @@ def test_power2(power2param, monkeypatch, power): :type monkeypatch: _pytest.monkeypatch.monkeypatch """ - monkeypatch.setattr( - power.data.constraints, - "p_plant_electric_net_required_mw", - power2param.p_plant_electric_net_required_mw, - ) - - monkeypatch.setattr(power.data.costs, "ipnet", power2param.ipnet) + monkeypatch.setattr(power.data.costs, "ireactor", plantelecprodparam.ireactor) - monkeypatch.setattr(power.data.costs, "ireactor", power2param.ireactor) - - monkeypatch.setattr( - power.data.current_drive, - "p_hcd_injected_total_mw", - power2param.p_hcd_injected_total_mw, - ) - - monkeypatch.setattr( - power.data.fwbs, "p_blkt_multiplication_mw", power2param.p_blkt_multiplication_mw - ) - - monkeypatch.setattr(power.data.fwbs, "inuclear", power2param.inuclear) - - monkeypatch.setattr( - power.data.fwbs, - "p_blkt_nuclear_heat_total_mw", - power2param.p_blkt_nuclear_heat_total_mw, - ) - - monkeypatch.setattr( - power.data.fwbs, "p_fw_rad_total_mw", power2param.p_fw_rad_total_mw - ) - - monkeypatch.setattr(power.data.fwbs, "qnuc", power2param.qnuc) - - monkeypatch.setattr( - power.data.fwbs, - "eta_coolant_pump_electric", - power2param.eta_coolant_pump_electric, - ) - - monkeypatch.setattr( - power.data.fwbs, "f_p_blkt_multiplication", power2param.f_p_blkt_multiplication - ) - - monkeypatch.setattr( - power.data.fwbs, "p_div_rad_total_mw", power2param.p_div_rad_total_mw - ) - - monkeypatch.setattr( - power.data.fwbs, "f_ster_div_single", power2param.f_ster_div_single - ) - - monkeypatch.setattr( - power.data.fwbs, "f_a_fw_outboard_hcd", power2param.f_a_fw_outboard_hcd - ) - - monkeypatch.setattr( - power.data.fwbs, - "i_thermal_electric_conversion", - power2param.i_thermal_electric_conversion, - ) - - monkeypatch.setattr(power.data.fwbs, "pnuc_cp", power2param.pnuc_cp) - - monkeypatch.setattr( - power.data.fwbs, - "p_div_nuclear_heat_total_mw", - power2param.p_div_nuclear_heat_total_mw, - ) - - monkeypatch.setattr( - power.data.fwbs, "i_p_coolant_pumping", power2param.i_p_coolant_pumping - ) - - monkeypatch.setattr( - power.data.fwbs, "p_tf_nuclear_heat_mw", power2param.p_tf_nuclear_heat_mw - ) - - monkeypatch.setattr( - power.data.fwbs, "p_fw_hcd_nuclear_heat_mw", power2param.p_fw_hcd_nuclear_heat_mw - ) - - monkeypatch.setattr( - power.data.fwbs, "p_shld_nuclear_heat_mw", power2param.p_shld_nuclear_heat_mw - ) - - monkeypatch.setattr( - power.data.fwbs, "p_fw_hcd_rad_total_mw", power2param.p_fw_hcd_rad_total_mw - ) - - monkeypatch.setattr( - power.data.fwbs, - "p_fw_nuclear_heat_total_mw", - power2param.p_fw_nuclear_heat_total_mw, - ) - - monkeypatch.setattr( - power.data.heat_transport, - "p_shld_coolant_pump_mw", - power2param.p_shld_coolant_pump_mw, - ) - - monkeypatch.setattr( - power.data.heat_transport, - "p_blkt_coolant_pump_mw", - power2param.p_blkt_coolant_pump_mw, - ) + for field in [ + "i_p_coolant_pumping", + "p_tf_nuclear_heat_mw", + ]: + monkeypatch.setattr(power.data.fwbs, field, getattr(plantelecprodparam, field)) - monkeypatch.setattr( - power.data.heat_transport, + for field in [ "p_shld_secondary_heat_mw", - power2param.p_shld_secondary_heat_mw, - ) - - monkeypatch.setattr( - power.data.heat_transport, - "f_p_shld_coolant_pump_total_heat", - power2param.f_p_shld_coolant_pump_total_heat, - ) - - monkeypatch.setattr( - power.data.heat_transport, - "temp_turbine_coolant_in", - power2param.temp_turbine_coolant_in, - ) - - monkeypatch.setattr( - power.data.heat_transport, - "p_plant_electric_net_mw", - power2param.p_plant_electric_net_mw, - ) - - monkeypatch.setattr( - power.data.heat_transport, - "f_p_div_coolant_pump_total_heat", - power2param.f_p_div_coolant_pump_total_heat, - ) - - monkeypatch.setattr( - power.data.heat_transport, - "f_p_blkt_coolant_pump_total_heat", - power2param.f_p_blkt_coolant_pump_total_heat, - ) - - monkeypatch.setattr(power.data.heat_transport, "vachtmw", power2param.vachtmw) - - monkeypatch.setattr( - power.data.heat_transport, - "p_div_coolant_pump_mw", - power2param.p_div_coolant_pump_mw, - ) - - monkeypatch.setattr( - power.data.heat_transport, - "n_primary_heat_exchangers", - power2param.n_primary_heat_exchangers, - ) - - monkeypatch.setattr(power.data.heat_transport, "helpow", power2param.helpow) - - monkeypatch.setattr( - power.data.heat_transport, - "p_fw_coolant_pump_mw", - power2param.p_fw_coolant_pump_mw, - ) - - monkeypatch.setattr( - power.data.heat_transport, - "p_plant_electric_recirc_mw", - power2param.p_plant_electric_recirc_mw, - ) - - monkeypatch.setattr( - power.data.heat_transport, + "vachtmw", "p_plant_primary_heat_mw", - power2param.p_plant_primary_heat_mw, - ) - - monkeypatch.setattr( - power.data.heat_transport, - "f_p_fw_coolant_pump_total_heat", - power2param.f_p_fw_coolant_pump_total_heat, - ) - - monkeypatch.setattr( - power.data.heat_transport, - "p_plant_electric_base_total_mw", - power2param.p_plant_electric_base_total_mw, - ) - - monkeypatch.setattr( - power.data.heat_transport, "i_shld_primary_heat", power2param.i_shld_primary_heat - ) - - monkeypatch.setattr( - power.data.heat_transport, "p_hcd_electric_total_mw", - power2param.p_hcd_electric_total_mw, - ) - - monkeypatch.setattr(power.data.heat_transport, "fachtmw", power2param.fachtmw) - - monkeypatch.setattr( - power.data.heat_transport, - "p_plant_electric_gross_mw", - power2param.p_plant_electric_gross_mw, - ) - - monkeypatch.setattr( - power.data.heat_transport, - "p_plant_secondary_heat_mw", - power2param.p_plant_secondary_heat_mw, - ) - - monkeypatch.setattr( - power.data.heat_transport, "p_tritium_plant_electric_mw", - power2param.p_tritium_plant_electric_mw, - ) - - monkeypatch.setattr( - power.data.heat_transport, "p_hcd_secondary_heat_mw", - power2param.p_hcd_secondary_heat_mw, - ) - - monkeypatch.setattr( - power.data.heat_transport, "p_tf_electric_supplies_mw", - power2param.p_tf_electric_supplies_mw, - ) - - monkeypatch.setattr( - power.data.heat_transport, "p_coolant_pump_elec_total_mw", - power2param.p_coolant_pump_elec_total_mw, - ) - - monkeypatch.setattr( - power.data.heat_transport, "eta_turbine", power2param.eta_turbine - ) - - monkeypatch.setattr( - power.data.heat_transport, + "eta_turbine", "p_cryo_plant_electric_mw", - power2param.p_cryo_plant_electric_mw, - ) - - monkeypatch.setattr( - power.data.heat_transport, "p_div_secondary_heat_mw", - power2param.p_div_secondary_heat_mw, - ) - - monkeypatch.setattr( - power.data.heat_transport, "p_hcd_electric_loss_mw", - power2param.p_hcd_electric_loss_mw, - ) - - monkeypatch.setattr( - power.data.heat_transport, "p_coolant_pump_loss_total_mw", - power2param.p_coolant_pump_loss_total_mw, - ) - - monkeypatch.setattr( - power.data.heat_transport, "helpow_cryal", power2param.helpow_cryal - ) + ]: + monkeypatch.setattr( + power.data.heat_transport, + field, + getattr(plantelecprodparam, field), + ) monkeypatch.setattr( power.data.pf_coil, "p_pf_electric_supplies_mw", - power2param.p_pf_electric_supplies_mw, - ) - - monkeypatch.setattr( - power.data.physics, "p_alpha_total_mw", power2param.p_alpha_total_mw - ) - - monkeypatch.setattr( - power.data.physics, "i_plasma_ignited", power2param.i_plasma_ignited - ) - - monkeypatch.setattr( - power.data.physics, "p_plasma_inner_rad_mw", power2param.p_plasma_inner_rad_mw - ) - - monkeypatch.setattr( - power.data.physics, "p_plasma_rad_mw", power2param.p_plasma_rad_mw - ) - - monkeypatch.setattr(power.data.physics, "itart", power2param.itart) - - monkeypatch.setattr( - power.data.physics, "p_plasma_separatrix_mw", power2param.p_plasma_separatrix_mw - ) - - monkeypatch.setattr(power.data.physics, "p_fw_alpha_mw", power2param.p_fw_alpha_mw) - - monkeypatch.setattr(power.data.divertor, "n_divertors", power2param.n_divertors) - - monkeypatch.setattr( - power.data.physics, "p_plasma_ohmic_mw", power2param.p_plasma_ohmic_mw - ) - - monkeypatch.setattr(power.data.physics, "i_rad_loss", power2param.i_rad_loss) - - monkeypatch.setattr( - power.data.physics, "p_fusion_total_mw", power2param.p_fusion_total_mw - ) - - monkeypatch.setattr( - power.data.physics, - "p_non_alpha_charged_mw", - power2param.p_non_alpha_charged_mw, - ) - - monkeypatch.setattr(power.data.physics, "pscalingmw", power2param.pscalingmw) - - monkeypatch.setattr( - power.data.physics, - "f_p_alpha_plasma_deposited", - power2param.f_p_alpha_plasma_deposited, - ) - - monkeypatch.setattr( - power.data.tfcoil, "p_cp_coolant_pump_elec", power2param.p_cp_coolant_pump_elec - ) - - monkeypatch.setattr(power.data.tfcoil, "i_tf_sup", power2param.i_tf_sup) - - monkeypatch.setattr(power.data.tfcoil, "tfcmw", power2param.tfcmw) - - monkeypatch.setattr(power.data.tfcoil, "temp_tf_cryo", power2param.temp_tf_cryo) - - monkeypatch.setattr( - power.data.tfcoil, "temp_cp_coolant_inlet", power2param.temp_cp_coolant_inlet - ) - - monkeypatch.setattr(power.data.tfcoil, "eff_tf_cryo", power2param.eff_tf_cryo) - - monkeypatch.setattr( - power.data.primary_pumping, - "p_fw_blkt_coolant_pump_mw", - power2param.p_fw_blkt_coolant_pump_mw, - ) - - monkeypatch.setattr( - power.data.power, - "p_shld_coolant_pump_elec_mw", - power2param.p_shld_coolant_pump_elec_mw, - ) - - monkeypatch.setattr( - power.data.power, - "p_div_coolant_pump_elec_mw", - power2param.p_div_coolant_pump_elec_mw, - ) - - monkeypatch.setattr( - power.data.power, "p_coolant_pump_total_mw", power2param.p_coolant_pump_total_mw - ) - - monkeypatch.setattr( - power.data.power, - "p_fw_blkt_heat_deposited_mw", - power2param.p_fw_blkt_heat_deposited_mw, + plantelecprodparam.p_pf_electric_supplies_mw, ) - monkeypatch.setattr( - power.data.power, - "p_fw_blkt_coolant_pump_elec_mw", - power2param.p_fw_blkt_coolant_pump_elec_mw, - ) - - monkeypatch.setattr( - power.data.power, "p_div_heat_deposited_mw", power2param.p_div_heat_deposited_mw - ) - - monkeypatch.setattr( - power.data.power, "p_fw_heat_deposited_mw", power2param.p_fw_heat_deposited_mw - ) - - monkeypatch.setattr( - power.data.power, - "p_shld_heat_deposited_mw", - power2param.p_shld_heat_deposited_mw, - ) - - monkeypatch.setattr( - power.data.power, - "p_cp_coolant_pump_elec_mw", - power2param.p_cp_coolant_pump_elec_mw, - ) - - monkeypatch.setattr( - power.data.power, - "p_plant_core_systems_elec_mw", - power2param.p_plant_core_systems_elec_mw, - ) + monkeypatch.setattr(power.data.physics, "itart", plantelecprodparam.itart) monkeypatch.setattr( - power.data.power, "f_p_div_primary_heat", power2param.f_p_div_primary_heat + power.data.physics, "p_fusion_total_mw", plantelecprodparam.p_fusion_total_mw ) - monkeypatch.setattr(power.data.power, "qss", power2param.qss) - - monkeypatch.setattr(power.data.power, "qac", power2param.qac) - - monkeypatch.setattr(power.data.power, "qcl", power2param.qcl) - - monkeypatch.setattr(power.data.power, "qmisc", power2param.qmisc) + for field in [ + "p_cp_coolant_pump_elec", + "i_tf_sup", + ]: + monkeypatch.setattr( + power.data.tfcoil, + field, + getattr(plantelecprodparam, field), + ) power.plant_electric_production() assert power.data.heat_transport.p_plant_electric_net_mw == pytest.approx( - power2param.expected_p_plant_electric_net_mw + plantelecprodparam.expected_p_plant_electric_net_mw ) assert power.data.heat_transport.p_plant_electric_recirc_mw == pytest.approx( - power2param.expected_precircmw + plantelecprodparam.expected_precircmw ) assert power.data.heat_transport.fachtmw == pytest.approx( - power2param.expected_fachtmw + plantelecprodparam.expected_fachtmw ) assert power.data.heat_transport.p_plant_electric_gross_mw == pytest.approx( - power2param.expected_p_plant_electric_gross_mw + plantelecprodparam.expected_p_plant_electric_gross_mw ) assert power.data.heat_transport.p_plant_secondary_heat_mw == pytest.approx( - power2param.expected_p_plant_secondary_heat_mw + plantelecprodparam.expected_p_plant_secondary_heat_mw ) assert power.data.power.p_plant_core_systems_elec_mw == pytest.approx( - power2param.expected_pcoresystems + plantelecprodparam.expected_pcoresystems )