校准第二支路热流体能量与管路摩擦

This commit is contained in:
huojiarong committed 2026-08-11 12:13:09 +00:00
1 parent 0f73d5b568
commit caca32a513
12 files changed
+336 -42

No files matched your search

+32 -2
View File
@@ -396,8 +396,38 @@ class MechanicalSolverCausalizationTests(unittest.TestCase):
self.assertAlmostEqual(result.series["mass.v"][0], -0.5 * mass.dvel)
self.assertLess(min(result.series["mass.x"]), 0.0)
self.assertLessEqual(max(result.series["mass.x"]), 1.0e-15)
self.assertAlmostEqual(result.series["mass.x"][-1], 0.0, places=15)
self.assertAlmostEqual(result.series["mass.v"][-1], 0.0, places=15)
self.assertAlmostEqual(result.series["mass.x"][-1], 0.0, delta=5.0e-15)
self.assertAlmostEqual(result.series["mass.v"][-1], 0.0, delta=1.1e-12)
def test_ideal_upper_stop_ignores_jacobian_scale_inward_velocity_noise(self) -> None:
system, mass = _single_mass_system(
100.0,
stoptype=1.0,
x0=0.0,
xmin=-1.0,
xmax=0.0,
)
initial_state = system.consistent_initial_state_vector()
perturbed_state = [-1.0e-14, initial_state[1]]
self.assertEqual(system.rhs(0.0, initial_state), [0.0, 0.0])
self.assertEqual(system.rhs(0.0, perturbed_state), [0.0, 0.0])
self.assertEqual(mass.v, -1.0e-14)
def test_ideal_lower_stop_ignores_jacobian_scale_outward_velocity_noise(self) -> None:
system, mass = _single_mass_system(
-100.0,
stoptype=1.0,
x0=0.0,
xmin=0.0,
xmax=1.0,
)
initial_state = system.consistent_initial_state_vector()
perturbed_state = [1.0e-14, initial_state[1]]
self.assertEqual(system.rhs(0.0, initial_state), [0.0, 0.0])
self.assertEqual(system.rhs(0.0, perturbed_state), [0.0, 0.0])
self.assertEqual(mass.v, 1.0e-14)
def test_ideal_stop_rejects_initial_position_outside_limits(self) -> None:
system, _mass = _single_mass_system(