pathsim 0.29.0__tar.gz → 0.29.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {pathsim-0.29.0 → pathsim-0.29.2}/PKG-INFO +1 -1
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/_version.py +3 -3
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/blocks/bvp.py +3 -1
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/blocks/scope.py +4 -3
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/blocks/spectrum.py +2 -1
- pathsim-0.29.2/src/pathsim/utils/plotting.py +33 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim.egg-info/PKG-INFO +1 -1
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim.egg-info/SOURCES.txt +2 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim.egg-info/scm_file_list.json +2 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim.egg-info/scm_version.json +2 -2
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/blocks/test_bvp.py +22 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/blocks/test_scope.py +0 -3
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/blocks/test_spectrum.py +1 -6
- pathsim-0.29.2/tests/pathsim/utils/test_plotting.py +63 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/.codecov.yml +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/.github/FUNDING.yml +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/.github/pull_request_template.md +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/.github/workflows/pypi_deployment.yml +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/.github/workflows/tests_codecov.yml +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/.github/workflows/urlchecker.yml +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/.gitignore +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/CITATION.cff +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/CONTRIBUTING.md +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/LICENSE.txt +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/README.md +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/conftest.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/abs_braking.ipynb +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/algebraic_loop.ipynb +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/billards.ipynb +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/bouncing_ball.ipynb +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/bouncing_pendulum.ipynb +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/cascade_controller.ipynb +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/checkpoints.ipynb +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/chemical_reactor.ipynb +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/coupled_oscillators.ipynb +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/data/BouncingBall_ME.fmu +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/data/CoupledClutches_CS_linux64.fmu +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/data/CoupledClutches_CS_win64.fmu +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/data/Dahlquist.fmu +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/data/VanDerPol_ME.fmu +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/dcmotor_control.ipynb +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/delta_sigma_adc.ipynb +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/diode_circuit.ipynb +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/elastic_pendulum.ipynb +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/figures/figures_g/algebraicloop_blockdiagram_g.png +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/figures/figures_g/billard_circle_g.png +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/figures/figures_g/bouncing_ball_blockdiagram_g.png +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/figures/figures_g/bouncing_ball_both_g.png +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/figures/figures_g/bouncing_ball_g.png +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/figures/figures_g/bouncing_ball_result_events_g.png +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/figures/figures_g/bouncing_ball_result_g.png +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/figures/figures_g/bouncing_ball_result_timesteps_g.png +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/figures/figures_g/bouncing_pendulum_blockdiagram_g.png +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/figures/figures_g/cascade_blockdiagram_g.png +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/figures/figures_g/coupled_oscillators_blockdiagram_g.png +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/figures/figures_g/coupled_oscillators_g.png +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/figures/figures_g/delta_sigma_blockdiagram_g.png +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/figures/figures_g/diode_blockdiagram_g.png +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/figures/figures_g/elastic_pendulum_g.png +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/figures/figures_g/fmcw_blockdiagram_g.png +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/figures/figures_g/fmcw_g.png +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/figures/figures_g/harmonic_oscillator_g.png +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/figures/figures_g/harmonic_oscillator_result_g.png +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/figures/figures_g/kalman_filter_blockdiagram_g.png +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/figures/figures_g/linear_feedback_blockdiagram_g.png +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/figures/figures_g/linear_feedback_result_g.png +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/figures/figures_g/linear_feedback_result_sensitivity_g.png +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/figures/figures_g/miller_frequency_divider_blockdiagram_g.png +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/figures/figures_g/nonlinear_noisy_amplifier_blockdiagram_g.png +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/figures/figures_g/ode_blockdiagram_g.png +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/figures/figures_g/pendulum_blockdiagram_g.png +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/figures/figures_g/pid_blockdiagram_g.png +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/figures/figures_g/sar_adc_blockdiagram_g.png +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/figures/figures_g/stick_slip_blockdiagram_g.png +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/figures/figures_g/stick_slip_blockdiagram_slip_g.png +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/figures/figures_g/stick_slip_blockdiagram_stick_g.png +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/figures/figures_g/stick_slip_g.png +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/figures/figures_g/thermostat_blockdiagram_g.png +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/figures/figures_g/vanderpol_blockdiagram_g.png +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/figures/figures_g/vanderpol_result_g.png +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/figures/figures_g/vanderpol_subsystem_blockdiagram_g.png +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/figures/figures_g/vanderpol_subsystem_lvl1_g.png +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/figures/figures_g/vanderpol_subsystem_lvl2_g.png +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/figures/figures_g/vanderpol_subsystem_lvl3_g.png +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/figures/figures_g/volterralotka_blockdiagram_g.png +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/figures/ode_blockdiagram_2.png +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/figures/stick_slip_blockdiagram_slip.png +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/figures/stick_slip_blockdiagram_stick.png +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/fmcw_radar.ipynb +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/fmu_cosimulation.ipynb +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/fmu_model_exchange_bouncing_ball.ipynb +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/fmu_model_exchange_vanderpol.ipynb +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/harmonic_oscillator.ipynb +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/kalman_filter.ipynb +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/linear_feedback.ipynb +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/lorenz_attractor.ipynb +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/nested_subsystems.ipynb +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/noisy_amplifier.ipynb +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/pendulum.ipynb +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/pid_controller.ipynb +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/poincare_maps.ipynb +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/rf_network_oneport.ipynb +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/sar_adc.ipynb +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/spectrum_analysis.ipynb +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/stick_slip.ipynb +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/switched_bouncing_ball.ipynb +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/thermostat.ipynb +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/transfer_function.ipynb +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/vanderpol.ipynb +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/docs/source/logos/pathsim_icon.png +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/docs/source/logos/pathsim_logo.png +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/docs/source/logos/pathsim_simplistic_logo.png +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/docs/source/pathsim_docs.mplstyle +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/examples/example_abs_braking.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/examples/example_adc.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/examples/example_algebraicchain.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/examples/example_algebraicloop.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/examples/example_cascade.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/examples/example_dcmotor.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/examples/example_deltasigma.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/examples/example_derivative.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/examples/example_diode.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/examples/example_dualslope.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/examples/example_elastic_pendulum.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/examples/example_feedback.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/examples/example_filters.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/examples/example_harmonic_oscillator.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/examples/example_kalman_filter.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/examples/example_nested_subsystems.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/examples/example_noise.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/examples/example_pendulum.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/examples/example_phasenoise.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/examples/example_pid.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/examples/example_pid_antiwindup.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/examples/example_pid_vs_discretePID.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/examples/example_radar.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/examples/example_reactor.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/examples/example_sar.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/examples/example_solar.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/examples/example_solver_hotswap.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/examples/example_spectrum.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/examples/example_spectrum_rf_oneport.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/examples/example_steadystate.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/examples/example_stickslip.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/examples/example_transferfunction.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/examples/example_vanderpol_subsystem.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/examples/examples_event/example_billards_sphere.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/examples/examples_event/example_bouncing_pendulum.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/examples/examples_event/example_bouncingball.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/examples/examples_event/example_bouncingball_friction.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/examples/examples_event/example_bouncingball_switched.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/examples/examples_event/example_integrator_reset.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/examples/examples_event/example_pulse.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/examples/examples_event/example_stickslip_event.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/examples/examples_event/example_thermostat.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/examples/examples_event/example_volterralotka_event.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/examples/examples_odes/example_bonhoeffer_vanderpol.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/examples/examples_odes/example_brusselator.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/examples/examples_odes/example_chemical.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/examples/examples_odes/example_duffing.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/examples/examples_odes/example_fairen_velarde.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/examples/examples_odes/example_fitzhughnagumo.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/examples/examples_odes/example_flame.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/examples/examples_odes/example_glycolysis.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/examples/examples_odes/example_lorenz.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/examples/examples_odes/example_morse.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/examples/examples_odes/example_robertson.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/examples/examples_odes/example_roessler.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/examples/examples_odes/example_thomas_cyclic.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/examples/examples_odes/example_vanderpol.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/examples/examples_odes/example_volterralotka.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/git +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/pyproject.toml +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/setup.cfg +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/__init__.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/_constants.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/blocks/README.md +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/blocks/__init__.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/blocks/_block.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/blocks/adder.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/blocks/amplifier.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/blocks/comparator.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/blocks/constraint.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/blocks/converters.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/blocks/counter.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/blocks/ctrl.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/blocks/dae.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/blocks/delay.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/blocks/differentiator.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/blocks/discrete.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/blocks/divider.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/blocks/dynsys.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/blocks/filters.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/blocks/fmu.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/blocks/function.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/blocks/integrator.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/blocks/kalman.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/blocks/logic.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/blocks/lti.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/blocks/math.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/blocks/multiplier.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/blocks/noise.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/blocks/ode.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/blocks/relay.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/blocks/rf.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/blocks/rng.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/blocks/sources.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/blocks/splitter.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/blocks/switch.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/blocks/table.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/blocks/wrapper.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/connection.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/events/__init__.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/events/_event.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/events/condition.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/events/schedule.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/events/zerocrossing.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/exceptions.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/optim/__init__.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/optim/anderson.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/optim/booster.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/optim/jacobian.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/optim/linearization.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/optim/newton.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/optim/numerical.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/optim/operator.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/simulation.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/solvers/README.md +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/solvers/__init__.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/solvers/_rungekutta.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/solvers/_solver.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/solvers/bdf.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/solvers/dirk2.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/solvers/dirk3.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/solvers/esdirk32.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/solvers/esdirk4.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/solvers/esdirk43.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/solvers/esdirk54.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/solvers/esdirk85.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/solvers/euler.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/solvers/gear.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/solvers/rk4.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/solvers/rkbs32.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/solvers/rkck54.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/solvers/rkdp54.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/solvers/rkdp87.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/solvers/rkf21.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/solvers/rkf45.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/solvers/rkf78.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/solvers/rkv65.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/solvers/ssprk22.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/solvers/ssprk33.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/solvers/ssprk34.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/solvers/steadystate.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/subsystem.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/utils/__init__.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/utils/adaptivebuffer.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/utils/analysis.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/utils/carrier.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/utils/deprecation.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/utils/diagnostics.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/utils/fmuwrapper.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/utils/gilbert.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/utils/graph.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/utils/logger.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/utils/mutable.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/utils/portreference.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/utils/progresstracker.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/utils/realtimeplotter.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim/utils/register.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim.egg-info/dependency_links.txt +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim.egg-info/requires.txt +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/src/pathsim.egg-info/top_level.txt +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/README.md +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/__init__.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/evals/CoupledClutches_CS.fmu +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/evals/__init__.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/evals/conftest.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/evals/test_algebraic_system.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/evals/test_bouncingball_friction_event_system.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/evals/test_bouncingball_system.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/evals/test_brusselator_system.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/evals/test_cosim_fmu_system.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/evals/test_counter_comparator_system.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/evals/test_dynamical_system_ivp.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/evals/test_fitzhughnagumo_system.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/evals/test_harmonic_oscillator_system.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/evals/test_linear_feedback_system.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/evals/test_logic_system.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/evals/test_lorenz_system.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/evals/test_me_analytical.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/evals/test_model_exchange_fmu_system.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/evals/test_pid_system.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/evals/test_relay_thermostat_system.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/evals/test_rescale_delay_system.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/evals/test_robertson_system.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/evals/test_roessler_system.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/evals/test_signal_processing_system.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/evals/test_steadystate_transient_system.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/evals/test_switch_lti_system.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/evals/test_vanderpol_system.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/evals/test_volterralotka_system.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/__init__.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/blocks/__init__.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/blocks/_embedding.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/blocks/rf/__init__.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/blocks/rf/ring_slot.s2p +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/blocks/rf/ring_slot_meas.s1p +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/blocks/rf/test_rf.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/blocks/test_adder.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/blocks/test_amplifier.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/blocks/test_block.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/blocks/test_comparator.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/blocks/test_constraint.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/blocks/test_converters.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/blocks/test_counter.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/blocks/test_ctrl.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/blocks/test_dae.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/blocks/test_delay.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/blocks/test_delay_channels.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/blocks/test_differentiator.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/blocks/test_discrete.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/blocks/test_divider.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/blocks/test_dynsys.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/blocks/test_filters.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/blocks/test_fmu.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/blocks/test_function.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/blocks/test_integrator.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/blocks/test_kalman.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/blocks/test_logic.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/blocks/test_lti.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/blocks/test_math.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/blocks/test_multiplier.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/blocks/test_noise.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/blocks/test_ode.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/blocks/test_relay.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/blocks/test_rng.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/blocks/test_sources.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/blocks/test_sparsedae.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/blocks/test_splitter.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/blocks/test_switch.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/blocks/test_table.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/blocks/test_wrapper.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/events/__init__.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/events/test_condition.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/events/test_event.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/events/test_schedule.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/events/test_zerocrossing.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/optim/__init__.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/optim/test_anderson.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/optim/test_linearization.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/optim/test_newton.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/optim/test_numerical.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/optim/test_operator.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/optim/test_sparse_newton.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/solvers/__init__.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/solvers/_referenceproblems.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/solvers/test_bdf.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/solvers/test_dirk2.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/solvers/test_dirk3.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/solvers/test_esdirk32.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/solvers/test_esdirk4.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/solvers/test_esdirk43.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/solvers/test_esdirk54.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/solvers/test_esdirk85.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/solvers/test_euler.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/solvers/test_gear.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/solvers/test_rfk21.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/solvers/test_rk4.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/solvers/test_rkbs32.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/solvers/test_rkck54.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/solvers/test_rkdp54.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/solvers/test_rkdp87.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/solvers/test_rkf45.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/solvers/test_rkf78.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/solvers/test_rkv65.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/solvers/test_solver.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/solvers/test_ssprk22.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/solvers/test_ssprk33.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/solvers/test_ssprk34.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/solvers/test_steadystate.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/test_auto_initial_step.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/test_checkpoint.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/test_connection.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/test_diagnostics.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/test_simulation.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/test_simulation_pss.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/test_simulation_steadystate_recovery.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/test_subsystem.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/test_subsystem_current_inputs.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/utils/__init__.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/utils/test_adaptivebuffer.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/utils/test_analysis.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/utils/test_carrier.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/utils/test_fmuwrapper.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/utils/test_gilbert.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/utils/test_graph.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/utils/test_logger.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/utils/test_mutable.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/utils/test_portreference.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/utils/test_progresstracker.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/utils/test_realtimeplotter.py +0 -0
- {pathsim-0.29.0 → pathsim-0.29.2}/tests/pathsim/utils/test_register.py +0 -0
|
@@ -18,7 +18,7 @@ version_tuple: tuple[int | str, ...]
|
|
|
18
18
|
commit_id: str | None
|
|
19
19
|
__commit_id__: str | None
|
|
20
20
|
|
|
21
|
-
__version__ = version = '0.29.
|
|
22
|
-
__version_tuple__ = version_tuple = (0, 29,
|
|
21
|
+
__version__ = version = '0.29.2'
|
|
22
|
+
__version_tuple__ = version_tuple = (0, 29, 2)
|
|
23
23
|
|
|
24
|
-
__commit_id__ = commit_id = '
|
|
24
|
+
__commit_id__ = commit_id = 'gc2d44b82b'
|
|
@@ -252,8 +252,10 @@ class BVP1D(Block):
|
|
|
252
252
|
u = self.inputs.to_array()
|
|
253
253
|
|
|
254
254
|
#skip the solve if the boundary data is unchanged since the last
|
|
255
|
-
#successful solve; the warm-start and output are still valid
|
|
255
|
+
#successful solve; the warm-start and output are still valid, also
|
|
256
|
+
#when a solve for another input failed in between
|
|
256
257
|
if self._u_last is not None and np.array_equal(u, self._u_last):
|
|
258
|
+
self.success = True
|
|
257
259
|
return
|
|
258
260
|
|
|
259
261
|
#scipy callbacks, with or without free parameters
|
|
@@ -18,6 +18,7 @@ import matplotlib.pyplot as plt
|
|
|
18
18
|
from ._block import Block
|
|
19
19
|
from ..events.schedule import Schedule
|
|
20
20
|
from ..utils.realtimeplotter import RealtimePlotter
|
|
21
|
+
from ..utils.plotting import show
|
|
21
22
|
from ..utils.deprecation import deprecated
|
|
22
23
|
|
|
23
24
|
from .._constants import COLORS_ALL
|
|
@@ -270,7 +271,7 @@ class Scope(Block):
|
|
|
270
271
|
fig.canvas.mpl_connect("pick_event", on_pick)
|
|
271
272
|
|
|
272
273
|
#show the plot without blocking following code
|
|
273
|
-
|
|
274
|
+
show(fig)
|
|
274
275
|
|
|
275
276
|
#return figure and axis for outside manipulation
|
|
276
277
|
return fig, ax
|
|
@@ -337,7 +338,7 @@ class Scope(Block):
|
|
|
337
338
|
ax.grid()
|
|
338
339
|
|
|
339
340
|
#show the plot without blocking following code
|
|
340
|
-
|
|
341
|
+
show(fig)
|
|
341
342
|
|
|
342
343
|
#return figure and axis for outside manipulation
|
|
343
344
|
return fig, ax
|
|
@@ -408,7 +409,7 @@ class Scope(Block):
|
|
|
408
409
|
ax.set_zlabel(label3)
|
|
409
410
|
|
|
410
411
|
#show the plot without blocking
|
|
411
|
-
|
|
412
|
+
show(fig)
|
|
412
413
|
|
|
413
414
|
return fig, ax
|
|
414
415
|
|
|
@@ -14,6 +14,7 @@ import matplotlib.pyplot as plt
|
|
|
14
14
|
from ._block import Block
|
|
15
15
|
|
|
16
16
|
from ..utils.realtimeplotter import RealtimePlotter
|
|
17
|
+
from ..utils.plotting import show
|
|
17
18
|
from ..utils.deprecation import deprecated
|
|
18
19
|
from ..utils.mutable import mutable
|
|
19
20
|
|
|
@@ -386,7 +387,7 @@ class Spectrum(Block):
|
|
|
386
387
|
self.fig.canvas.mpl_connect("pick_event", on_pick)
|
|
387
388
|
|
|
388
389
|
#show the plot without blocking following code
|
|
389
|
-
|
|
390
|
+
show(self.fig)
|
|
390
391
|
|
|
391
392
|
#return figure and axis for outside manipulation
|
|
392
393
|
return self.fig, self.ax
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
#########################################################################################
|
|
2
|
+
##
|
|
3
|
+
## PLOTTING HELPERS
|
|
4
|
+
## (utils/plotting.py)
|
|
5
|
+
##
|
|
6
|
+
#########################################################################################
|
|
7
|
+
|
|
8
|
+
# IMPORTS ===============================================================================
|
|
9
|
+
|
|
10
|
+
import matplotlib.pyplot as plt
|
|
11
|
+
|
|
12
|
+
from matplotlib.backend_bases import FigureManagerBase
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
# FUNCTIONS =============================================================================
|
|
16
|
+
|
|
17
|
+
def show(fig):
|
|
18
|
+
"""Show a figure without blocking the following code, if the matplotlib
|
|
19
|
+
backend opens figures in a window.
|
|
20
|
+
|
|
21
|
+
Backends without a window, such as the inline backend of Jupyter or 'Agg',
|
|
22
|
+
use the generic 'FigureManagerBase'. Jupyter displays the figure at the end
|
|
23
|
+
of the cell by itself, so the figure stays open for changes after the plot
|
|
24
|
+
call, for example 'ax.set_title(...)'.
|
|
25
|
+
|
|
26
|
+
Parameters
|
|
27
|
+
----------
|
|
28
|
+
fig : matplotlib.figure.Figure
|
|
29
|
+
figure to show
|
|
30
|
+
"""
|
|
31
|
+
if type(fig.canvas.manager) is FigureManagerBase:
|
|
32
|
+
return
|
|
33
|
+
plt.show(block=False)
|
|
@@ -260,6 +260,7 @@ src/pathsim/utils/gilbert.py
|
|
|
260
260
|
src/pathsim/utils/graph.py
|
|
261
261
|
src/pathsim/utils/logger.py
|
|
262
262
|
src/pathsim/utils/mutable.py
|
|
263
|
+
src/pathsim/utils/plotting.py
|
|
263
264
|
src/pathsim/utils/portreference.py
|
|
264
265
|
src/pathsim/utils/progresstracker.py
|
|
265
266
|
src/pathsim/utils/realtimeplotter.py
|
|
@@ -393,6 +394,7 @@ tests/pathsim/utils/test_gilbert.py
|
|
|
393
394
|
tests/pathsim/utils/test_graph.py
|
|
394
395
|
tests/pathsim/utils/test_logger.py
|
|
395
396
|
tests/pathsim/utils/test_mutable.py
|
|
397
|
+
tests/pathsim/utils/test_plotting.py
|
|
396
398
|
tests/pathsim/utils/test_portreference.py
|
|
397
399
|
tests/pathsim/utils/test_progresstracker.py
|
|
398
400
|
tests/pathsim/utils/test_realtimeplotter.py
|
|
@@ -254,6 +254,7 @@
|
|
|
254
254
|
"src/pathsim/utils/graph.py",
|
|
255
255
|
"src/pathsim/utils/logger.py",
|
|
256
256
|
"src/pathsim/utils/mutable.py",
|
|
257
|
+
"src/pathsim/utils/plotting.py",
|
|
257
258
|
"src/pathsim/utils/portreference.py",
|
|
258
259
|
"src/pathsim/utils/progresstracker.py",
|
|
259
260
|
"src/pathsim/utils/realtimeplotter.py",
|
|
@@ -387,6 +388,7 @@
|
|
|
387
388
|
"tests/pathsim/utils/test_graph.py",
|
|
388
389
|
"tests/pathsim/utils/test_logger.py",
|
|
389
390
|
"tests/pathsim/utils/test_mutable.py",
|
|
391
|
+
"tests/pathsim/utils/test_plotting.py",
|
|
390
392
|
"tests/pathsim/utils/test_portreference.py",
|
|
391
393
|
"tests/pathsim/utils/test_progresstracker.py",
|
|
392
394
|
"tests/pathsim/utils/test_realtimeplotter.py",
|
|
@@ -173,6 +173,28 @@ class TestBVP1D(unittest.TestCase):
|
|
|
173
173
|
np.testing.assert_allclose(bvp.solution()[0, 2], 2.0*np.sin(np.pi/4), atol=1e-5)
|
|
174
174
|
|
|
175
175
|
|
|
176
|
+
def test_return_to_solved_input_after_failed_solve(self):
|
|
177
|
+
#a failed solve keeps the previous solution, returning to the input of
|
|
178
|
+
#that solution reuses it and reports success again (pathsim#275)
|
|
179
|
+
fun = lambda x, y, p, u: np.vstack([y[1], -y[0] if u[0] > 0 else np.nan*y[0]])
|
|
180
|
+
bc = lambda ya, yb, p, u: np.array([ya[0], yb[0] - u[0]])
|
|
181
|
+
bvp = BVP1D(fun, bc, n=2, domain=(0.0, np.pi/2))
|
|
182
|
+
|
|
183
|
+
bvp.inputs[0] = 2.0
|
|
184
|
+
bvp.update(0.0)
|
|
185
|
+
self.assertTrue(bvp.success)
|
|
186
|
+
y_ok = bvp.outputs.to_array()
|
|
187
|
+
|
|
188
|
+
bvp.inputs[0] = -1.0
|
|
189
|
+
bvp.update(0.0)
|
|
190
|
+
self.assertFalse(bvp.success)
|
|
191
|
+
|
|
192
|
+
bvp.inputs[0] = 2.0
|
|
193
|
+
bvp.update(0.0)
|
|
194
|
+
self.assertTrue(bvp.success)
|
|
195
|
+
np.testing.assert_array_equal(bvp.outputs.to_array(), y_ok)
|
|
196
|
+
|
|
197
|
+
|
|
176
198
|
def test_input_unchanged_skips_resolve(self):
|
|
177
199
|
#a re-evaluation with unchanged input must not trigger another solve,
|
|
178
200
|
#but a changed input must
|
|
@@ -261,7 +261,6 @@ class TestScope(unittest.TestCase):
|
|
|
261
261
|
self.assertIn("no recording", str(w[0].message))
|
|
262
262
|
|
|
263
263
|
|
|
264
|
-
@unittest.skip("Matplotlib/numpy compatibility issue in Python 3.13")
|
|
265
264
|
def test_plot_with_data(self):
|
|
266
265
|
"""Test plot() with recorded data"""
|
|
267
266
|
|
|
@@ -324,7 +323,6 @@ class TestScope(unittest.TestCase):
|
|
|
324
323
|
self.assertIn("not enough channels", str(w[0].message))
|
|
325
324
|
|
|
326
325
|
|
|
327
|
-
@unittest.skip("Matplotlib/numpy compatibility issue in Python 3.13")
|
|
328
326
|
def test_plot2D_with_data(self):
|
|
329
327
|
"""Test plot2D() with 2 channels"""
|
|
330
328
|
|
|
@@ -408,7 +406,6 @@ class TestScope(unittest.TestCase):
|
|
|
408
406
|
self.assertIn("at least 3 channels", str(w[0].message))
|
|
409
407
|
|
|
410
408
|
|
|
411
|
-
@unittest.skip("Matplotlib/numpy compatibility issue in Python 3.13")
|
|
412
409
|
def test_plot3D_with_data(self):
|
|
413
410
|
"""Test plot3D() with 3 channels"""
|
|
414
411
|
|
|
@@ -265,7 +265,6 @@ class TestSpectrum(unittest.TestCase):
|
|
|
265
265
|
S.update(10.0)
|
|
266
266
|
|
|
267
267
|
|
|
268
|
-
@unittest.skip("NumPy compatibility issue in Python 3.13")
|
|
269
268
|
def test_read_with_state(self):
|
|
270
269
|
"""Test read returns spectrum from solver state"""
|
|
271
270
|
|
|
@@ -288,7 +287,6 @@ class TestSpectrum(unittest.TestCase):
|
|
|
288
287
|
np.testing.assert_array_almost_equal(spec[0], state / S.time)
|
|
289
288
|
|
|
290
289
|
|
|
291
|
-
@unittest.skip("NumPy compatibility issue in Python 3.13")
|
|
292
290
|
def test_read_with_alpha(self):
|
|
293
291
|
"""Test read with forgetting factor applies correct scaling"""
|
|
294
292
|
|
|
@@ -323,7 +321,6 @@ class TestSpectrum(unittest.TestCase):
|
|
|
323
321
|
self.assertIsNone(result)
|
|
324
322
|
|
|
325
323
|
|
|
326
|
-
@unittest.skip("Matplotlib/numpy compatibility issue in Python 3.13")
|
|
327
324
|
def test_plot_with_data(self):
|
|
328
325
|
"""Test plot creates figure with data"""
|
|
329
326
|
|
|
@@ -449,7 +446,6 @@ class TestRealtimeSpectrum(unittest.TestCase):
|
|
|
449
446
|
Test the implementation of the 'RealtimeSpectrum' block class
|
|
450
447
|
"""
|
|
451
448
|
|
|
452
|
-
@unittest.skip("Matplotlib/numpy compatibility issue in Python 3.13")
|
|
453
449
|
def test_init(self):
|
|
454
450
|
"""Test RealtimeSpectrum initialization"""
|
|
455
451
|
|
|
@@ -477,7 +473,6 @@ class TestRealtimeSpectrum(unittest.TestCase):
|
|
|
477
473
|
self.assertIsNotNone(RS.plotter)
|
|
478
474
|
|
|
479
475
|
|
|
480
|
-
@unittest.skip("Matplotlib/numpy compatibility issue in Python 3.13")
|
|
481
476
|
def test_step_early_time(self):
|
|
482
477
|
"""Test step before effective time > dt"""
|
|
483
478
|
|
|
@@ -500,7 +495,7 @@ class TestRealtimeSpectrum(unittest.TestCase):
|
|
|
500
495
|
self.assertIsNone(scale) # No rescale needed
|
|
501
496
|
|
|
502
497
|
|
|
503
|
-
@unittest.skip("
|
|
498
|
+
@unittest.skip("Base Solver.step does not return an error estimate")
|
|
504
499
|
def test_step_after_wait(self):
|
|
505
500
|
"""Test step after wait period with solver"""
|
|
506
501
|
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
########################################################################################
|
|
2
|
+
##
|
|
3
|
+
## TESTS FOR
|
|
4
|
+
## 'utils.plotting.py'
|
|
5
|
+
##
|
|
6
|
+
## Milan Rother 2026
|
|
7
|
+
##
|
|
8
|
+
########################################################################################
|
|
9
|
+
|
|
10
|
+
# IMPORTS ==============================================================================
|
|
11
|
+
|
|
12
|
+
import unittest
|
|
13
|
+
from unittest import mock
|
|
14
|
+
|
|
15
|
+
import matplotlib
|
|
16
|
+
matplotlib.use("Agg")
|
|
17
|
+
import matplotlib.pyplot as plt
|
|
18
|
+
|
|
19
|
+
from matplotlib.backend_bases import FigureManagerBase
|
|
20
|
+
|
|
21
|
+
from pathsim.utils.plotting import show
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
# TESTS ================================================================================
|
|
25
|
+
|
|
26
|
+
class TestShow(unittest.TestCase):
|
|
27
|
+
"""
|
|
28
|
+
Test the 'show' helper for figures
|
|
29
|
+
"""
|
|
30
|
+
|
|
31
|
+
def tearDown(self):
|
|
32
|
+
plt.close("all")
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
def test_no_window(self):
|
|
36
|
+
"""backends without a window (Agg, Jupyter inline) dont show"""
|
|
37
|
+
|
|
38
|
+
fig, _ = plt.subplots()
|
|
39
|
+
self.assertIs(type(fig.canvas.manager), FigureManagerBase)
|
|
40
|
+
|
|
41
|
+
with mock.patch("pathsim.utils.plotting.plt.show") as plt_show:
|
|
42
|
+
show(fig)
|
|
43
|
+
plt_show.assert_not_called()
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
def test_window(self):
|
|
47
|
+
"""backends with a window show without blocking"""
|
|
48
|
+
|
|
49
|
+
class WindowManager(FigureManagerBase):
|
|
50
|
+
pass
|
|
51
|
+
|
|
52
|
+
fig, _ = plt.subplots()
|
|
53
|
+
fig.canvas.manager = WindowManager(fig.canvas, 1)
|
|
54
|
+
|
|
55
|
+
with mock.patch("pathsim.utils.plotting.plt.show") as plt_show:
|
|
56
|
+
show(fig)
|
|
57
|
+
plt_show.assert_called_once_with(block=False)
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
# RUN TESTS LOCALLY ====================================================================
|
|
61
|
+
|
|
62
|
+
if __name__ == '__main__':
|
|
63
|
+
unittest.main(verbosity=2)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/figures/figures_g/billard_circle_g.png
RENAMED
|
File without changes
|
|
File without changes
|
{pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/figures/figures_g/bouncing_ball_both_g.png
RENAMED
|
File without changes
|
{pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/figures/figures_g/bouncing_ball_g.png
RENAMED
|
File without changes
|
|
File without changes
|
{pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/figures/figures_g/bouncing_ball_result_g.png
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/figures/figures_g/cascade_blockdiagram_g.png
RENAMED
|
File without changes
|
|
File without changes
|
{pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/figures/figures_g/coupled_oscillators_g.png
RENAMED
|
File without changes
|
|
File without changes
|
{pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/figures/figures_g/diode_blockdiagram_g.png
RENAMED
|
File without changes
|
{pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/figures/figures_g/elastic_pendulum_g.png
RENAMED
|
File without changes
|
{pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/figures/figures_g/fmcw_blockdiagram_g.png
RENAMED
|
File without changes
|
|
File without changes
|
{pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/figures/figures_g/harmonic_oscillator_g.png
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/figures/figures_g/ode_blockdiagram_g.png
RENAMED
|
File without changes
|
{pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/figures/figures_g/pendulum_blockdiagram_g.png
RENAMED
|
File without changes
|
{pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/figures/figures_g/pid_blockdiagram_g.png
RENAMED
|
File without changes
|
{pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/figures/figures_g/sar_adc_blockdiagram_g.png
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/figures/figures_g/vanderpol_result_g.png
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/figures/stick_slip_blockdiagram_slip.png
RENAMED
|
File without changes
|
{pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/figures/stick_slip_blockdiagram_stick.png
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pathsim-0.29.0 → pathsim-0.29.2}/docs/source/examples/fmu_model_exchange_bouncing_ball.ipynb
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|