A dynamic incremental calculation method of power flow Jacobian matrix based on FPGA symmetric structure

By using a dynamic incremental calculation method for the power flow Jacobian matrix of an FPGA symmetric structure, the problem of repetitive calculation of the Jacobian matrix in power systems is solved, thereby improving computational efficiency and saving storage resources.

CN121682002BActive Publication Date: 2026-05-19STATE GRID SHANGHAI ENERGY INTERCONNECTION RES INST CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
STATE GRID SHANGHAI ENERGY INTERCONNECTION RES INST CO LTD
Filing Date
2026-02-06
Publication Date
2026-05-19

AI Technical Summary

Technical Problem

Existing technologies require recalculating the entire Jacobian matrix in power system power flow calculations, especially when the grid topology changes, leading to computational redundancy and inefficiency.

Method used

A method for dynamic incremental calculation of the Jacobian matrix of FPGA symmetric structure is provided. By receiving binary branch data, the node type is determined, and dynamic incremental calculation is performed directly when there is no voltage control node. When there is a voltage control node, it is equivalently converted into the Jacobian matrix of non-zero element symmetric structure, and dynamic incremental calculation is performed by accumulating autocorrelation and cross-correlation.

Benefits of technology

It reduces the amount of computation, improves computational efficiency, reduces storage resource consumption, and reduces the time complexity of solving power flow equations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121682002B_ABST
    Figure CN121682002B_ABST
Patent Text Reader

Abstract

The application relates to a FPGA symmetric structure power flow Jacobian matrix dynamic increment calculation method, which comprises the following steps: receiving a binary branch data sequence transmitted from outside, and extracting node number information related to Jacobian matrix construction; determining the type of the node according to the node number information; when there is no voltage control node in a power system, directly performing dynamic increment calculation on the branch data node coordinates of the extracted node number information related to Jacobian matrix construction; when there is a voltage control node in the power system, performing equivalent conversion on an original Jacobian matrix, and performing dynamic increment calculation on the non-zero element symmetric structure Jacobian matrix obtained through the equivalent conversion. The application can reduce the calculation amount and improve the calculation efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of power flow calculation technology, and in particular to a dynamic incremental calculation method for the Jacobian matrix of power flow in an FPGA symmetric structure. Background Technology

[0002] Power flow calculation is a crucial analytical calculation for power systems. Based on the power system's wiring configuration, parameters, and operating conditions, it calculates the electrical quantities under steady-state operation, including active power, reactive power, and voltage distribution within the grid. Power flow calculation is also fundamental for system safety, stability, and reliability analysis, used to study various issues arising during system planning and operation. For planned power systems, power flow calculation can verify whether the proposed power system plan meets the requirements of various operating modes. For operating power systems, it can predict whether various load changes and network structure alterations will jeopardize system safety, whether the voltage of all buses in the system is within permissible ranges, whether various components in the system (lines, transformers, etc.) will experience overload, and what preventative measures should be taken in advance if overloads occur.

[0003] Existing literature (Nwankpa C, Johnson J, Nagvajara P, et al. FPGA hardware results for power system computation[C] / / 2009 IEEE / PES Power Systems Conference and Exposition.0[2023-09-26].DOI:10.1109 / PSCE.2009.4839953.) proposes an FPGA system for power flow calculation based on the Newton-Raphson method by collecting data from real-time SCADA system networks and telemetry transmissions. In this scheme, when the power grid topology changes, such as branch switching, generator start-up and shutdown, or load surges, the Jacobian matrix needs to be recalculated, resulting in computational redundancy. Even if only a local topology changes, the system still needs to recalculate the entire Jacobian matrix elements, leading to a large amount of repetitive calculation and reducing the efficiency of power flow calculation. Summary of the Invention

[0004] The technical problem to be solved by this invention is to provide a dynamic incremental calculation method for the power flow Jacobian matrix of an FPGA symmetric structure, which can reduce the amount of calculation and improve the calculation efficiency.

[0005] The technical solution adopted by this invention to solve its technical problem is: to provide a method for dynamic incremental calculation of the Jacobian matrix of power flow in an FPGA symmetric structure, including the following steps:

[0006] Receive binary branch data sequences transmitted from the outside and extract node numbering information related to the construction of the Jacobian matrix;

[0007] The type of the node is determined based on the node number information;

[0008] When there are no voltage control nodes in the power system, the dynamic incremental calculation is performed directly from the branch data node coordinates of the node number information related to the extracted Jacobian matrix.

[0009] When there are voltage control nodes in the power system, the original Jacobian matrix is ​​transformed into an equivalent matrix, and the Jacobian matrix of the non-zero element symmetric structure obtained by the equivalent transformation is dynamically incrementally calculated.

[0010] When there are no voltage control nodes in the power system, the dynamic incremental calculation is performed directly from the branch data node coordinates of the extracted node number information related to the Jacobian matrix. Specifically, this includes:

[0011] The extracted branch data node coordinates related to the node number information of the Jacobian matrix are mapped to the global coordinates of the 2×2 coordinate Jacobian submatrix.

[0012] Numerical calculation of the Jacobian submatrix based on the electrical parameters of the branch;

[0013] The values ​​in the numerical Jacobi submatrix are written into the corresponding positions of the non-zero element symmetric Jacobi matrix according to their global coordinates in the coordinate Jacobi submatrix.

[0014] The equivalent transformation of the original Jacobian matrix structure is specifically as follows: calculate the product of the original Jacobian matrix structure and its transpose to obtain a Jacobian matrix with a non-zero element symmetric structure.

[0015] The dynamic incremental calculation of the Jacobian matrix of the non-zero element symmetric structure obtained by the equivalent transformation is specifically performed by: completing the dynamic incremental calculation of the Jacobian matrix of the non-zero element symmetric structure through autocorrelation accumulation and cross-correlation accumulation.

[0016] The autocorrelation accumulation specifically includes:

[0017] Determine a 4×4 Jacobi submatrix of the current branch's influence, and calculate the product of the 4×4 Jacobi submatrix of the current branch and its transpose;

[0018] Expand the original coordinates of the current branch into a 2×2 submatrix coordinate system;

[0019] The product result is accumulated to the coordinates of the 2×2 submatrix of the Jacobian matrix of the non-zero element symmetric structure.

[0020] The cross-correlation accumulation specifically includes:

[0021] Determine a 4×4 Jacobian submatrix of the current branch's influence;

[0022] Obtain the processed branches and determine a 4×4 Jacobi processed branch submatrix of the effects of the processed branches;

[0023] Calculate the union of the original coordinates of the current branch and the original coordinates of the processed branches, sort them in ascending order of coordinate number to obtain the global coordinates of the mutual influence between the current branch and the processed branches, and expand the global coordinates to obtain the expanded global coordinates.

[0024] Based on the original coordinates of the current branch, the original coordinates of the processed branch, and the expanded global coordinates, establish a global coordinate mapping table for the current branch and a global coordinate mapping table for the processed branch. Then, expand the global coordinate mapping table for the current branch and the global coordinate space for the processed branch to obtain the global coordinate space for the current branch and the global coordinate space for the processed branch.

[0025] The 4×4 Jacobi submatrix of the current branch affected by the current branch is filled into the global coordinate space of the current branch to obtain the global submatrix of the current branch. The 4×4 Jacobi submatrix of the processed branch affected by the processed branch is filled into the global coordinate space of the processed branch to obtain the global submatrix of the processed branch.

[0026] Calculate the cross-correlation contribution values ​​of the current branch global submatrix and the processed branch global submatrix to the Jacobian matrix of the non-zero element symmetric structure;

[0027] The cross-correlation contribution value is accumulated and added to the corresponding global coordinate position in the Jacobian matrix of the non-zero element symmetric structure.

[0028] The determination of the 4×4 Jacobian submatrix of the current branch influence is specifically as follows:

[0029] When nodes i and j in the current branch coordinates are both load nodes, the two sub-block matrices in the first row of the 4×4 Jacobi current branch sub-matrix are the partial derivatives of the active power and reactive power of node i with respect to the real and imaginary parts of the node voltage, respectively; the two sub-block matrices in the second row of the 4×4 Jacobi current branch sub-matrix are the partial derivatives of the active power and reactive power of node j with respect to the real and imaginary parts of the node voltage, respectively.

[0030] When node j in the branch coordinates of the current branch is a voltage control node, the two sub-block matrices in the first row of the 4×4 Jacobi current branch sub-matrix are the partial derivatives of the active power and reactive power of node i with respect to the real and imaginary parts of the node voltage, respectively; the first row of the two sub-block matrices in the second row of the 4×4 Jacobi current branch sub-matrix are the partial derivatives of the active power of node j with respect to the real and imaginary parts of the node voltage, respectively; the second row of the two sub-block matrices in the second row of the 4×4 Jacobi current branch sub-matrix are the partial derivatives of the square of the voltage of node j with respect to the real and imaginary parts of the node voltage, respectively.

[0031] When node i in the branch coordinates of the current branch is a voltage control node, the first row of the two sub-block matrices in the first row of the 4×4 Jacobi current branch sub-matrix represents the partial derivatives of the active power of node i with respect to the real and imaginary parts of the node voltage, respectively; the second row of the two sub-block matrices in the first row of the 4×4 Jacobi current branch sub-matrix represents the partial derivatives of the square of the voltage of node i with respect to the real and imaginary parts of the node voltage, respectively; the two sub-block matrices in the second row of the 4×4 Jacobi current branch sub-matrix represent the partial derivatives of the active power and reactive power of node j with respect to the real and imaginary parts of the node voltage, respectively.

[0032] When nodes i and j in the branch coordinates of the current branch are both voltage control nodes, the first row of the two sub-block matrices in the first row of the 4×4 Jacobi current branch sub-matrix represents the partial derivatives of the active power of node i with respect to the real and imaginary parts of the node voltage, respectively; the second row of the two sub-block matrices in the first row of the 4×4 Jacobi current branch sub-matrix represents the partial derivatives of the square of the voltage of node i with respect to the real and imaginary parts of the node voltage, respectively; the first row of the two sub-block matrices in the second row of the 4×4 Jacobi current branch sub-matrix represents the partial derivatives of the active power of node j with respect to the real and imaginary parts of the node voltage, respectively; the second row of the two sub-block matrices in the second row of the 4×4 Jacobi current branch sub-matrix represents the partial derivatives of the square of the voltage of node j with respect to the real and imaginary parts of the node voltage, respectively.

[0033] The technical solution adopted by this invention to solve its technical problem is: to provide a dynamic incremental calculation device for the Jacobian matrix of a symmetric FPGA structure, comprising:

[0034] The receiving and extraction module is used to receive binary branch data sequences transmitted from the outside and extract node numbering information related to the construction of the Jacobian matrix;

[0035] The determination module is used to determine the type of the node based on the node number information;

[0036] The first dynamic incremental calculation module is used to perform dynamic incremental calculations directly from the branch data node coordinates of the extracted node number information related to the Jacobian matrix when there are no voltage control nodes in the power system.

[0037] The second dynamic incremental calculation module is used to perform an equivalent transformation on the original Jacobian matrix when there are voltage control nodes in the power system, and to perform dynamic incremental calculation on the Jacobian matrix of the non-zero element symmetric structure obtained by the equivalent transformation.

[0038] The technical solution adopted by the present invention to solve its technical problem is: to provide an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the steps of the above-mentioned dynamic incremental calculation method of the Jacobian matrix of the power flow of the FPGA symmetric structure.

[0039] The technical solution adopted by the present invention to solve its technical problem is: to provide a computer-readable storage medium on which a computer program is stored, wherein when the computer program is executed by a processor, the steps of the above-mentioned dynamic incremental calculation method of the Jacobian matrix of the power flow of the FPGA symmetric structure are implemented.

[0040] Beneficial effects

[0041] Due to the adoption of the above technical solution, the present invention has the following advantages and positive effects compared with the prior art: When there is a voltage control node in the system, the present invention converts the original Jacobian matrix into an equivalent Jacobian matrix with a non-zero element symmetric structure, and performs dynamic incremental calculation on the non-zero element symmetric Jacobian matrix. This method utilizes the fact that symmetric matrices can be directly adapted to efficient numerical solution algorithms, which greatly reduces the amount of computation of matrix decomposition and iterative solution, reduces the time complexity of solving power flow equations, and improves the overall computational efficiency. At the same time, dynamic incremental calculation does not require reserving a huge space to store the full matrix, but only needs to cache the current branch data, the processed branch registers and intermediate calculation results, which significantly reduces the storage resource occupation of the FPGA. Attached Figure Description

[0042] Figure 1 This is a flowchart of the dynamic incremental calculation method of the power flow Jacobian matrix of the FPGA symmetric structure according to the first embodiment of the present invention;

[0043] Figure 2 This is a block diagram of the dynamic incremental calculation method of the power flow Jacobian matrix of the FPGA symmetric structure according to the first embodiment of the present invention. Detailed Implementation

[0044] The present invention will be further illustrated below with reference to specific embodiments. It should be understood that these embodiments are for illustrative purposes only and are not intended to limit the scope of the invention. Furthermore, it should be understood that after reading the teachings of this invention, those skilled in the art can make various alterations or modifications to the invention, and these equivalent forms also fall within the scope defined by the appended claims.

[0045] The first embodiment of the present invention relates to a method for dynamically incrementally calculating the power flow Jacobian matrix of an FPGA symmetric structure, such as... Figure 1 and Figure 2 As shown, it includes the following steps:

[0046] Step 1: Receive the binary branch data sequence transmitted from the outside and extract the node number information related to the construction of the Jacobian matrix.

[0047] In this step, the serial port read module receives the binary branch data sequence branch_data transmitted from the outside and outputs the branch node coordinates {from_bus, to_bus}, where from_bus represents the branch start number and to_bus represents the branch end number.

[0048] Step 2: Determine the type of node based on the node number information. This embodiment employs different processing methods depending on whether the system contains voltage control nodes (i.e., PV nodes). When the number of PV nodes in the system is zero, it indicates that the system consists entirely of load nodes (i.e., PQ nodes), and the Jacobian matrix has a symmetrical structure; therefore, the processing method in Step 3 is used. When the number of PV nodes in the system is not zero, the Jacobian matrix does not have a symmetrical structure; therefore, the processing method in Step 4 is used.

[0049] Step 3: When there are no voltage control nodes in the power system, the branch data node coordinates are dynamically incrementally calculated directly from the node number information related to the extracted Jacobian matrix.

[0050] In this step, the number of PV nodes in the system is zero, indicating that all nodes are PQ nodes. This means that the Jacobian matrix is ​​structurally symmetric, i.e., the Jacobian matrix element c... ij If c ij If c ≠ 0, then ji ≠0, 0≤i,j≤2(n-1)-1. At this point, the construction of the Jacobian matrix of the non-zero element symmetric structure can be completed in just two steps.

[0051] Coordinate mapping steps: The extracted branch data node coordinates related to the Jacobian matrix construction, {from_bus, to_bus}, are mapped to the global coordinates of the 2×2 Jacobian submatrix coo_jacoby, represented as:

[0052] ;

[0053] Incremental update steps: Calculate the numerical values ​​of the numerical Jacobian submatrix based on the electrical parameters of the branch; write the values ​​in the numerical Jacobian submatrix into the corresponding positions of the non-zero element symmetric Jacobian matrix according to the global coordinates in the coordinate Jacobian submatrix.

[0054] The specific implementation is as follows: Whenever a branch node sequence {from_bus, to_bus} is read from the serial port, the coordinate Jacobian submatrix coo_jacoby is calculated, and the coordinate values ​​are written into the Jacobian variable set jump list variable_set_A. Simultaneously, based on the branch's electrical parameters, the numerical Jacobian submatrix sub_jacoby is calculated and recorded in the non-zero element symmetric Jacobian matrix sym_jacoby, i.e., sym_jacoby[coo_jacoby] ← sub_jacoby. The calculation of the numerical Jacobian submatrix sub_jacoby can be expressed as:

[0055] ;

[0056] Among them, block and partitioning Indicates active power Partial derivatives with respect to the real part e and the imaginary part f of the node voltage, in blocks and partitioning Represents reactive power The partial derivatives of the node voltage with respect to the real part e and the imaginary part f.

[0057] Step 4: When there are voltage control nodes in the power system, perform an equivalent transformation on the original Jacobian matrix, and then perform dynamic incremental calculations on the Jacobian matrix of the non-zero element symmetric structure obtained from the equivalent transformation.

[0058] In this step, the number of PV nodes in the system is greater than zero. Assuming the number of PQ nodes is m, the number of PV nodes is nm-1, where n is the total number of nodes in the system. The Jacobian matrix is ​​sorted in the order of PQ nodes, PV nodes, and balancing nodes. When node number 1 ≤ i ≤ m, the Jacobian matrix has a non-zero element symmetric structure. When node number m+1 ≤ i ≤ nm-1, the Jacobian matrix does not have a non-zero element symmetric structure. This step employs an incremental calculation process: utilizing the principle that the product of a matrix and its transpose is a symmetric matrix, the original Jacobian matrix is ​​equivalently transformed into a non-zero element symmetric Jacobian matrix. Then, the dynamic incremental calculation of the non-zero element symmetric Jacobian matrix is ​​completed through autocorrelation and cross-correlation accumulation.

[0059] Specifically, autocorrelation accumulation includes:

[0060] First, determine a 4×4 Jacobian current branch submatrix J_current_sub that the current branch influences, and calculate the product of the 4×4 Jacobian current branch submatrix J_current_sub and its transpose.

[0061] In this embodiment, the two power imbalance quantities correspond to the size of each node number from_bus. and or active power imbalance Voltage square imbalance Each branch node data sequence {from_bus, to_bus} involves four node imbalance equations in the power flow equations, and the resulting 4×4 Jacobian current branch submatrix is ​​denoted as J_current_sub, and is expressed as:

[0062] ;

[0063] in, Each is a 2×2 submatrix. Based on the branch coordinates... The relationship between the number of PQ nodes m and the number of PQ nodes can be divided into the following four cases:

[0064] like In the current branch's branch coordinates, nodes i and j are both PQ nodes. At this time, the two sub-block matrices in the first row of the 4×4 Jacobian current branch submatrix J_current_sub are... The active power of node i is respectively and the reactive power of node i Partial derivatives with respect to the real and imaginary parts f of the node voltage; the two sub-block matrices in the second row of the 4×4 Jacobian current branch sub-matrix J_current_sub. The active power of node j is respectively and the reactive power of node j The partial derivatives with respect to the real part e and the imaginary part f of the node voltage, Calculate according to the following formulas:

[0065] .

[0066] like If node j in the current branch coordinates is a PV node, then the two sub-block matrices in the first row of the 4×4 Jacobian current branch submatrix J_current_sub are... The active power of node i is respectively and the reactive power of node i Partial derivatives with respect to the real and imaginary parts f of the node voltage; the two sub-block matrices in the second row of the 4×4 Jacobian current branch sub-matrix J_current_sub. The first row in the table represents the active power of node j. The partial derivatives of the real and imaginary parts of the node voltages are expressed as two sub-block matrices in the second row of the 4×4 branch sub-matrix J_current_sub. The second row represents the square of the voltage at node j. The partial derivatives with respect to the real part e and the imaginary part f of the node voltage, Calculate according to the following formulas:

[0067] .

[0068] like If node i in the branch coordinates of the current branch is a PV node, then the two sub-block matrices in the first row of the 4×4 Jacobian of the current branch submatrix J_current_sub are... The first row in the table represents the active power of node i. The partial derivatives of the real part e and the imaginary part f of the node voltage are expressed as two sub-block matrices in the first row of the 4×4 branch sub-matrix J_current_sub. The second row represents the square of the voltage at node i. Partial derivatives with respect to the real and imaginary parts f of the node voltage; the two sub-block matrices in the second row of the 4×4 Jacobian current branch sub-matrix J_current_sub. The active power of node j is respectively and the reactive power of node j The partial derivatives with respect to the real part e and the imaginary part f of the node voltage, Calculate according to the following formulas:

[0069] .

[0070] like If node i and node j in the current branch coordinates are both PV nodes, then the two sub-block matrices in the first row of the 4×4 Jacobian current branch submatrix J_current_sub are... The first row in the table represents the active power of node i. The partial derivatives of the real part e and the imaginary part f of the node voltage are expressed as two sub-block matrices in the first row of the 4×4 branch sub-matrix J_current_sub. The second row represents the square of the voltage at node i. The partial derivatives of the real and imaginary parts of the node voltages are expressed as two sub-block matrices in the second row of the 4×4 branch sub-matrix J_current_sub. The first row in the table represents the active power of node j. The partial derivatives of the real and imaginary parts of the node voltages are expressed as two sub-block matrices in the second row of the 4×4 branch sub-matrix J_current_sub. The second row represents the square of the voltage at node j. The partial derivatives with respect to the real part e and the imaginary part f of the node voltage, Calculate according to the following formulas:

[0071] .

[0072] Then, the original coordinates of the current branch are expanded into 2×2 submatrix coordinates.

[0073] In this embodiment, the branch node sequence The corresponding original Jacobian 4×4 submatrix coordinates `source_index` are mapped to the global Jacobian submatrix coordinates `global_index`, where `source_index` ← {2i-1, 2i, 2j-1, 2j}. For each local coordinate `source_id` in the original Jacobian submatrix coordinates `source_index`, the global coordinate `global_index` is queried and calculated, and the result is saved to the local-to-global coordinate mapping register `source_to_global`. This process is repeated iteratively.

[0074] For each global coordinate index `source_id` in `global_index`, execute the following process: Retrieve the node coordinate index `g_node_id` corresponding to the current global coordinate value `global_id`, and the node coordinate index `s_node_id` corresponding to the current local coordinate value `source_id`. If the local node index `s_node_id` equals the global node index `g_node_id`, save the current global coordinate `global_id` to the local-global coordinate mapping register `source_to_global`, i.e., `source_to_global[source_id]←global_id`. If the local node index `s_node_id` does not equal the global node index `g_node_id`, update the global coordinate `global_id`, i.e., `global_id←global_id+1`. When the local coordinate value `source_id` matches a global coordinate, update the current local coordinate value `source_id`, i.e., `source_id←source_id+1`.

[0075] The coordinates of the 2×2 submatrix formed by expanding the original coordinates source_index×source_index are defined as follows:

[0076] .

[0077] Let the original coordinates be s_id←source_index×source_index.

[0078] Finally, the product result is added to the coordinates of the 2×2 submatrix of the Jacobian matrix of the non-zero element symmetric structure, i.e., sym_jacoby[s_id]←sym_jacoby[s_id]+J_current_sub·J_current_sub T .

[0079] Cross-correlation accumulation specifically includes:

[0080] First, determine a 4×4 Jacobian submatrix J_current_sub that influences the current branch; the specific implementation is the same as autocorrelation accumulation, which will not be elaborated here.

[0081] Next, the processed branches are obtained, and a 4×4 Jacobi processed branch submatrix is ​​determined to be affected by the processed branches.

[0082] In this implementation, count_branch←1 is set as a counter for the number of processed branches. When count_branch ≤ the total number of processed branches processed_branch_num, the processed branch number is saved from the processed branch register processed_branch to processed_id, i.e., processed_id←processed_branch[count_branch]. The high 16 bits and low 16 bits are saved to the branch start number p and the branch end number q, respectively, i.e., p←processed_id[31:16] and q←processed_id[15:0]. The original submatrix index coordinates processed_index of branch {p,q} are calculated, i.e., processed_index←{2p-1,2p,2q-1,2q}. The coordinates of the 2×2 submatrix formed by expanding the original coordinates processed_index×processed_index of the processed branches are defined as follows:

[0083] ;

[0084] Let the original coordinates of the processed branch be p_id←processed_index×processed_index.

[0085] Calculate the 4×4 Jacobian submatrix J_processed_sub representing the influence of the processed branch {p,q}. Based on the relationship between the branch coordinates (p,q) and the number of nodes m in PQ, calculate the 2×2 block submatrix. The result is then saved to a 4×4 Jacobi submatrix J_processed_sub, i.e.:

[0086] .

[0087] Then, the union of the original coordinates of the current branch and the original coordinates of the processed branches is calculated, and sorted in ascending order of coordinate number to obtain the global coordinates of the mutual influence between the current branch and the processed branches. The global coordinates are then expanded to obtain the expanded global coordinates.

[0088] In this implementation, the original coordinate number source_index of the current branch and the original coordinate number processed_index of the processed branch are calculated as a union, and sorted by coordinate number from smallest to largest to obtain the global coordinate global_index that the current branch and the processed branch influence each other, i.e., global_index←sort[current_branch∪processed_branch]. The extended global coordinate formed by expanding the global coordinate global_index×global_index is denoted as g_id, i.e., g_id←global_index×global_index.

[0089] Subsequently, a global coordinate mapping table for the current branch and a global coordinate mapping table for the processed branch are established based on the original coordinates of the current branch, the original coordinates of the processed branch, and the expanded global coordinates. These tables are then expanded to obtain the global coordinate space for the current branch and the global coordinate space for the processed branch.

[0090] In this embodiment, the mapping tables of the current branch coordinates `source_index` and the processed branch coordinates `processed_index` in the global coordinates `global_index` are calculated respectively. The results are saved to the current branch global coordinate mapping table `global_source` and the processed branch global coordinate mapping table `global_processed`, i.e., `global_source ← build_global_index[global_index, source_index]`, `global_processed ← build_global_index[global_index, processed_index]`. Then, the global coordinate spaces are generated by expanding the current branch global coordinate mapping table `global_source` and the processed branch global coordinate mapping table `global_processed`, respectively denoted as the current branch global coordinate space `gs_id` and the processed branch global coordinate space `gp_id`, i.e., `gs_id ← global_source × global_source`, `gp_id ← global_processed × global_processed`.

[0091] Next, fill the 4×4 Jacobi submatrix of the current branch affected by the current branch into the global coordinate space gs_id of the current branch to obtain the global submatrix of the current branch j_current_global[gs_id]. Then, fill the 4×4 Jacobi submatrix of the processed branch affected by the processed branch j_processed_sub into the global coordinate space gp_id of the processed branch to obtain the global submatrix of the processed branch j_processed_global[gp_id].

[0092] Next, calculate the cross-correlation contribution value cross_sub of the influence of the current branch global submatrix j_current_global[gs_id] and the processed branch global submatrix j_processed_global[gp_id] on the Jacobian matrix sym_jacoby of the non-zero element symmetric structure, i.e., cross_sub ← j_current_global · j_processed_global T + j_processed_global·j_current_global T ;

[0093] Finally, the cross-correlation contribution value cross_sub is accumulated and added to the corresponding global coordinate g_id in the Jacobian matrix sym_jacoby of the non-zero element symmetric structure, i.e., sym_jacoby[g_id]←sym_jacoby[g_id]+cross_sub.

[0094] After completing the cross-correlation contribution calculation for the currently processed branch, update the processed branch number count_branch, count_branch ← count_branch + 1, and repeat the above steps until all processed branches have been traversed.

[0095] Finally, the current branch {i,j} is added to the processed branch register `processed_branch`, i.e., `processed_branch[count_branch]←{i,j}`. At this point, the above process has completed the calculation of the cumulative autocorrelation and cross-correlation contributions of the current branch `current_branch` and all calculated branches `processed_branch` to the structural symmetric Jacobian matrix `sym_jacoby`.

[0096] It is easy to see that in this implementation, when there is a voltage control node in the system, the original Jacobian matrix is ​​equivalently converted into a Jacobian matrix with a non-zero element symmetric structure, and dynamic incremental calculation is performed on the non-zero element symmetric structure Jacobian matrix. This method utilizes the fact that symmetric matrices can be directly adapted to efficient numerical solution algorithms, which greatly reduces the amount of computation of matrix decomposition and iterative solution, reduces the time complexity of solving power flow equations, and improves the overall computational efficiency. At the same time, dynamic incremental calculation does not require reserving a huge space to store the full matrix, but only needs to cache the current branch data, the processed branch registers and intermediate calculation results, which significantly reduces the storage resource occupation of the FPGA.

[0097] The second embodiment of the present invention relates to a dynamic incremental calculation device for the power flow Jacobian matrix of an FPGA symmetric structure, comprising:

[0098] The receiving and extraction module is used to receive binary branch data sequences transmitted from the outside and extract node numbering information related to the construction of the Jacobian matrix;

[0099] The determination module is used to determine the type of the node based on the node number information;

[0100] The first dynamic incremental calculation module is used to perform dynamic incremental calculations directly from the branch data node coordinates of the extracted node number information related to the Jacobian matrix when there are no voltage control nodes in the power system.

[0101] The second dynamic incremental calculation module is used to perform an equivalent transformation on the original Jacobian matrix when there are voltage control nodes in the power system, and to perform dynamic incremental calculation on the Jacobian matrix of the non-zero element symmetric structure obtained by the equivalent transformation.

[0102] The first dynamic incremental calculation module includes:

[0103] The coordinate mapping unit is used to map the coordinates of the branch data nodes, which are related to the extracted node numbering information of the Jacobian matrix, to the global coordinates of the 2×2 coordinate Jacobian submatrix.

[0104] Numerical calculation unit, used to calculate the numerical values ​​of the numerical Jacobian submatrix based on the electrical parameters of the branch;

[0105] The write unit is used to write the values ​​in the numerical Jacobi submatrix, according to the global coordinates in the coordinate Jacobi submatrix, into the corresponding positions of the non-zero element symmetric Jacobi matrix.

[0106] The second dynamic incremental calculation module performs an equivalent transformation on the original Jacobian matrix structure. Specifically, it calculates the product of the original Jacobian matrix structure and its transpose to obtain a Jacobian matrix with a non-zero element symmetric structure.

[0107] The second dynamic incremental calculation module performs dynamic incremental calculation on the Jacobian matrix of the non-zero element symmetric structure obtained by equivalent transformation. Specifically, it completes the dynamic incremental calculation of the Jacobian matrix of the non-zero element symmetric structure through autocorrelation accumulation and cross-correlation accumulation.

[0108] The autocorrelation accumulation specifically includes:

[0109] Determine a 4×4 Jacobi submatrix of the current branch's influence, and calculate the product of the 4×4 Jacobi submatrix of the current branch and its transpose;

[0110] Expand the original coordinates of the current branch into a 2×2 submatrix coordinate system;

[0111] The product result is accumulated to the coordinates of the 2×2 submatrix of the Jacobian matrix of the non-zero element symmetric structure.

[0112] The cross-correlation accumulation specifically includes:

[0113] Determine a 4×4 Jacobian submatrix of the current branch's influence;

[0114] Obtain the processed branches and determine a 4×4 Jacobi processed branch submatrix of the effects of the processed branches;

[0115] Calculate the union of the original coordinates of the current branch and the original coordinates of the processed branches, sort them in ascending order of coordinate number to obtain the global coordinates of the mutual influence between the current branch and the processed branches, and expand the global coordinates to obtain the expanded global coordinates.

[0116] Based on the original coordinates of the current branch, the original coordinates of the processed branch, and the expanded global coordinates, establish a global coordinate mapping table for the current branch and a global coordinate mapping table for the processed branch. Then, expand the global coordinate mapping table for the current branch and the global coordinate space for the processed branch to obtain the global coordinate space for the current branch and the global coordinate space for the processed branch.

[0117] The 4×4 Jacobi submatrix of the current branch affected by the current branch is filled into the global coordinate space of the current branch to obtain the global submatrix of the current branch. The 4×4 Jacobi submatrix of the processed branch affected by the processed branch is filled into the global coordinate space of the processed branch to obtain the global submatrix of the processed branch.

[0118] Calculate the cross-correlation contribution values ​​of the current branch global submatrix and the processed branch global submatrix to the Jacobian matrix of the non-zero element symmetric structure;

[0119] The cross-correlation contribution value is accumulated and added to the corresponding global coordinate position in the Jacobian matrix of the non-zero element symmetric structure.

[0120] The determination of the 4×4 Jacobian submatrix of the current branch influence is specifically as follows:

[0121] When nodes i and j in the current branch coordinates are both load nodes, the two sub-block matrices in the first row of the 4×4 Jacobi current branch sub-matrix are the partial derivatives of the active power and reactive power of node i with respect to the real and imaginary parts of the node voltage, respectively; the two sub-block matrices in the second row of the 4×4 Jacobi current branch sub-matrix are the partial derivatives of the active power and reactive power of node j with respect to the real and imaginary parts of the node voltage, respectively.

[0122] When node j in the branch coordinates of the current branch is a voltage control node, the two sub-block matrices in the first row of the 4×4 Jacobi current branch sub-matrix are the partial derivatives of the active power and reactive power of node i with respect to the real and imaginary parts of the node voltage, respectively; the first row of the two sub-block matrices in the second row of the 4×4 Jacobi current branch sub-matrix are the partial derivatives of the active power of node j with respect to the real and imaginary parts of the node voltage, respectively; the second row of the two sub-block matrices in the second row of the 4×4 Jacobi current branch sub-matrix are the partial derivatives of the square of the voltage of node j with respect to the real and imaginary parts of the node voltage, respectively.

[0123] When node i in the branch coordinates of the current branch is a voltage control node, the first row of the two sub-block matrices in the first row of the 4×4 Jacobi current branch sub-matrix represents the partial derivatives of the active power of node i with respect to the real and imaginary parts of the node voltage, respectively; the second row of the two sub-block matrices in the first row of the 4×4 Jacobi current branch sub-matrix represents the partial derivatives of the square of the voltage of node i with respect to the real and imaginary parts of the node voltage, respectively; the two sub-block matrices in the second row of the 4×4 Jacobi current branch sub-matrix represent the partial derivatives of the active power and reactive power of node j with respect to the real and imaginary parts of the node voltage, respectively.

[0124] When nodes i and j in the branch coordinates of the current branch are both voltage control nodes, the first row of the two sub-block matrices in the first row of the 4×4 Jacobi current branch sub-matrix represents the partial derivatives of the active power of node i with respect to the real and imaginary parts of the node voltage, respectively; the second row of the two sub-block matrices in the first row of the 4×4 Jacobi current branch sub-matrix represents the partial derivatives of the square of the voltage of node i with respect to the real and imaginary parts of the node voltage, respectively; the first row of the two sub-block matrices in the second row of the 4×4 Jacobi current branch sub-matrix represents the partial derivatives of the active power of node j with respect to the real and imaginary parts of the node voltage, respectively; the second row of the two sub-block matrices in the second row of the 4×4 Jacobi current branch sub-matrix represents the partial derivatives of the square of the voltage of node j with respect to the real and imaginary parts of the node voltage, respectively.

[0125] The third embodiment of the present invention relates to an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the steps of the dynamic incremental calculation method of the power flow Jacobian matrix of the FPGA symmetric structure of the first embodiment.

[0126] The fourth embodiment of the present invention relates to a computer-readable storage medium having a computer program stored thereon, wherein when the computer program is executed by a processor, it implements the steps of the dynamic incremental calculation method of the power flow Jacobian matrix of the FPGA symmetric structure of the first embodiment.

[0127] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product implemented on one or more computer-usable storage media (including, but not limited to, disk storage and optical storage) containing computer-usable program code.

[0128] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart... Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0129] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to operate in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction methods implemented in a process. Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0130] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0131] The above description is merely a specific embodiment of the present invention, but the scope of protection of the present invention is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the technical scope disclosed in the present invention should be included within the scope of protection of the present invention. Therefore, the scope of protection of the present invention should be determined by the scope of the claims.

Claims

1. A method for dynamically incrementally calculating the power flow Jacobian matrix of an FPGA symmetric structure, characterized in that, Includes the following steps: Receive binary branch data sequences transmitted from the outside and extract node numbering information related to the construction of the Jacobian matrix; The type of the node is determined based on the node number information; When there are no voltage control nodes in the power system, the dynamic incremental calculation is performed directly from the branch data node coordinates of the node number information related to the extracted Jacobian matrix. When there are voltage control nodes in the power system, the original Jacobian matrix is ​​transformed into an equivalent structure, and the Jacobian matrix of the non-zero element symmetric structure obtained by the equivalent transformation is dynamically incrementally calculated. The equivalent transformation of the original Jacobian matrix structure is specifically as follows: calculate the product of the original Jacobian matrix structure and its transpose to obtain the Jacobian matrix with a non-zero element symmetric structure. The dynamic incremental calculation of the Jacobian matrix of the non-zero element symmetric structure obtained by the equivalent transformation is specifically performed by: completing the dynamic incremental calculation of the Jacobian matrix of the non-zero element symmetric structure through autocorrelation accumulation and cross-correlation accumulation. The autocorrelation accumulation specifically includes: Determine a 4×4 Jacobi submatrix of the current branch's influence, and calculate the product of the 4×4 Jacobi submatrix of the current branch and its transpose; Expand the original coordinates of the current branch into a 2×2 submatrix coordinate system; The product result is accumulated and added to the coordinates of the 2×2 submatrix of the Jacobian matrix of the non-zero element symmetric structure; The cross-correlation accumulation specifically includes: Determine a 4×4 Jacobian submatrix of the current branch's influence; Obtain the processed branches and determine a 4×4 Jacobi processed branch submatrix of the effects of the processed branches; Calculate the union of the original coordinates of the current branch and the original coordinates of the processed branches, sort them in ascending order of coordinate number to obtain the global coordinates of the mutual influence between the current branch and the processed branches, and expand the global coordinates to obtain the expanded global coordinates. Based on the original coordinates of the current branch, the original coordinates of the processed branch, and the expanded global coordinates, establish a global coordinate mapping table for the current branch and a global coordinate mapping table for the processed branch. Then, expand the global coordinate mapping table for the current branch and the global coordinate space for the processed branch to obtain the global coordinate space for the current branch and the global coordinate space for the processed branch. The 4×4 Jacobi submatrix of the current branch affected by the current branch is filled into the global coordinate space of the current branch to obtain the global submatrix of the current branch. The 4×4 Jacobi submatrix of the processed branch affected by the processed branch is filled into the global coordinate space of the processed branch to obtain the global submatrix of the processed branch. Calculate the cross-correlation contribution values ​​of the current branch global submatrix and the processed branch global submatrix to the Jacobian matrix of the non-zero element symmetric structure; The cross-correlation contribution value is accumulated and added to the corresponding global coordinate position in the Jacobian matrix of the non-zero element symmetric structure.

2. The method for dynamically incrementally calculating the power flow Jacobian matrix of an FPGA symmetric structure according to claim 1, characterized in that, When there are no voltage control nodes in the power system, the dynamic incremental calculation is performed directly from the branch data node coordinates of the extracted node number information related to the Jacobian matrix. Specifically, this includes: The extracted branch data node coordinates related to the node number information of the Jacobian matrix are mapped to the global coordinates of the 2×2 coordinate Jacobian submatrix. Numerical calculation of the Jacobian submatrix based on the electrical parameters of the branch; The values ​​in the numerical Jacobi submatrix are written into the corresponding positions of the non-zero element symmetric Jacobi matrix according to their global coordinates in the coordinate Jacobi submatrix.

3. The method for dynamically incrementally calculating the Jacobian matrix of a symmetric FPGA structure according to claim 1, characterized in that, The determination of the 4×4 Jacobian submatrix of the current branch influence is specifically as follows: When nodes i and j in the current branch coordinates are both load nodes, the two sub-block matrices in the first row of the 4×4 Jacobi current branch sub-matrix are the partial derivatives of the active power and reactive power of node i with respect to the real and imaginary parts of the node voltage, respectively; the two sub-block matrices in the second row of the 4×4 Jacobi current branch sub-matrix are the partial derivatives of the active power and reactive power of node j with respect to the real and imaginary parts of the node voltage, respectively. When node j in the branch coordinates of the current branch is a voltage control node, the two sub-block matrices in the first row of the 4×4 Jacobi current branch sub-matrix are the partial derivatives of the active power and reactive power of node i with respect to the real and imaginary parts of the node voltage, respectively; the first row of the two sub-block matrices in the second row of the 4×4 Jacobi current branch sub-matrix are the partial derivatives of the active power of node j with respect to the real and imaginary parts of the node voltage, respectively; the second row of the two sub-block matrices in the second row of the 4×4 Jacobi current branch sub-matrix are the partial derivatives of the square of the voltage of node j with respect to the real and imaginary parts of the node voltage, respectively. When node i in the branch coordinates of the current branch is a voltage control node, the first row of the two sub-block matrices in the first row of the 4×4 Jacobi current branch sub-matrix represents the partial derivatives of the active power of node i with respect to the real and imaginary parts of the node voltage, respectively; the second row of the two sub-block matrices in the first row of the 4×4 Jacobi current branch sub-matrix represents the partial derivatives of the square of the voltage of node i with respect to the real and imaginary parts of the node voltage, respectively; the two sub-block matrices in the second row of the 4×4 Jacobi current branch sub-matrix represent the partial derivatives of the active power and reactive power of node j with respect to the real and imaginary parts of the node voltage, respectively. When nodes i and j in the branch coordinates of the current branch are both voltage control nodes, the first row of the two sub-block matrices in the first row of the 4×4 Jacobi current branch sub-matrix represents the partial derivatives of the active power of node i with respect to the real and imaginary parts of the node voltage, respectively; the second row of the two sub-block matrices in the first row of the 4×4 Jacobi current branch sub-matrix represents the partial derivatives of the square of the voltage of node i with respect to the real and imaginary parts of the node voltage, respectively; the first row of the two sub-block matrices in the second row of the 4×4 Jacobi current branch sub-matrix represents the partial derivatives of the active power of node j with respect to the real and imaginary parts of the node voltage, respectively; the second row of the two sub-block matrices in the second row of the 4×4 Jacobi current branch sub-matrix represents the partial derivatives of the square of the voltage of node j with respect to the real and imaginary parts of the node voltage, respectively.

4. A dynamic incremental calculation device for the power flow Jacobian matrix of an FPGA symmetric structure, characterized in that, include: The receiving and extraction module is used to receive binary branch data sequences transmitted from the outside and extract node numbering information related to the construction of the Jacobian matrix; The determination module is used to determine the type of the node based on the node number information; The first dynamic incremental calculation module is used to perform dynamic incremental calculations directly from the branch data node coordinates of the extracted node number information related to the Jacobian matrix when there are no voltage control nodes in the power system. The second dynamic incremental calculation module is used to perform equivalent transformation on the original Jacobian matrix when there are voltage control nodes in the power system, and to perform dynamic incremental calculation on the Jacobian matrix of the non-zero element symmetric structure obtained by the equivalent transformation. The second dynamic incremental calculation module performs an equivalent transformation on the original Jacobian matrix structure. Specifically, it calculates the product of the original Jacobian matrix structure and its transpose to obtain a Jacobian matrix with a non-zero element symmetric structure. The second dynamic incremental calculation module performs dynamic incremental calculation on the Jacobian matrix of the non-zero element symmetric structure obtained by equivalent transformation. Specifically, it completes the dynamic incremental calculation of the Jacobian matrix of the non-zero element symmetric structure through autocorrelation accumulation and cross-correlation accumulation. The autocorrelation accumulation specifically includes: Determine a 4×4 Jacobi submatrix of the current branch's influence, and calculate the product of the 4×4 Jacobi submatrix of the current branch and its transpose; Expand the original coordinates of the current branch into a 2×2 submatrix coordinate system; The product result is accumulated and added to the coordinates of the 2×2 submatrix of the Jacobian matrix of the non-zero element symmetric structure; The cross-correlation accumulation specifically includes: Determine a 4×4 Jacobian submatrix of the current branch's influence; Obtain the processed branches and determine a 4×4 Jacobi processed branch submatrix of the effects of the processed branches; Calculate the union of the original coordinates of the current branch and the original coordinates of the processed branches, sort them in ascending order of coordinate number to obtain the global coordinates of the mutual influence between the current branch and the processed branches, and expand the global coordinates to obtain the expanded global coordinates. Based on the original coordinates of the current branch, the original coordinates of the processed branch, and the expanded global coordinates, establish a global coordinate mapping table for the current branch and a global coordinate mapping table for the processed branch. Then, expand the global coordinate mapping table for the current branch and the global coordinate space for the processed branch to obtain the global coordinate space for the current branch and the global coordinate space for the processed branch. The 4×4 Jacobi submatrix of the current branch affected by the current branch is filled into the global coordinate space of the current branch to obtain the global submatrix of the current branch. The 4×4 Jacobi submatrix of the processed branch affected by the processed branch is filled into the global coordinate space of the processed branch to obtain the global submatrix of the processed branch. Calculate the cross-correlation contribution values ​​of the current branch global submatrix and the processed branch global submatrix to the Jacobian matrix of the non-zero element symmetric structure; The cross-correlation contribution value is accumulated and added to the corresponding global coordinate position in the Jacobian matrix of the non-zero element symmetric structure.

5. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the computer program, it implements the steps of the dynamic incremental calculation method for the power flow Jacobian matrix of the FPGA symmetric structure as described in any one of claims 1-3.

6. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, it implements the steps of the dynamic incremental calculation method of the power flow Jacobian matrix of the FPGA symmetric structure as described in any one of claims 1-3.