diff --git a/PythonModels/scripts/run_test_mql_full_state_comparison.py b/PythonModels/scripts/run_test_mql_full_state_comparison.py index 1330664..e053b64 100644 --- a/PythonModels/scripts/run_test_mql_full_state_comparison.py +++ b/PythonModels/scripts/run_test_mql_full_state_comparison.py @@ -443,6 +443,16 @@ class TestMqlPnl0003EnergyDiagnostic: amesim_center_flow_python_sign_equivalent_g_s: float amesim_center_flow_python_sign_error_g_s: float python_center_mass_flow_g_s: float + amesim_center_real_gas_reference_port_1_estimate_w: float + amesim_center_real_gas_reference_port_1_error_w: float + python_center_ideal_reference_port_1_estimate_w: float + python_center_ideal_reference_port_1_error_w: float + python_center_ideal_reference_port_2_estimate_w: float + python_center_ideal_reference_port_2_error_w: float + python_center_real_gas_reference_port_1_estimate_w: float + python_center_real_gas_reference_port_1_error_w: float + python_center_real_gas_reference_port_2_estimate_w: float + python_center_real_gas_reference_port_2_error_w: float python_total_mass_derivative_kg_s: float python_port_1_reference_external_enthalpy_flow_w: float python_port_1_reference_center_enthalpy_flow_w: float @@ -1666,6 +1676,18 @@ def _pnl0003_energy_diagnostic( ) * 1.0e3 python_center_mass_flow_g_s = center_flow * 1.0e3 amesim_center_python_sign_equivalent_g_s = -amesim_dmctr + amesim_center_mass_flow_python_sign_kg_s = ( + amesim_center_python_sign_equivalent_g_s * 1.0e-3 + ) + amesim_center_real_port_1 = ( + -amesim_center_mass_flow_python_sign_kg_s + * line.gas.pressure_reference_enthalpy( + amesim_p1, + amesim_t1, + reference_pressure=AMESIM_REFERENCE_PRESSURE_PA, + reference_temperature=reference_temperature_k, + ) + ) amesim_mass_1 = line.gas.density(amesim_p1, amesim_t1) * line.compliance_volume amesim_mass_2 = line.gas.density(amesim_p2, amesim_t2) * line.compliance_volume heat_flow_1 = ( @@ -1779,6 +1801,27 @@ def _pnl0003_energy_diagnostic( internal_temperature_k=port_2.T, reference_temperature_k=reference_temperature_k, ) + python_center_ideal_port_1 = -center_flow * line.gas.specific_reference_enthalpy( + port_1.T, + reference_temperature_k, + ) + python_center_ideal_port_2 = -center_flow * line.gas.specific_reference_enthalpy( + port_2.T, + reference_temperature_k, + ) + python_center_real_port_1 = -center_flow * line.gas.pressure_reference_enthalpy( + port_1.p, + port_1.T, + reference_pressure=AMESIM_REFERENCE_PRESSURE_PA, + reference_temperature=reference_temperature_k, + ) + python_center_real_port_2 = -center_flow * line.gas.pressure_reference_enthalpy( + port_2.p, + port_2.T, + reference_pressure=AMESIM_REFERENCE_PRESSURE_PA, + reference_temperature=reference_temperature_k, + ) + python_heat_flow_1 = ( line.heat_transfer_coefficient * line.heat_transfer_area @@ -1847,6 +1890,26 @@ def _pnl0003_energy_diagnostic( python_center_mass_flow_g_s - amesim_center_python_sign_equivalent_g_s ), python_center_mass_flow_g_s=python_center_mass_flow_g_s, + amesim_center_real_gas_reference_port_1_estimate_w=amesim_center_real_port_1, + amesim_center_real_gas_reference_port_1_error_w=( + amesim_center_real_port_1 - amesim_dhctr + ), + python_center_ideal_reference_port_1_estimate_w=python_center_ideal_port_1, + python_center_ideal_reference_port_1_error_w=( + python_center_ideal_port_1 - amesim_dhctr + ), + python_center_ideal_reference_port_2_estimate_w=python_center_ideal_port_2, + python_center_ideal_reference_port_2_error_w=( + python_center_ideal_port_2 - amesim_dhctr + ), + python_center_real_gas_reference_port_1_estimate_w=python_center_real_port_1, + python_center_real_gas_reference_port_1_error_w=( + python_center_real_port_1 - amesim_dhctr + ), + python_center_real_gas_reference_port_2_estimate_w=python_center_real_port_2, + python_center_real_gas_reference_port_2_error_w=( + python_center_real_port_2 - amesim_dhctr + ), python_total_mass_derivative_kg_s=( current_derivative_1.m + current_derivative_2.m ), @@ -2532,6 +2595,26 @@ def format_test_mql_pnvo_event_window_summary( f"amesim_dmctr_py_sign={pnl0003_energy.amesim_center_flow_python_sign_equivalent_g_s}, " f"python_center_dm={pnl0003_energy.python_center_mass_flow_g_s}, " f"python_center_dm_error={pnl0003_energy.amesim_center_flow_python_sign_error_g_s}, " + f"amesim_center_real_p1=" + f"{pnl0003_energy.amesim_center_real_gas_reference_port_1_estimate_w}, " + f"amesim_center_real_p1_error=" + f"{pnl0003_energy.amesim_center_real_gas_reference_port_1_error_w}, " + f"python_center_ideal_p1=" + f"{pnl0003_energy.python_center_ideal_reference_port_1_estimate_w}, " + f"python_center_ideal_p1_error=" + f"{pnl0003_energy.python_center_ideal_reference_port_1_error_w}, " + f"python_center_ideal_p2=" + f"{pnl0003_energy.python_center_ideal_reference_port_2_estimate_w}, " + f"python_center_ideal_p2_error=" + f"{pnl0003_energy.python_center_ideal_reference_port_2_error_w}, " + f"python_center_real_p1=" + f"{pnl0003_energy.python_center_real_gas_reference_port_1_estimate_w}, " + f"python_center_real_p1_error=" + f"{pnl0003_energy.python_center_real_gas_reference_port_1_error_w}, " + f"python_center_real_p2=" + f"{pnl0003_energy.python_center_real_gas_reference_port_2_estimate_w}, " + f"python_center_real_p2_error=" + f"{pnl0003_energy.python_center_real_gas_reference_port_2_error_w}, " f"python_dmgas_dt={pnl0003_energy.python_total_mass_derivative_kg_s}, " f"python_ref_ext1={pnl0003_energy.python_port_1_reference_external_enthalpy_flow_w}, " f"python_ref_ctr1={pnl0003_energy.python_port_1_reference_center_enthalpy_flow_w}, " diff --git a/tests/test_run_test_mql_full_state_comparison.py b/tests/test_run_test_mql_full_state_comparison.py index ebb36ef..75f9463 100644 --- a/tests/test_run_test_mql_full_state_comparison.py +++ b/tests/test_run_test_mql_full_state_comparison.py @@ -388,6 +388,16 @@ class RunTestMqlFullStateComparisonScriptTests(unittest.TestCase): amesim_center_flow_python_sign_equivalent_g_s=454.2, amesim_center_flow_python_sign_error_g_s=-0.2, python_center_mass_flow_g_s=454.0, + amesim_center_real_gas_reference_port_1_estimate_w=15700.0, + amesim_center_real_gas_reference_port_1_error_w=-123.7, + python_center_ideal_reference_port_1_estimate_w=16100.0, + python_center_ideal_reference_port_1_error_w=276.3, + python_center_ideal_reference_port_2_estimate_w=16200.0, + python_center_ideal_reference_port_2_error_w=376.3, + python_center_real_gas_reference_port_1_estimate_w=8300.0, + python_center_real_gas_reference_port_1_error_w=-7523.7, + python_center_real_gas_reference_port_2_estimate_w=8400.0, + python_center_real_gas_reference_port_2_error_w=-7423.7, python_total_mass_derivative_kg_s=-0.47, python_port_1_reference_external_enthalpy_flow_w=80.0, python_port_1_reference_center_enthalpy_flow_w=15800.0, @@ -592,6 +602,8 @@ class RunTestMqlFullStateComparisonScriptTests(unittest.TestCase): self.assertIn("amesim_storage_dmgas_residual=4.7", summary) self.assertIn("amesim_dmctr_py_sign=454.2", summary) self.assertIn("python_center_dm=454.0", summary) + self.assertIn("amesim_center_real_p1_error=-123.7", summary) + self.assertIn("python_center_ideal_p2=16200.0", summary) self.assertIn("python_center_dm_error=-0.2", summary) self.assertIn("python_dmgas_dt=-0.47", summary) self.assertIn("python_ref_sdh1=15880.0", summary)