Intro
The need for, and use of a steady state solution is a peculiar thing. A steady state solution can be a different thing for different purposes. In the area of simulation it is usually one of:
- It's the solution one seeks.
- It's the state for which one wants to do perturbations around. Typically for control/governor analysis.
- It's the starting point for a transient simulation. For waterhammer analysis it's the state just before closing the valve or shutting down the turbine for instance.
No matter the use cause, it's important to get the steady state correct, or everything else will also be wrong.
The normal handling of steady state
Looking at the 3 cases above, this is often handled as follows.
Case 1. The use of a steady state solver is the normal procedure to find the steady state. The transients are not of interrest in this case. Steady state solvers are made to converge fast and efficient. In some cases though, a set of boundary conditions could satisfy several steady state solutions. The particular solution is dependent on the previous trajectory. A transient solver will reach all of these solutions in a meaningful way. This is not possible with a dedicated steady state solver.
Case 2. The use of a steady state solver is a good thing, but it's not crucially necessary for this case. It's not the accuracy in the number of decimal places that is of interest, but the correct dynamic behavior.
Case 3. You set a start time and an end time and push "run". Then look at the results. This leads to a way of thinking that needs a steady state solution, and thus a steady state solver to set the state before the transient analysis. Even Wylie and Streeter in the examples in the book, solves the steady state separately before doing the transient analysis.
Another way of thinking is with an interactive transient software, every need for a separate steady state solutions disappears.
LVTrans and steady state
LVTrans has only one way of calculating. It's a continuous simulation in time of the system. There's no start or ending. No start or ending of any interest at least. There's no separate steady state solver. Yet, all the use cases for a steady state solution are handled just fine with the highest precision.
A key in making this possible and perfectly intuitive, is interactive simulation. Just start the simulation, then while it is running, interactively do the things needed to create the analysis you want.
Case 1
A transient solver is always also a steady state solver. Just set the wanted power and the correct boundary conditions, and the solution is there within seconds. Let it run, adjust to new boundary values and the next solution is ready in seconds.
Case 2
Steady state is obtained as in Case 1. Then frequency response analysis is automatically done with the push of a button. Frequency domain values are obtained through FFT of the saved values. This makes it not only correct, but also enables one to see the amplitude dependence.
The effect of nonlinearities, and how the amplitude will affect damping and the nonlinearities can be studied. Hydro powerplants are very susceptible to transient damping and amplitudes regarding stability. Such things can be analyzed, in every detail.
Case 3
Obviously the transient simulation is started once the steady state is achieved. The results are logged for further display and analysis, or the interactive graphs are used directly. No switching or transfer of data is needed.
Shortcomings
There are very few shortcoming to this method of analysis, but a couple of shortcomings come to mind.
For instance, one can be interested in the steady state level of a surge shaft for all possible variations of power and reservoir levels. To get this result, a dedicated steady state solver would be faster. However, this is essentially a batch process in any case. A matrix of states has to be entered and the simulation has to automatically run these states one by one and output the result.
It's no problem creating such a batch process. It's essentially what is already done in some of the analyses in the digital twin version of LVTrans. For "pure" LVTrans no such batch process exists, but it certainly is on the roadmap.
Another shortcoming is there's no ability to do different transient simulations starting from the exact same steady state without first calculating that steady state for each run. This requires the state to be saved. For a state to be saved, all internal variables must be saved. This is not possible in LVTrans today. Taking this a step furter one also would like to save the state at any arbitrary time, also in the middle of a transient. This would be very helpfull in several ways, especially for digital twins and doing predictive control more efficiently.
Summary
Having done transient simulations for over 30 years, I have never really missed having a dedicated steady state solver as a part of the simulation. However, the transient simulation would improve considerably by including the ability to do batch processing and the ability to completely save the state at arbitrary times, and the corresponding ability to load these states and continue simulating from there.