Skip to content

Add periodic steady state shooting to Simulation#228

Merged
milanofthe merged 1 commit into
masterfrom
feat/periodic-steady-state
Jun 23, 2026
Merged

Add periodic steady state shooting to Simulation#228
milanofthe merged 1 commit into
masterfrom
feat/periodic-steady-state

Conversation

@milanofthe

Copy link
Copy Markdown
Member

Adds Simulation.pss(period, ...) to find the periodic steady state (limit cycle) of a system by shooting.

  • Anderson-accelerated shooting on the initial state: each shot integrates exactly one period with fixed timesteps and the period map fixed point is the limit-cycle initial condition.
  • Data sampling is suppressed during the shooting iterations (new _sampling_enabled flag guarding _sample), so recording blocks stay clean; after convergence the engines are left at the cycle start, ready for a final recording run.
  • Optional transient run to approach the cycle before shooting.

Tests cover a forced linear system (analytic), self-consistency of the period map, sampling suppression, the no-dynamic-states case and a transient warmup.

@codecov

codecov Bot commented Jun 23, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 96.15385% with 2 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
src/pathsim/simulation.py 96.15% 2 Missing ⚠️

📢 Thoughts on this report? Let us know!

@milanofthe milanofthe merged commit 5fc53f5 into master Jun 23, 2026
4 checks passed
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