fullflow 3.0.0__tar.gz → 4.0.0__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.
- {fullflow-3.0.0 → fullflow-4.0.0}/CHANGELOG.md +14 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/PKG-INFO +669 -11
- {fullflow-3.0.0 → fullflow-4.0.0}/README.md +667 -8
- fullflow-4.0.0/examples/linearization/1steady_state.py +61 -0
- fullflow-4.0.0/examples/linearization/2transient.py +128 -0
- fullflow-4.0.0/examples/linearization/3steady_state_sweep.py +106 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/pyproject.toml +3 -12
- {fullflow-3.0.0 → fullflow-4.0.0}/pyproject.toml.orig +3 -12
- fullflow-4.0.0/src/fullflow/Solvers/LINEARIZATION.md +235 -0
- fullflow-4.0.0/src/fullflow/Solvers/__init__.py +6 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/src/fullflow/Solvers/equations.py +1 -0
- fullflow-4.0.0/src/fullflow/Solvers/linearization/__init__.py +5 -0
- fullflow-4.0.0/src/fullflow/Solvers/linearization/checkpoints.py +190 -0
- fullflow-4.0.0/src/fullflow/Solvers/linearization/diagnostics.py +117 -0
- fullflow-4.0.0/src/fullflow/Solvers/linearization/operating_point.py +283 -0
- fullflow-4.0.0/src/fullflow/Solvers/linearization/results.py +80 -0
- fullflow-4.0.0/src/fullflow/Solvers/linearization/solver.py +348 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/src/fullflow/Solvers/steady_state/__init__.py +1 -1
- {fullflow-3.0.0 → fullflow-4.0.0}/src/fullflow/Solvers/steady_state/evaluation.py +2 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/src/fullflow/Solvers/steady_state/models.py +1 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/src/fullflow/Solvers/steady_state/runtime.py +15 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/src/fullflow/Solvers/steady_state/solver.py +69 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/src/fullflow/Solvers/steady_state/statistics.py +19 -0
- fullflow-4.0.0/src/fullflow/Solvers/transient/__init__.py +5 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/src/fullflow/Solvers/transient/diagnostics.py +7 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/src/fullflow/Solvers/transient/evaluation.py +3 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/src/fullflow/Solvers/transient/models.py +7 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/src/fullflow/Solvers/transient/newton.py +2 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/src/fullflow/Solvers/transient/operations.py +8 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/src/fullflow/Solvers/transient/runtime.py +20 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/src/fullflow/Solvers/transient/solver.py +36 -0
- fullflow-4.0.0/src/fullflow/System/Components/Actuators.py +86 -0
- fullflow-4.0.0/src/fullflow/System/Components/Controllers.py +123 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/src/fullflow/__init__.py +1 -1
- fullflow-3.0.0/src/fullflow/Solvers/__init__.py +0 -9
- fullflow-3.0.0/src/fullflow/Solvers/transient/__init__.py +0 -7
- fullflow-3.0.0/src/fullflow/System/Components/Actuators.py +0 -157
- fullflow-3.0.0/src/fullflow/System/Components/Controllers.py +0 -270
- fullflow-3.0.0/tests/test_imports.py +0 -6
- {fullflow-3.0.0 → fullflow-4.0.0}/LICENSE +0 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/THIRD_PARTY_LICENSES.md +0 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/docs/system_reference.md +0 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/examples/general/0state_basics.py +0 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/examples/general/1state_bounds_tracking.py +0 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/examples/general/2balance_basic.py +0 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/examples/general/3balance_multiple.py +0 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/examples/general/4composition_mixer.py +0 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/examples/general/5composition_splitter.py +0 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/examples/general/6lookup_function.py +0 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/examples/general/7lookup_class_chaining.py +0 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/examples/general/8map_manual.py +0 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/examples/general/9map_hdf5.py +0 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/examples/steady_state/0function_lookup.py +0 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/examples/steady_state/1simple_pipe.py +0 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/examples/steady_state/2compressible_flow.py +0 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/examples/steady_state/3custom_component.py +0 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/examples/steady_state/4cavitating_venturi.py +0 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/examples/steady_state/5heat_exchanger.py +0 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/examples/steady_state/6flow_splitter.py +0 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/examples/steady_state/7flow_mixer.py +0 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/examples/steady_state/8turbopump.py +0 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/examples/steady_state/9equilibrium_nozzle.py +0 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/examples/testing/1test_data_anchoring.py +0 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/examples/testing/2sensor_events.py +0 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/examples/testing/3sequences_and_commands.py +0 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/examples/transient/10custom_component.py +0 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/examples/transient/11heat_transfer.py +0 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/examples/transient/12heat_exchanger.py +0 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/examples/transient/13force_steady_heat_transfer.py +0 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/examples/transient/14force_steady_fluid.py +0 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/examples/transient/15piston_cylinder.py +0 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/examples/transient/16balloon.py +0 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/examples/transient/17relief_valve.py +0 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/examples/transient/18combustion_nozzle.py +0 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/examples/transient/19cavitating_venturi.py +0 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/examples/transient/1simple_pipe.py +0 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/examples/transient/20gas_turbine.py +0 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/examples/transient/21heatsink_tca.py +0 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/examples/transient/22water_hammer.py +0 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/examples/transient/23pid_throttle.py +0 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/examples/transient/24sudden_valve_opening.py +0 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/examples/transient/25engine_startup.py +0 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/examples/transient/2node_inertia.py +0 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/examples/transient/3shock_tube.py +0 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/examples/transient/4copv_blowdown.py +0 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/examples/transient/5bang_bang_control.py +0 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/examples/transient/6pump_transient.py +0 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/examples/transient/7flow_mixer.py +0 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/examples/transient/8flow_splitter.py +0 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/examples/transient/9model_options.py +0 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/src/fullflow/Exceptions.py +0 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/src/fullflow/Exports/EXPORTS.md +0 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/src/fullflow/Exports/HDF5.py +0 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/src/fullflow/Exports/__init__.py +0 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/src/fullflow/Solvers/STEADY_STATE_SOLVER.md +0 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/src/fullflow/Solvers/TRANSIENT_SOLVER.md +0 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/src/fullflow/Solvers/balance_filtering.py +0 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/src/fullflow/Solvers/steady_state/diagnostics.py +0 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/src/fullflow/Solvers/steady_state/operations.py +0 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/src/fullflow/Solvers/steady_state/results.py +0 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/src/fullflow/Solvers/steady_state/settings.py +0 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/src/fullflow/Solvers/transient/results.py +0 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/src/fullflow/Solvers/transient/settings.py +0 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/src/fullflow/System/Balance.py +0 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/src/fullflow/System/Component.py +0 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/src/fullflow/System/Components/Composition.py +0 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/src/fullflow/System/Components/CompressibleFlow.py +0 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/src/fullflow/System/Components/ConvectionCoefficients.py +0 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/src/fullflow/System/Components/FrictionFactors.py +0 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/src/fullflow/System/Components/GeneralFlow.py +0 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/src/fullflow/System/Components/HeatTransfer.py +0 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/src/fullflow/System/Components/Lookup.py +0 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/src/fullflow/System/Components/Maps.py +0 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/src/fullflow/System/Components/Nodes.py +0 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/src/fullflow/System/Components/RocketPerformance.py +0 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/src/fullflow/System/Components/Sensor.py +0 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/src/fullflow/System/Components/Sequence.py +0 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/src/fullflow/System/Components/Turbomachinery.py +0 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/src/fullflow/System/Components/__init__.py +0 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/src/fullflow/System/Model.py +0 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/src/fullflow/System/Network.py +0 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/src/fullflow/System/SYSTEM.md +0 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/src/fullflow/System/State.py +0 -0
- {fullflow-3.0.0 → fullflow-4.0.0}/src/fullflow/System/__init__.py +0 -0
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 4.0.0
|
|
4
|
+
|
|
5
|
+
FullFlow 4.0.0 adds local linearization of coupled nonlinear network models for sensitivity analysis and control-system development.
|
|
6
|
+
|
|
7
|
+
### Linearization
|
|
8
|
+
|
|
9
|
+
* Added `SteadyState.linearize()` and `Transient.linearize()` as native solver methods, without import-time class modification.
|
|
10
|
+
* Added continuous-time state-space linearization in physical conserved-state coordinates, returning `A`, `B`, `C`, and `D`, baseline vectors, variable labels, and operating-point metadata.
|
|
11
|
+
|
|
12
|
+
### Limitations
|
|
13
|
+
|
|
14
|
+
* Models are local, continuous-time, and valid only within a fixed operating mode.
|
|
15
|
+
* The implementation does not include event-time sensitivities, automatic state-space simulation, model reduction, or universal protection against side effects in arbitrary custom components.
|
|
16
|
+
|
|
3
17
|
## 3.0.0
|
|
4
18
|
|
|
5
19
|
FullFlow 3.0.0 focuses on solver performance, transient robustness, consistent
|