优化雅可比矩阵计算;端口转发情况下仿真结果传输方式优化

This commit is contained in:
lujingze committed 2026-09-12 03:57:31 +00:00
1 parent 3bc4be3c06
commit aa4951b14e
28 files changed
+8038 -23

No files matched your search

+9
View File
@@ -88,10 +88,19 @@ class NativeExecutionTests(unittest.TestCase):
data = execute_native(self.build, config, .02, run_dir=self.root / method)
self.assertTrue(data["success"])
self.assertEqual(data["simulatedUntil"], .1)
self.assertEqual(data["jacobianMode"], "dense-difference" if method == "BDF" else "not-used")
self.assertEqual(data["jacobianRhsCalls"], 0) # Compact model has no grouping benefit.
self.assertLessEqual(data["maxAcceptedStep"], config.max_step+1e-14)
self.assertEqual(set(data["series"]), {"time", *(v.key for v in self.program.variables)})
self.assertTrue(all(np.isfinite(v).all() for v in map(np.asarray, data["series"].values())))
def test_retired_jacobian_selector_is_rejected(self):
for policy in ("dense", "auto", "verify"):
with self.subTest(policy=policy):
result = subprocess.run([str(self.build.executable), "--jacobian", policy],
cwd=self.root, capture_output=True, text=True, timeout=10)
self.assertEqual(result.returncode, 64)
def test_cancellation_returns_partial_accepted_state(self):
config = replace(simulation_config(self.document.simulation), max_step=1e-6)
tracker = SolverActivityTracker()