Skip to content

Part 2: Operator Snapshot Layer – per-substep DW state exposure#64

Open
wiesnerfriedman wants to merge 1 commit intoHydroCouple:swmm6_relfrom
wiesnerfriedman:pr/operator-snapshot
Open

Part 2: Operator Snapshot Layer – per-substep DW state exposure#64
wiesnerfriedman wants to merge 1 commit intoHydroCouple:swmm6_relfrom
wiesnerfriedman:pr/operator-snapshot

Conversation

@wiesnerfriedman
Copy link
Copy Markdown
Collaborator

  • Add openswmm_operator_snapshot.h: C API for snapshot callback and poll-mode
  • Add OperatorSnapshotState.hpp: per-instance snapshot storage and staging buffers
  • Wire snapshot populate + callback into SWMMEngine::stepRouting()
  • Add DWSolver::populateSnapshot() with zero-copy pointers into solver buffers
  • Wire iteration history (resetIterCount/recordResidual) into Picard loop
  • Add C API: swmm_set_operator_snapshot_callback, swmm_get_operator_snapshot, swmm_enable_iteration_history, swmm_get_iteration_residual
  • Fix error code redefinition conflict (SWMM_ERR_WRONG_STATE alias)
  • Add IntelliSense workaround for dllimport false positives
  • Add test_operator_snapshot.cpp (4 tests) and bench_operator_snapshot.cpp
  • Register test and benchmark in CMakeLists.txt

- Add openswmm_operator_snapshot.h: C API for snapshot callback and poll-mode
- Add OperatorSnapshotState.hpp: per-instance snapshot storage and staging buffers
- Wire snapshot populate + callback into SWMMEngine::stepRouting()
- Add DWSolver::populateSnapshot() with zero-copy pointers into solver buffers
- Wire iteration history (resetIterCount/recordResidual) into Picard loop
- Add C API: swmm_set_operator_snapshot_callback, swmm_get_operator_snapshot,
  swmm_enable_iteration_history, swmm_get_iteration_residual
- Fix error code redefinition conflict (SWMM_ERR_WRONG_STATE alias)
- Add IntelliSense workaround for dllimport false positives
- Add test_operator_snapshot.cpp (4 tests) and bench_operator_snapshot.cpp
- Register test and benchmark in CMakeLists.txt
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant