hermess.tests.test_post_fault_omega_modes ========================================= .. py:module:: hermess.tests.test_post_fault_omega_modes .. autoapi-nested-parse:: Regression tests: simulation must stay finite and bounded after a fault for every reference-frame mode (nom, coi, single, dist) and both line_dyn settings. Guards against DaeSim.exec_dist() rebuilding self.x without refreshing self.omega_ref_*_expr, which left the post-fault integrator referencing stale SX symbols and diverging for every omega_mode except 'nom' (numeric ω_ref). Attributes ---------- .. autoapisummary:: hermess.tests.test_post_fault_omega_modes.FIXTURE_ROOT Functions --------- .. autoapisummary:: hermess.tests.test_post_fault_omega_modes._base_config hermess.tests.test_post_fault_omega_modes._omega_state_indices hermess.tests.test_post_fault_omega_modes._assert_post_fault_healthy hermess.tests.test_post_fault_omega_modes.test_open_line_post_fault hermess.tests.test_post_fault_omega_modes.test_bus_fault_post_clear Module Contents --------------- .. py:data:: FIXTURE_ROOT .. py:function:: _base_config(omega_mode: str, line_dyn: bool, testsystemfile: str) .. py:function:: _omega_state_indices(sim) -> list[int] Return indices of states whose name ends in '_omega' (synchronous-machine rotor speeds and similar). Used as a sanity-check probe. .. py:function:: _assert_post_fault_healthy(sim, fault_time: float) -> None .. py:function:: test_open_line_post_fault(omega_mode: str, line_dyn: bool) -> None 3_bus_lineopen: OPEN_LINE at t=1.0s. Sim must complete and stay sane. .. py:function:: test_bus_fault_post_clear(omega_mode: str, line_dyn: bool) -> None 3_bus_busfault: FAULT_BUS at t=1.0s, CLEAR at t=1.04s. Sim must complete and recover to plausible state.