-
-
Notifications
You must be signed in to change notification settings - Fork 52
pseudo steady state mode for dynamical blocks #105
Copy link
Copy link
Open
Labels
enhancementNew feature or requestNew feature or requestnumericsnumerical solversnumerical solversroadmapThis label identifies issues that are development roadmap items for PathSimThis label identifies issues that are development roadmap items for PathSim
Description
Activity
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or requestnumericsnumerical solversnumerical solversroadmapThis label identifies issues that are development roadmap items for PathSimThis label identifies issues that are development roadmap items for PathSim
Sometimes in big complex systems, individual components have wildly different timescales for their physics. In some cases it makes sense to approximate components with very fast dynamics as being in a steady state at each timestep, such that the component becomes purely algebraic.
To achieve this, the time derivative of the block ode
will be forced to zero (transients have settled locally). Then the behavior of the block becomes algebraic and is defined by this algebraic implicit equation
that has to be solved for
xfor given block inputsuand timet.Implementation ideas:
pseudosteadystate(t)method for blocks and implement it for blocks that have dynamic operators_pssflag to blocks and enablepssas an arg for the blocks that support it_pssis set and handle the logic accordinglyThis will work but maybe there is a more elegant solution
PeriodicSteadyStateblock that wraps other blocks and solves the algebraic equation through the same interface as theSimulationusing the already existingSteadyStatesolverI think thats more elegant but might be less efficient