Hi everyone, I'm a researcher at NREL and I've contributed to this effort. I'm happy to answer any questions. I'll also let the other researchers know that they can chime in here.
Small world. I've looked through these libraries before and have chatted with NREL staff at conferences (didn't expect to talk on HN though). I've enjoyed some of the more recent papers on inertia and frequency response as well and will have to look into this study in more detail.
I tend to stick more to Python + Numpy and ScyPy, but do check in on Julia from time to time. I'm still questioning whether the sparse matrix routines have matured enough in Julia (necessary for the truly large systems). On the optimization side, has all of NREL switched to Julia + JuMP, or is the native Python API for GUROBI used and Julia for the network pieces?
Definitely not all of NREL has switched to Julia + JuMP. From what I can tell, Python, MATLAB etc still are quite prominent across the laboratory. And, NREL is a large organization and we are a small team; we don't have much insight into what tools developers decide to choose and why. If anything, it is possible that we've set the precedent that Julia + JuMP can be used for this sort of work.
I know Matlab is a good R&D tool (like Mathematica), but it is a little painful for the end user and far too expensive for a lot of industrial users who don't work at a company already entrenched with the ecosystem. I don't want to pay $5k for a database toolbox if you know what I mean. If the code is only for a study though...it probably doesn't matter a whole lot.
Python seems like a good lingua franca and Julia isn't far behind overall. What makes me excited about Julia is that (at least in theory) I can write some blazing fast code without being a systems level programmer and also get the ability to look at the assembly output (just all around cool) and write macros (a la lisp). I doubt I'd ever use macros on serious code, but having the opportunity is a plus. It's a neat design.
Hi, is the paper "Transient Simulations With a Large Penetration of Converter-Interfaced Generation: Scientific Computing Challenges And Opportunities" available in PDF without paywall? https://doi.org/10.1109/MELE.2021.3070939
Could you help me understand the difference between synchronous and asynchronous generators? Especially in the context of a power system with, let's say, theoretically infinite storage capabilities. On a related note, what are the main benefits and challenges of DC transmission in today's day and age?
How far can we push our power grids into the "no intertia" realm until things start to fall apart catastrophically? Is that what this is all about?
If we ignored all of the other factors, wouldn't we ideally have as much inertia (damping) as we can spare for the grid?
What would stop us from arbitrarily adding super-heavy motor-generators to the grid but without the gas turbine part? You don't need a prime power source to actually add old-school inertia to the grid...
I believe the idea is to shift to synthetic inertia, which like synthetic diamonds, can actually be better than the real thing, but people get weirdly sentimential about the flaws in the one they are used to.
That appears to be the case in Australia’s NEM grid, where utility scale batteries are able to meet synthetic inertia needs [1] (as well as preliminary trials of grid forming inverters in Chile, which NREL took part in [2] [3]).
> The operators of four large scale solar farms in north Queensland have found that “tuning” their inverter settings has enabled them to solve “system strength” issues at a fraction of the cost of the current default mechanism – spinning machines.
> Ian Christmas, head of engineering at Edify Enegy, told a Clean Energy Council large scale solar forum last week that the inverter tuning at four key solar farms – Whitsunday, Daydream, Hayman, and Hamilton – would address recently declared system strength issues in that part of the grid at one twenty-fifth of the cost of installing a synchronous condenser.
> He also said it could be done in a fraction of the time – around four months compared to fourteen months or longer for the alternative. “It’s significant enough (in terms of price and time) that it is a no brainer,” Christmas said.
> That a cheaper solution has been found for system strength is significant, because it highlights how new technologies are proving that they can provide many of the services previously thought only possible through spinning machines, such as those used in coal, gas and hydro plants.
If an inverter based resource has the right software and control scheme setup, it can mimick either inertia or primary frequency reserve. Although I think they're generally calling it all FFR (fast frequency response) now anyway.
When a frequency event occurs, the rotating masses of conventional generation arrests the decline in frequency for a very short amount of time (this is caused by inertia), and then the control schemes of generators respond to assist with fully stopping the decline and some degree of recovery (PFR or primary frequency response). After that, your secondary reserves of (regulation) help take it back up and then (spinning reserves) until frequency is back at nominal.
So, yeah FFR can be better than the conventional approach of inertia + PFR. Everything has to be configured properly (not any different than conventional resources, except FFR is still pretty new).
Inertia is always pictured as a "good thing", my (very limited and probably wrong) understanding is that when production drops abruptly because of a failure inertia of rotation based generators serves as a temporary battery to cover for the imbalance.
But what happens when demand drops abruptly in an inertia heavy grid?
Eg if some evil AI turn off plenty of IoT controlled electrical appliance countrywide at exactly the same time.
Primary frequency reserve kicks in to automatically throttle back dynamic sources. Typical throttle rate is 100% throttle response per 5% frequency deviation. Inertia (both real and virtual) just slows down the system response enough that PFR will be effective. Just about every steam plant, combined-cycle plant, and gas-turbine plant participates in PFR. There have been proposals for inverter-connected systems to participate as well, but I don't know how common it is in practice.
Once upon a time the rated load-step response for a sub-grid in the US was a step-off transient of a nuclear power site going off-line.
At that scale, they may be doing more interesting things, like participating in whatever passes for a spot market, or even time-of-day arbitrage.
There is considerable variation region-to-region, but a common pattern is for the spot market to clear every 15 minutes to provide secondary frequency reserve, with a day-ahead market that clears 24 hours in advance, and a wide range of futures markets that build on the day-ahead market.
In abstract terms you can think of the inertia as the time constant of a linear ODE. For the same perturbation of the state, the larger the inertia the slowest the variation.
In a grid with low inertia changes in demand (wether increase or decrease demand) are very sudden and thus difficult to control.
This is great work. The short-term solution to high penetration of renewables on the grid is exquisite information processing, which includes both modeling and realtime control. Getting away from "black box" proprietary modeling software is a big step forward.
The long-term solution is to move to a DC grid. Everything gets easier with DC, but changing over will take a while.
Unfortunately this is not as novel as the press release would have you believe. More a reinvention of a wheel in a pet language. The DOE labs in general are quite famous for this sort of thing, NREL being one of the worst recent offenders along with PNNL. It would be interesting to know how many millions of taxpayer dollars are sitting in the code graveyard that is the NREL github page.
It would also be interesting to see how many millions of taxpayer dollars the DOE labs have funneled to Mathworks, and whether Mathworks could survive should DOE decide to investigate cheaper solutions.
Strangely Mathworks is not among the usual cast of characters for DOE software grants, though they've made a fortune just from license fees paid by the labs. The last decade or so has seen a real shift away from Matlab.
27 comments
[ 2.8 ms ] story [ 68.3 ms ] threadI tend to stick more to Python + Numpy and ScyPy, but do check in on Julia from time to time. I'm still questioning whether the sparse matrix routines have matured enough in Julia (necessary for the truly large systems). On the optimization side, has all of NREL switched to Julia + JuMP, or is the native Python API for GUROBI used and Julia for the network pieces?
Definitely not all of NREL has switched to Julia + JuMP. From what I can tell, Python, MATLAB etc still are quite prominent across the laboratory. And, NREL is a large organization and we are a small team; we don't have much insight into what tools developers decide to choose and why. If anything, it is possible that we've set the precedent that Julia + JuMP can be used for this sort of work.
I know Matlab is a good R&D tool (like Mathematica), but it is a little painful for the end user and far too expensive for a lot of industrial users who don't work at a company already entrenched with the ecosystem. I don't want to pay $5k for a database toolbox if you know what I mean. If the code is only for a study though...it probably doesn't matter a whole lot.
Python seems like a good lingua franca and Julia isn't far behind overall. What makes me excited about Julia is that (at least in theory) I can write some blazing fast code without being a systems level programmer and also get the ability to look at the assembly output (just all around cool) and write macros (a la lisp). I doubt I'd ever use macros on serious code, but having the opportunity is a plus. It's a neat design.
Best of luck in your future endeavors.
Have you found any scenarios that seem likely to hit oscillation first?
If we ignored all of the other factors, wouldn't we ideally have as much inertia (damping) as we can spare for the grid?
What would stop us from arbitrarily adding super-heavy motor-generators to the grid but without the gas turbine part? You don't need a prime power source to actually add old-school inertia to the grid...
https://www.revterra.io/
[1] https://www.energy-storage.news/news/australian-transmission... (Australian transmission operator’s commercial arm to tender for 300MW unsubsidised battery project)
[2] https://www.nrel.gov/news/features/2020/renewables-rescue-st... (Renewables Rescue Stability as the Grid Loses Spin)
[3] https://www.nrel.gov/docs/fy19osti/73207.pdf (NREL: Highly Accurate Method for Real-Time Active Power Reserve Estimation for Utility-Scale Photovoltaic Power Plants)
A heavy rotating mass will continue spinning no matter what until mechanical losses (or external forces) stop it.
> The operators of four large scale solar farms in north Queensland have found that “tuning” their inverter settings has enabled them to solve “system strength” issues at a fraction of the cost of the current default mechanism – spinning machines.
> Ian Christmas, head of engineering at Edify Enegy, told a Clean Energy Council large scale solar forum last week that the inverter tuning at four key solar farms – Whitsunday, Daydream, Hayman, and Hamilton – would address recently declared system strength issues in that part of the grid at one twenty-fifth of the cost of installing a synchronous condenser.
> He also said it could be done in a fraction of the time – around four months compared to fourteen months or longer for the alternative. “It’s significant enough (in terms of price and time) that it is a no brainer,” Christmas said.
> That a cheaper solution has been found for system strength is significant, because it highlights how new technologies are proving that they can provide many of the services previously thought only possible through spinning machines, such as those used in coal, gas and hydro plants.
If an inverter based resource has the right software and control scheme setup, it can mimick either inertia or primary frequency reserve. Although I think they're generally calling it all FFR (fast frequency response) now anyway.
When a frequency event occurs, the rotating masses of conventional generation arrests the decline in frequency for a very short amount of time (this is caused by inertia), and then the control schemes of generators respond to assist with fully stopping the decline and some degree of recovery (PFR or primary frequency response). After that, your secondary reserves of (regulation) help take it back up and then (spinning reserves) until frequency is back at nominal.
So, yeah FFR can be better than the conventional approach of inertia + PFR. Everything has to be configured properly (not any different than conventional resources, except FFR is still pretty new).
But what happens when demand drops abruptly in an inertia heavy grid?
Eg if some evil AI turn off plenty of IoT controlled electrical appliance countrywide at exactly the same time.
https://www.nrel.gov/news/program/2020/inertia-and-the-power...
Once upon a time the rated load-step response for a sub-grid in the US was a step-off transient of a nuclear power site going off-line.
Is the Hornsdale Power Reserve "participating" in this mechanism?
https://en.wikipedia.org/wiki/Hornsdale_Power_Reserve
Since it's a Lithium battery I assume it's "inverter-connected".
There is considerable variation region-to-region, but a common pattern is for the spot market to clear every 15 minutes to provide secondary frequency reserve, with a day-ahead market that clears 24 hours in advance, and a wide range of futures markets that build on the day-ahead market.
In abstract terms you can think of the inertia as the time constant of a linear ODE. For the same perturbation of the state, the larger the inertia the slowest the variation.
In a grid with low inertia changes in demand (wether increase or decrease demand) are very sudden and thus difficult to control.
https://www.pandapower.org/ https://github.com/PyPSA/PyPSA https://github.com/JuliaEnergy/PowerDynamics.jl
The long-term solution is to move to a DC grid. Everything gets easier with DC, but changing over will take a while.