Replace Python numerical kernels with native C execution
This commit is contained in:
1 parent
48da6be21c
commit
3b38f73fe0
227 files changed
+16801
-75499
No files matched your search
@@ -35,59 +35,9 @@ class AmesimPnor001ComponentTests(unittest.TestCase):
|
||||
{"flowset": 1.5},
|
||||
)
|
||||
|
||||
def test_zero_pressure_drop_has_zero_flow_and_finite_results(self) -> None:
|
||||
orifice = AmesimPnor001("pnor_1", self.medium)
|
||||
orifice.port_1.p = 100000.0
|
||||
orifice.port_2.p = 100000.0
|
||||
orifice.port_1.m_flow = 0.0
|
||||
orifice.port_2.m_flow = 0.0
|
||||
|
||||
residuals = {
|
||||
residual.id.rsplit(":", 1)[1]: residual
|
||||
for residual in orifice.pressure_flow_equation_residuals()
|
||||
}
|
||||
|
||||
self.assertEqual(orifice.mass_flow(100000.0, 100000.0), 0.0)
|
||||
self.assertEqual(residuals["mass_flow_balance"].value, 0.0)
|
||||
self.assertEqual(residuals["pressure_flow_relation"].value, 0.0)
|
||||
self.assertEqual(set(orifice.component_result_values()), {"cm", "gasvel"})
|
||||
|
||||
def test_exact_repeated_flow_characteristics_are_cached(self) -> None:
|
||||
orifice = AmesimPnor001("pnor_1", self.medium)
|
||||
orifice._one_way_flow_characteristics.cache_clear()
|
||||
|
||||
first = orifice._one_way_flow_characteristics(
|
||||
upstream_pressure=500000.0,
|
||||
downstream_pressure=100000.0,
|
||||
upstream_temperature=293.15,
|
||||
)
|
||||
after_first = orifice._one_way_flow_characteristics.cache_info()
|
||||
second = orifice._one_way_flow_characteristics(
|
||||
upstream_pressure=500000.0,
|
||||
downstream_pressure=100000.0,
|
||||
upstream_temperature=293.15,
|
||||
)
|
||||
|
||||
def test_mass_flow_is_bidirectional_by_pressure_order(self) -> None:
|
||||
orifice = AmesimPnor001("pnor_1", self.medium)
|
||||
|
||||
forward = orifice.mass_flow(500000.0, 100000.0)
|
||||
reverse = orifice.mass_flow(100000.0, 500000.0)
|
||||
|
||||
self.assertGreater(forward, 0.0)
|
||||
self.assertLess(reverse, 0.0)
|
||||
self.assertAlmostEqual(forward, -reverse)
|
||||
|
||||
def test_high_pressure_near_equal_flow_is_continuous(self) -> None:
|
||||
orifice = AmesimPnor001("pnor_1", self.medium)
|
||||
orifice.port_1.p = 15.3e6
|
||||
orifice.port_2.p = 15.3e6
|
||||
|
||||
small = orifice.mass_flow(15.3e6 + 0.1, 15.3e6)
|
||||
larger = orifice.mass_flow(15.3e6 + 1.0, 15.3e6)
|
||||
|
||||
self.assertGreater(small, 0.0)
|
||||
self.assertGreater(larger, small)
|
||||
|
||||
def test_cv_and_kv_modes_produce_positive_equivalent_area(self) -> None:
|
||||
cv_orifice = AmesimPnor001(
|
||||
|
||||
Reference in new issue
Block a user