The present disclosure generally relates to power systems, and simulation and operation of power systems.
Power system simulation finds application in operations of electrical power systems, commonly referred to as power grids. Operators of power grids run simulations to plan and schedule generation, transmission, and distribution of electrical power in a safe and reliable manner. Moreover, the operators use simulations to study the stability of their systems after clearing major disturbances, also known as contingencies, such as loss of a generator unit or a transmission line. Following such contingencies, generators, which are synchronous machines, experience deviations or transients from a common synchronous frequency (e.g., 60 Hz in the United States). Transient stability simulations allow operators to study whether or not the generators are able to return to the synchronous frequency after clearing a contingency (e.g., by isolating the lost generator or transmission line).
A power system's dynamic performance may be modeled from a set of nonlinear differential-algebraic equations (DAEs), involving a plurality of state variables that collectively represent the power system's state in time. In theory, there is no analytic or closed-form solution for the power system's state that is accurate over a typical simulation time period. Therefore, the DAEs are solved using time-domain simulations with numerical integration approaches that may include explicit methods (e.g., Euler and Runge-Kutta) or implicit methods (e.g., Trapezoidal and Backward Euler). For these simulations to be accurate, small time steps are used for iterative computations in order to give a convergent trajectory of the power system's state. For large-scale interconnected power grids, such simulations thus are often time-consuming and are usually run offline for hypothetical contingencies. As best industry practices, some operators simulate thousands of predefined contingencies every five to fifteen minutes in order to be prepared to remediate one these contingencies if it were to occur in the next five to fifteen minutes.
However, lengthy numerical integrations prohibit running transient stability simulations as soon as contingencies are cleared to test several candidate remedial actions such that operators can take the most effective remedial action to maintain stability of the power system. While parallelization using supercomputers with high-performance computing (HPC) clusters may speed up existing numerical integration methods, there is a limit to the reduction in simulation time that may be achieved because the fundamental mechanism of numerical integration does not lend itself well to parallel computing.
Therefore, the inventors recognized a need in the art for a transient simulation of power systems that is accurate over a prescribed simulation time period, that may be adapted to parallel computing, and that may be run in real time or faster than real time.
Embodiments of the present disclosure provide systems and methods for simulating and operating a power system following a contingency. Semi-analytic solutions (SASs) for the power system state variables may be derived offline for a plurality of contingencies. Following a contingency, the SASs may be evaluated online, faster than real time, to study transient stability of the power system under a plurality of remedial scenarios. The stability of the power system may then be maintained by controlling the power system based on the most effective of the plurality of remedial scenarios.
During the offline stage 110, at step 111, the method 100 comprises selecting a plurality of symbolic variables to model the power system. The method 100 may employ one of two approaches to model the power system. In the first approach, the method 100 may assume a specific post-contingency system topology (i.e., a constant system admittance matrix) for the power system, but may relax the system operating condition (e.g., generator outputs and load impedances) such that one SAS may simulate multiple loading conditions. In the second approach, the method 100 may further relax selected elements in the admittance matrix to enable one SAS to simulate multiple contingencies. Other symbolic variables may also be added as undetermined parameters, but, the more symbolic variables, the more complex is the expression of an SAS.
At step 112, assuming a constant impedance load at each bus of the power system, the method 100 applies a series expansion known as the Adomian Decomposition Method (ADM) to the power system model of step 111 to derive an SAS for each state variable modeled in step 111. Each SAS is a summation of finite number of terms out of an infinite number of terms from the ADM. Application of the ADM to an exemplary power system will be described below.
As discussed, an SAS is accurate over a short period of time. Therefore, at step 113 of the offline stage 110, the method 100 determines: (i) for SASs to be evaluated using fixed time windows (i.e., time windows of fixed duration), a maximum duration Tmax during which state trajectories of the SASs are accurate, or (ii) for the SASs to be evaluated using adaptive time windows (i.e., time windows of variable durations), a maximum threshold ID,max for a divergence indicator ID. The divergence indicator ID may be an absolute value of one of the ADM terms included in one of the analytic expressions of the SASs. Methods for determining a maximum duration Tmax and a maximum threshold ID,max will be described below.
The offline stage 110 may be performed in advance (e.g., hours, days, months, etc., in advance), independently of the online stage 120. The offline stage 110 may be rerun whenever needed—for example, when changes and/or upgrades are made to the power system. At the end of the offline stage 110, the SASs and the maximum duration Tmax and/or the maximum threshold ID,max may be stored in one or more repositories (e.g., databases), to be invoked when needed by the online stage 120.
Following clearance of a contingency (e.g., by isolating a fault at a generator, a transmission line, etc.), the online stage 120 begins at step 121, where the SASs and the duration Tmax and/or the threshold ID,max from the offline stage 110 are invoked. Values are determined for the symbolic variables selected at step 111, based on the contingency and a real-time operating condition of the power system. The real-time operating condition may be known from one or more monitoring systems (e.g., a supervisory control and data acquisition (SCADA) system) that are typically employed by power system operators.
At step 122, for the first time window of the simulation time period, a post-contingency state of the system may be used as an initial state (i.e., initial conditions to the state variables associated with the SASs). The post-contingency state may be provided by a numerical integration for the fault-on period until the fault is cleared. The numerical integration may be part of or separate from the method 100. Further at step 122, for every subsequent time window, the ending state of preceding window may be used as the initial state.
At step 123, using the values for the symbolic variables from step 121 and the initial state corresponding to the time window from step 122, the method 100 evaluates the SASs while: (i) for time windows of fixed intervals, an elapsed evaluation time T is less than the maximum duration Tmax or (ii) for time windows of adaptive intervals, the absolute value of the divergence indicator ID is less than the threshold ID,max. Given that the SASs are independent expressions, they may be evaluated simultaneously on parallel computers, as will be described below.
At step 124, if either (i) T≧Tmax or (ii) ID≦ID,max, the evaluation of the SASs for the present time window is considered complete and the method 100 proceeds to step 125. Otherwise, the method 100 remains at step 123 and the evaluation of the SASs continues. At step 125, if the cumulative duration of all the time windows is equal to or greater than the desired simulation time, the simulation is considered complete and the method 100 moves to step 126. Otherwise, the method 100 repeats steps 122-124 to evaluate the SASs over a subsequent time window. At step 126, state trajectories generated in each time window are combined such that graphical plots of one or more of the state trajectories may be provided over the simulation time period.
In the method 100, a power system is modeled at step 111 of the offline stage 110. A power system may include a plurality of generators and a plurality loads, interconnected by a plurality of transmission lines coupled at a plurality of buses. The generators are generally synchronous machines, which, under stable conditions, run at a common synchronous frequency (e.g., 60 Hz in the United States). The power system may further include devices such as transformers to step up or down voltages, tap changers, reactive power compensators, etc. The dynamic performance of such a power system may be modeled as a set of DAEs given by differential equations (1) and algebraic equations (2), where a state vector x may include M state variables of the power system (e.g., rotor angle and speed for each generator in the system) as in equation (3); a vector y may represent non-state variables (e.g., bus voltages), which may not completely depend on the state variables; a vector function g may represent dynamic devices (e.g., generators, exciters, and governors) in the power system; and, a vector function h may represent devices whose dynamics may be ignored. Accordingly, at step 111, the method 100 comprises selecting the symbolic variables to model the power system as in equation (1).
In some cases, for example, when all branches and loads may be modeled as impedances during a simulation window, the vector y may explicitly be represented as a vector function of the state vector x in the algebraic equations (2). In such cases, the non-state variables represented by the vector y may be substituted into the differential equations (1), resulting in another set of differential equations (4), in which a vector function f may be represented by equation (5).
In theory, the set of differential equations (4) does not have an analytic or closed-form solution x(t) that is accurate over a typical simulation time period (e.g., 30 seconds or more). Thus, a numerical solution is typically obtained by running a simulation to solve an initial value problem (IVP). That is, given the set of different equations (4) and initial conditions for the M state variables, the simulation may carry out iterative computations at small time steps (e.g., 1 millisecond) to provide a convergent trajectory of the state vector x over the simulation time period.
However, according to an embodiment of the present disclosure, an approximate analytic solution—a semi-analytic solution (SAS)—, which is accurate for a short period of time (e.g., less than one second), may be derived offline for the state vector x (e.g., at step 112 of the method 100). The SAS may be defined by a sum of a finite number of terms out of an infinite number terms that may be derived from a series expansion known as the Adomian Decomposition Method (ADM).
The ADM starts by applying Laplace transform [·] to transform the differential equations (4) into an algebraic equation (6) about the complex frequency s, where x(0) represents initial conditions for the state variables of the system.
With the assumption that the state vector x may be decomposed as a summation of infinite terms as in equation (7), the ith element of the vector function f may be decomposed as a summation of infinite Adomian polynomials Ai,n as in equation (8). The Adomian polynomials are given by equation (9), wherein λ is called a grouping factor.
By matching terms of x(t) and f(·) with the same index n, recursive formulas (10) and (11) may be derived for [xn] (n≧0), where An=[A1,n, . . . , AM,n]T.
[x0]=x(0)/s (10)
[xn+1]=[An]/s n≧0 (11)
Inverse Laplace transform −1[·] may then be applied to both sides of the formulas (10) and (11) to obtain xn(t) for any n. An SAS for the system of equation (4) may then be defined as the sum of first N terms of xn(t) as given by equation (12).
To put equations (1)-(12) into context, consider a K-machine power system (i.e., a power system that includes K synchronous machines). Each synchronous machine k—where k={1, 2, . . . , K}—may be represented as a fourth-order two-axis model as in differential equations (13), and all the machines are coupled through nonlinear algebraic equations (14). Equations (13) and (14) are in the form of equations (1) and (2), respectively.
In equations (13) and (14), ωR is a rated angular frequency (i.e., the synchronous frequency of the system); δk, ωk, Hk and Dk are respectively a rotor angle, a rotor speed, an inertia coefficient and a damping coefficient of the machine k; Yk is the kth row of a reduced admittance matrix Y; E is the column vector of electromagnetic forces (EIVIFs) of all the machines, wherein Ek is the kth element; Pmk and Pek are mechanical and electric powers; Efdk is an internal field voltage; and e′qk, e′dk, iqk, idk, T′q0k, xqk, xdk, x′qk and x′dk are transient voltages, stator currents, open-circuit time constants, and q-axis and d-axis synchronous and transient reactances, respectively.
The algebraic equations (14) may be substituted into differential equations (13) to eliminate igk, idk and Pek and transform equations (13) and (14) into the form of equation (4), where there are M=4K state variables: x=[δ1, ω1, e′q1, e′d1, . . . , δK, ωK, e′qK, e′dK]T. Then, equations (6)-(12) may be applied to derive an SAS for each of the state variables.
Further consider a system comprising a single machine connected to an infinite bus (i.e., a typical single-machine infinite-bus (SMIB) system) with a state vector x=[δ, ω,e′q, e′d]T, a vector function f=[f1,f2,f3, f4]T, and the infinite bus has a voltage V∞=1∠0° per unit (p.u.). Based on the assumption of equation (7), each state variable of the state vector x may be decomposed as a summation of infinite terms as in equation (15).
δ(t)=Σn=04δn(t)
ω(t)=Σn=0∞ωn(t)
e′
d(t)=Σn=04e′d,n(t)
e′
q(t)=Σn=04e′q,n(t) (15)
With the machine rotor speed ω as example, applying Laplace transform as in equation (6) results in equation (16).
Then, a plurality of Adomian polynomials for f2 may be determined by applying equations (8) and (9). For example, the first two Adomian polynomials are given in equation (17), wherein Yo and Y∞ are respectively a self-admittance seen from the machine's EMF and an admittance to the infinite bus.
Similarly, a plurality of Adomian polynomials may be derived for the machine rotor angle δ, q-axis transient voltage e′q, and d-axis transient voltage e′d. Further, recursive formulas like formulas (10) and (11) may be derived and inverse Laplace transform may be applied to derive δn(t), ωn(t), e′q,n(t), and e′d,n(t) for any n. SASs for δ(t), ω(t), e′q(t), and e′d(t) may then be defined as the sum of the first N terms as in equation (18).
For example, for system parameters and initial conditions listed in Table I, the first five terms for δn(t) may be derived as in equation (19) and an SAS with N=5 may thus be defined as in equation (20). In Table I, |E| is a magnitude of the EIVIF of the machine and is assumed to be constant. Pm represents a mechanical power that determines the operating condition. δ(0) and ω(0) are the initial values of the rotor angle δ and the rotor speed ω, respectively.
Depending on the number of terms N, a plurality of SASs may be derived for each state variable.
The method 400 starts at step 410, where two indices i and j are each initialized to one. At step 420, the method 400 obtains the post-contingency state of an ith contingency of a power system, out of a total number I of credible contingencies for the power system, for example. The post-contingency state may be obtained from a numerical integration of the system. Then, at step 430, the post-contingency state is used as an initial condition (IC) to evaluate an SAS (xSAS(t)) corresponding to the contingency over a time window chosen to be long enough to observe divergence between the SAS and a corresponding numerical solution x(t) (e.g., as in
At step 450, if the index j is less than a predetermined number J (say three), the method 400 moves to step 460, where the index j is incremented and a random variation is added to the initial condition. Steps 430-460 are repeated until the index j equals the predetermined number J. At step 470, if the index i is less than the number I of credible contingencies, the method 400 increments i at step 480 and repeats step 420-470 until the index i equals the number I of credible contingencies. At step 490, the maximum duration Tmax is chosen to be less than the minimum Tmax,i,j stored, for all i and j. Thus, the method 400 may determine a conservative maximum duration Tmax for a power system by simulating the power system under a plurality of contingencies and a plurality of initial conditions for each contingency.
Once a maximum duration Tmax for a power system is determined, an SAS for the power system may be evaluated online over consecutive time windows, each time window lasting for the maximum duration Tmax. The evaluation of the SAS may be performed during the online stage 120 of the method 100, following the steps 121-126. For example, consider a power system 500 illustrated in
Applying the method 400 to the power system 500, a maximum duration Tmax is determined to be 0.001 seconds for two-term SASs (i.e., N=2).
Alternatively, as discussed, adaptive time windows may be employed in conjunction with a maximum threshold ID max for a divergence indicator ID. According to an embodiment of the present disclosure, the magnitude of the last term of the SAS, i.e., |xN−1(t)|, has been found to be a good candidate for a divergence indicator ID. For instance,
However, in a system that includes a plurality of state variables, determining a divergence indicator ID and a maximum threshold ID,max may not be as straightforward as the example of
Once the last terms of the SASs are evaluated, the method 900 determines and stores at step 940 a maximum absolute value among the last terms as ID,max,i,j (i.e., ID,max,i,j=max(|xN−1,i,j(t)|)), and the corresponding last term as ID,i,j. At step 950, if the index j is less than a predetermined number J (say three), the method 900 moves to step 960, where the index j is incremented and a random variation is added to the initial condition. Steps 930-960 are repeated until the index j equals the predetermined number J. At step 970, if the index i is less than the number I of credible contingencies, the method 900 increments i at step 980 and repeats step 920-970 until the index i equals the number I of credible contingencies.
The method 900 ends at step 990, where the maximum threshold ID,max is determined to be the minimum ID,max,i,j stored and the divergence indicator ID as the ID,i,j corresponding to the maximum threshold ID,max for all i and j. Thus, the method 900 may determine a maximum threshold ID,max and a corresponding divergence indicator ID for a power system by simulating the power system under a plurality of contingencies and a plurality of initial conditions for each contingency.
Furthermore, each SAS may be expressed as a summation of a plurality of terms called computing units (CUs) herein. Each computing unit may be in the form of equation (22).
In equation (22), C is a constant that may depend on system parameters, t is time, and j, k and l are integer indices of state variables. Parameters h, m, and n depend on the order of the SAS and the system being simulated. For example, for the power system 500 of
Simulating the state trajectories of each machine using the parallel computation 1300, and also running a plurality of the parallel computations 1300 for a plurality of machines in a power system may considerably reduce the overall computation time for a typical simulation time period when compared to conventional power system simulation techniques.
To demonstrate the time performance of the SAS-based simulation, consider the following three cases, all related to the power system 500 of
In the above cases, the load at each bus is represented by a constant impedance load model and is embedded in the reduced admittance matrix Y. In the online stage, for a given power-flow condition with all loads known, load impedances are first calculated, and then with the knowledge of the post-contingency network topology, all elements of Y can be calculated in order to evaluate the SASs.
The numbers of CUs included in three-term SASs of each state variable are given in Table II for the three cases.
For Case-A, it takes less than 3 μs to evaluate one CU. If the CUs are evaluated simultaneously on parallel processors, it takes about 3 μs to evaluate one SAS for each time window. Summating the values of all CUs for a state variable is essentially the addition of constants and is, therefore, extremely fast. The additions for different state variables can also be performed in parallel. Thus, the final time for summating all CUs equals the time for the most complex SAS expression, which is often related to a rotor angle of a generator and takes about 7 μs. Therefore, the total time for evaluations of state variables of one generator is about 10 μs per time window. If evaluations for various generators are also done simultaneously, the SAS evaluation over each time window also takes about 10 μs. Given that a three-term SAS takes 2000 adaptive time windows for a 5.5-second simulation, as discussed above, the online stage 120 of the method 100 may take 10 μs×2000=0.02 seconds to finish the simulation on parallel processors. This is found to be about 18 times faster than simulating the same power system by an R-K 4 method on one computer, which has been found to take about 0.37 seconds. Thus, for Case-A, running a 5.5-second simulation time period in 0.02 seconds implies that the simulation may be completed 275 times faster than real time. For Case-B and Case-C, the SAS-based simulation has been found to be 137.5 times faster than real time. It is to be noted that the time performance of the offline stage 110 of the method 100 does not affect the time performance of the online stage 120.
In
Consider a three-phase fault F occurring on transmission line 2 at time=1 second, prior to which (i.e., prefault) the power system 1400 ran stably as shown by the constant rotor angle δ of the generator. It may take a clearing time of TC seconds (e.g., 0.1 seconds) to clear the fault, by opening switches S3 and S4, for example. As soon as the fault is cleared, the SAS-based simulator 1430 may be run on the computer system 1420 to simulate faster than real time (e.g., in 0.02 seconds) a plurality of remedial actions and generate state trajectories for the power system for each remedial action. For example, the SAS-based simulator 1430 may simulate three scenarios in which the generator may be controlled using one of Controls 1 through 3. For each control, the simulator 1430 may generate and display the state trajectories over a desired simulation time period. Exemplary state trajectories for the rotor angle δ of the generator are illustrated in
Although, in the example of
Moreover, each remedial scenario may not be limited to controlling one element of the power system. The most effective remedial may be a combination of a plurality of controls of a plurality of elements. For example, in addition to changing the control of a generator, one or more transmission lines may be isolated by opening and/or closing switches to effectively change the admittance matrix of the power system. Another example may be to bring a standby generator online. The SAS-based simulation thus may allow operators to study and analyze faster than real time the performances of a plurality of possible remedial scenarios following a contingency, and, as a result, take the most effective remedial action.
The computer system 1420 may include a plurality of processors to run the SAS-based simulator 1430 to evaluate a plurality of SASs in parallel, as discussed. The computer system 1420 may also run one or more numerical integration simulations to provide post-contingency states to the SAS-based simulator 1430. The computer system 1420 may include secondary or tertiary storage to allow for non-volatile or volatile storage of the plurality of SASs for a plurality of contingencies, maximum durations Tmax, maximum thresholds ID,max, divergence indicators ID, post-contingency states, initial conditions, and other data required by the SAS-based simulator 1430 and data generated by the SAS-based simulator 1430 for subsequent analyses. The computer system may also include one or more display units to display state trajectories generated by the SAS-based simulator 1430 for review and analysis by the operators. The computing system may be entirely contained at one location or may also be implemented across a closed or local network, an internet-centric network, or a cloud platform. It is to be appreciated that the SAS-based simulation is not limited to any particular programming language or execution environment, and the present invention may be applied to any computer programming languages or logic.
Several embodiments of the disclosure are specifically illustrated and/or described herein. However, it will be appreciated that modifications and variations of the disclosure are covered by the above teachings and within the purview of the appended claims without departing from the spirit and intended scope of the disclosure. Further variations are permissible that are consistent with the principles described above.
This invention was made with government support under a grant from the National Science Foundation, Award No. EEC-1041877. The U.S. Government has certain rights in this invention.