fullflow 2.0.3__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-2.0.3 → fullflow-4.0.0}/CHANGELOG.md +33 -0
- {fullflow-2.0.3 → fullflow-4.0.0}/PKG-INFO +669 -11
- {fullflow-2.0.3 → 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-2.0.3 → fullflow-4.0.0}/examples/steady_state/0function_lookup.py +8 -2
- {fullflow-2.0.3 → fullflow-4.0.0}/examples/steady_state/2compressible_flow.py +5 -5
- {fullflow-2.0.3 → fullflow-4.0.0}/examples/steady_state/3custom_component.py +3 -2
- {fullflow-2.0.3 → fullflow-4.0.0}/examples/steady_state/4cavitating_venturi.py +7 -1
- {fullflow-2.0.3 → fullflow-4.0.0}/examples/steady_state/5heat_exchanger.py +11 -12
- {fullflow-2.0.3 → fullflow-4.0.0}/examples/steady_state/8turbopump.py +5 -8
- {fullflow-2.0.3 → fullflow-4.0.0}/examples/steady_state/9equilibrium_nozzle.py +15 -17
- {fullflow-2.0.3 → fullflow-4.0.0}/examples/testing/1test_data_anchoring.py +15 -7
- {fullflow-2.0.3 → fullflow-4.0.0}/examples/testing/2sensor_events.py +10 -2
- {fullflow-2.0.3 → fullflow-4.0.0}/examples/testing/3sequences_and_commands.py +10 -2
- {fullflow-2.0.3 → fullflow-4.0.0}/examples/transient/10custom_component.py +12 -3
- {fullflow-2.0.3 → fullflow-4.0.0}/examples/transient/11heat_transfer.py +12 -4
- {fullflow-2.0.3 → fullflow-4.0.0}/examples/transient/12heat_exchanger.py +23 -17
- {fullflow-2.0.3 → fullflow-4.0.0}/examples/transient/13force_steady_heat_transfer.py +19 -11
- {fullflow-2.0.3 → fullflow-4.0.0}/examples/transient/14force_steady_fluid.py +23 -12
- {fullflow-2.0.3 → fullflow-4.0.0}/examples/transient/15piston_cylinder.py +15 -16
- {fullflow-2.0.3 → fullflow-4.0.0}/examples/transient/16balloon.py +13 -5
- {fullflow-2.0.3 → fullflow-4.0.0}/examples/transient/17relief_valve.py +21 -12
- {fullflow-2.0.3 → fullflow-4.0.0}/examples/transient/18combustion_nozzle.py +19 -10
- {fullflow-2.0.3 → fullflow-4.0.0}/examples/transient/19cavitating_venturi.py +35 -28
- {fullflow-2.0.3 → fullflow-4.0.0}/examples/transient/1simple_pipe.py +13 -4
- {fullflow-2.0.3 → fullflow-4.0.0}/examples/transient/20gas_turbine.py +13 -6
- {fullflow-2.0.3 → fullflow-4.0.0}/examples/transient/21heatsink_tca.py +24 -18
- {fullflow-2.0.3 → fullflow-4.0.0}/examples/transient/22water_hammer.py +27 -35
- {fullflow-2.0.3 → fullflow-4.0.0}/examples/transient/23pid_throttle.py +35 -37
- {fullflow-2.0.3 → fullflow-4.0.0}/examples/transient/24sudden_valve_opening.py +14 -18
- {fullflow-2.0.3 → fullflow-4.0.0}/examples/transient/25engine_startup.py +25 -22
- {fullflow-2.0.3 → fullflow-4.0.0}/examples/transient/2node_inertia.py +12 -4
- {fullflow-2.0.3 → fullflow-4.0.0}/examples/transient/3shock_tube.py +11 -3
- {fullflow-2.0.3 → fullflow-4.0.0}/examples/transient/4copv_blowdown.py +15 -12
- {fullflow-2.0.3 → fullflow-4.0.0}/examples/transient/5bang_bang_control.py +20 -13
- {fullflow-2.0.3 → fullflow-4.0.0}/examples/transient/6pump_transient.py +27 -38
- {fullflow-2.0.3 → fullflow-4.0.0}/examples/transient/7flow_mixer.py +13 -4
- {fullflow-2.0.3 → fullflow-4.0.0}/examples/transient/8flow_splitter.py +13 -4
- {fullflow-2.0.3 → fullflow-4.0.0}/examples/transient/9model_options.py +21 -21
- {fullflow-2.0.3 → fullflow-4.0.0}/pyproject.toml +3 -12
- {fullflow-2.0.3 → fullflow-4.0.0}/pyproject.toml.orig +3 -12
- {fullflow-2.0.3 → fullflow-4.0.0}/src/fullflow/Exports/HDF5.py +8 -105
- fullflow-4.0.0/src/fullflow/Solvers/LINEARIZATION.md +235 -0
- fullflow-4.0.0/src/fullflow/Solvers/__init__.py +6 -0
- {fullflow-2.0.3 → fullflow-4.0.0}/src/fullflow/Solvers/balance_filtering.py +1 -8
- {fullflow-2.0.3 → fullflow-4.0.0}/src/fullflow/Solvers/equations.py +6 -47
- 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-4.0.0/src/fullflow/Solvers/steady_state/__init__.py +5 -0
- {fullflow-2.0.3 → fullflow-4.0.0}/src/fullflow/Solvers/steady_state/diagnostics.py +4 -24
- fullflow-4.0.0/src/fullflow/Solvers/steady_state/evaluation.py +89 -0
- {fullflow-2.0.3 → fullflow-4.0.0}/src/fullflow/Solvers/steady_state/models.py +7 -41
- fullflow-4.0.0/src/fullflow/Solvers/steady_state/operations.py +322 -0
- {fullflow-2.0.3 → fullflow-4.0.0}/src/fullflow/Solvers/steady_state/runtime.py +123 -85
- {fullflow-2.0.3 → fullflow-4.0.0}/src/fullflow/Solvers/steady_state/settings.py +3 -19
- {fullflow-2.0.3 → fullflow-4.0.0}/src/fullflow/Solvers/steady_state/solver.py +83 -288
- {fullflow-2.0.3 → fullflow-4.0.0}/src/fullflow/Solvers/steady_state/statistics.py +21 -14
- fullflow-4.0.0/src/fullflow/Solvers/transient/__init__.py +5 -0
- {fullflow-2.0.3 → fullflow-4.0.0}/src/fullflow/Solvers/transient/diagnostics.py +9 -16
- {fullflow-2.0.3 → fullflow-4.0.0}/src/fullflow/Solvers/transient/evaluation.py +28 -30
- {fullflow-2.0.3 → fullflow-4.0.0}/src/fullflow/Solvers/transient/models.py +11 -29
- fullflow-4.0.0/src/fullflow/Solvers/transient/newton.py +229 -0
- fullflow-4.0.0/src/fullflow/Solvers/transient/operations.py +815 -0
- {fullflow-2.0.3 → fullflow-4.0.0}/src/fullflow/Solvers/transient/results.py +2 -15
- {fullflow-2.0.3 → fullflow-4.0.0}/src/fullflow/Solvers/transient/runtime.py +202 -214
- fullflow-4.0.0/src/fullflow/Solvers/transient/settings.py +36 -0
- {fullflow-2.0.3 → fullflow-4.0.0}/src/fullflow/Solvers/transient/solver.py +42 -159
- {fullflow-2.0.3 → fullflow-4.0.0}/src/fullflow/System/Balance.py +3 -39
- {fullflow-2.0.3 → fullflow-4.0.0}/src/fullflow/System/Component.py +35 -139
- fullflow-4.0.0/src/fullflow/System/Components/Actuators.py +86 -0
- fullflow-4.0.0/src/fullflow/System/Components/Composition.py +127 -0
- {fullflow-2.0.3 → fullflow-4.0.0}/src/fullflow/System/Components/CompressibleFlow.py +16 -81
- fullflow-4.0.0/src/fullflow/System/Components/Controllers.py +123 -0
- {fullflow-2.0.3 → fullflow-4.0.0}/src/fullflow/System/Components/ConvectionCoefficients.py +40 -160
- {fullflow-2.0.3 → fullflow-4.0.0}/src/fullflow/System/Components/FrictionFactors.py +16 -63
- {fullflow-2.0.3 → fullflow-4.0.0}/src/fullflow/System/Components/GeneralFlow.py +49 -256
- fullflow-4.0.0/src/fullflow/System/Components/HeatTransfer.py +231 -0
- {fullflow-2.0.3 → fullflow-4.0.0}/src/fullflow/System/Components/Lookup.py +23 -218
- {fullflow-2.0.3 → fullflow-4.0.0}/src/fullflow/System/Components/Maps.py +51 -73
- {fullflow-2.0.3 → fullflow-4.0.0}/src/fullflow/System/Components/Nodes.py +19 -115
- fullflow-4.0.0/src/fullflow/System/Components/RocketPerformance.py +56 -0
- {fullflow-2.0.3 → fullflow-4.0.0}/src/fullflow/System/Components/Sensor.py +16 -84
- {fullflow-2.0.3 → fullflow-4.0.0}/src/fullflow/System/Components/Sequence.py +10 -111
- {fullflow-2.0.3 → fullflow-4.0.0}/src/fullflow/System/Components/Turbomachinery.py +24 -108
- {fullflow-2.0.3 → fullflow-4.0.0}/src/fullflow/System/Model.py +5 -40
- {fullflow-2.0.3 → fullflow-4.0.0}/src/fullflow/System/Network.py +5 -55
- {fullflow-2.0.3 → fullflow-4.0.0}/src/fullflow/System/State.py +31 -131
- {fullflow-2.0.3 → fullflow-4.0.0}/src/fullflow/__init__.py +1 -1
- fullflow-2.0.3/src/fullflow/Solvers/__init__.py +0 -9
- fullflow-2.0.3/src/fullflow/Solvers/steady_state/__init__.py +0 -23
- fullflow-2.0.3/src/fullflow/Solvers/steady_state/evaluation.py +0 -149
- fullflow-2.0.3/src/fullflow/Solvers/steady_state/operations.py +0 -363
- fullflow-2.0.3/src/fullflow/Solvers/transient/__init__.py +0 -7
- fullflow-2.0.3/src/fullflow/Solvers/transient/operations.py +0 -499
- fullflow-2.0.3/src/fullflow/Solvers/transient/settings.py +0 -70
- fullflow-2.0.3/src/fullflow/System/Components/Actuators.py +0 -181
- fullflow-2.0.3/src/fullflow/System/Components/Composition.py +0 -214
- fullflow-2.0.3/src/fullflow/System/Components/Controllers.py +0 -559
- fullflow-2.0.3/src/fullflow/System/Components/HeatTransfer.py +0 -355
- fullflow-2.0.3/src/fullflow/System/Components/RocketPerformance.py +0 -92
- fullflow-2.0.3/tests/test_imports.py +0 -6
- {fullflow-2.0.3 → fullflow-4.0.0}/LICENSE +0 -0
- {fullflow-2.0.3 → fullflow-4.0.0}/THIRD_PARTY_LICENSES.md +0 -0
- {fullflow-2.0.3 → fullflow-4.0.0}/docs/system_reference.md +0 -0
- {fullflow-2.0.3 → fullflow-4.0.0}/examples/general/0state_basics.py +0 -0
- {fullflow-2.0.3 → fullflow-4.0.0}/examples/general/1state_bounds_tracking.py +0 -0
- {fullflow-2.0.3 → fullflow-4.0.0}/examples/general/2balance_basic.py +0 -0
- {fullflow-2.0.3 → fullflow-4.0.0}/examples/general/3balance_multiple.py +0 -0
- {fullflow-2.0.3 → fullflow-4.0.0}/examples/general/4composition_mixer.py +0 -0
- {fullflow-2.0.3 → fullflow-4.0.0}/examples/general/5composition_splitter.py +0 -0
- {fullflow-2.0.3 → fullflow-4.0.0}/examples/general/6lookup_function.py +0 -0
- {fullflow-2.0.3 → fullflow-4.0.0}/examples/general/7lookup_class_chaining.py +0 -0
- {fullflow-2.0.3 → fullflow-4.0.0}/examples/general/8map_manual.py +0 -0
- {fullflow-2.0.3 → fullflow-4.0.0}/examples/general/9map_hdf5.py +0 -0
- {fullflow-2.0.3 → fullflow-4.0.0}/examples/steady_state/1simple_pipe.py +0 -0
- {fullflow-2.0.3 → fullflow-4.0.0}/examples/steady_state/6flow_splitter.py +0 -0
- {fullflow-2.0.3 → fullflow-4.0.0}/examples/steady_state/7flow_mixer.py +0 -0
- {fullflow-2.0.3 → fullflow-4.0.0}/src/fullflow/Exceptions.py +0 -0
- {fullflow-2.0.3 → fullflow-4.0.0}/src/fullflow/Exports/EXPORTS.md +0 -0
- {fullflow-2.0.3 → fullflow-4.0.0}/src/fullflow/Exports/__init__.py +0 -0
- {fullflow-2.0.3 → fullflow-4.0.0}/src/fullflow/Solvers/STEADY_STATE_SOLVER.md +0 -0
- {fullflow-2.0.3 → fullflow-4.0.0}/src/fullflow/Solvers/TRANSIENT_SOLVER.md +0 -0
- {fullflow-2.0.3 → fullflow-4.0.0}/src/fullflow/Solvers/steady_state/results.py +0 -0
- {fullflow-2.0.3 → fullflow-4.0.0}/src/fullflow/System/Components/__init__.py +0 -0
- {fullflow-2.0.3 → fullflow-4.0.0}/src/fullflow/System/SYSTEM.md +0 -0
- {fullflow-2.0.3 → fullflow-4.0.0}/src/fullflow/System/__init__.py +0 -0
|
@@ -1,5 +1,38 @@
|
|
|
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
|
+
|
|
17
|
+
## 3.0.0
|
|
18
|
+
|
|
19
|
+
FullFlow 3.0.0 focuses on solver performance, transient robustness, consistent
|
|
20
|
+
examples, and concise user-facing documentation.
|
|
21
|
+
|
|
22
|
+
### Solver performance
|
|
23
|
+
|
|
24
|
+
* Added a safeguarded modified-Newton transient solver with numerical Jacobian
|
|
25
|
+
construction, Broyden updates, backtracking, and automatic SciPy fallback.
|
|
26
|
+
* Added guarded Jacobian reuse between compatible transient timesteps.
|
|
27
|
+
* Added accepted-step prediction and validation to improve transient initial
|
|
28
|
+
guesses without reusing stale state or control information.
|
|
29
|
+
* Reduced repeated state discovery, allocation, conversion, and component
|
|
30
|
+
evaluation work in steady-state and transient residual calculations.
|
|
31
|
+
* Added compact state snapshots and cached runtime metadata with network-version
|
|
32
|
+
invalidation.
|
|
33
|
+
* Improved invalid-trial handling so temporary property-evaluation failures can
|
|
34
|
+
be rejected without immediately terminating a nonlinear solve.
|
|
35
|
+
|
|
3
36
|
## 2.0.3
|
|
4
37
|
|
|
5
38
|
### Sequence inputs
|