Method and system for calculating three-dimensional synthetic electric field of direct-current power transmission project

By employing the finite element method and iterative adjustments, the problem of calculating the three-dimensional composite electric field of complex geometric structures in UHVDC transmission projects has been solved, achieving fast and accurate electric field calculations applicable to any DC transmission project.

CN120930399APending Publication Date: 2025-11-11CHINA ELECTRIC POWER RESEARCH INSTITUTE CO LTD +4
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510894107.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-06-30
Publication Date
2025-11-11

AI Technical Summary

Technical Problem

Existing technologies struggle to quickly and accurately calculate the three-dimensional composite electric field of complex geometries in ultra-high voltage direct current (UHVDC) transmission projects, especially in complex systems composed of multiple conductors within converter stations, resulting in lengthy calculation times and difficulty in convergence.

Method used

The space charge density is initialized using the finite element method, and the potential Poisson equation and current continuity equation of the three-dimensional synthetic electric field are solved. The charge density calculation process is optimized by iteratively adjusting the charge density on the conductor surface and combining node and element label vectors until the error limit or Kaptzov assumption is met.

Benefits of technology

It achieves rapid convergence and high accuracy in calculating the three-dimensional synthetic electric field of complex geometries, and is applicable to any DC transmission project, reducing computational complexity and cost.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120930399A_ABST
    Figure CN120930399A_ABST
Patent Text Reader

Abstract

The invention discloses a method and a system for calculating a three-dimensional synthetic electric field of a direct-current transmission project, and belongs to the technical field of high-voltage direct-current transmission. The method comprises the following steps: establishing a calculation model of a three-dimensional synthetic electric field of the direct-current power transmission project; initializing space charge density, solving a potential Poisson equation and a current continuity equation of the three-dimensional synthetic electric field of the direct-current power transmission project by utilizing a finite element method based on the calculation model and the initialized space charge density, and obtaining a solving result; judging whether the relative error of the solving result meets an error limit value or not, and if not, continuing to iteratively solve the potential Poisson equation and the current continuity equation; if yes, whether the Kaptzov hypothesis meets the preset condition or not is judged, if not, the surface charge density of the conductor is corrected, the potential Poisson equation and the current continuity equation continue to be iteratively solved, and if yes, iteration is terminated, and all calculation is finished. The method can be applied to calculation of any three-dimensional composite electric field in a direct-current transmission project.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of high-voltage direct current (HVDC) transmission technology, and more specifically, to a method and system for calculating three-dimensional synthetic electric fields in HVDC transmission projects. Background Technology

[0002] Ultra-high voltage direct current (UHVDC) transmission is a crucial technology for long-distance, high-capacity power transmission, optimizing energy resource allocation, and promoting ecological environment improvement. The electromagnetic environment is a major technical issue that must be considered in the design, construction, and operation of UHVDC transmission projects. The composite electric field is an important parameter of the electromagnetic environment; it is the superposition of the nominal electric field generated by free charges on conductors and induced charges on the ground, and the ionic electric field generated by corona ions moving in space.

[0003] Corona ions move under the influence of a synthetic electric field, forming a corona ion current. This current is nonlinearly coupled to and positively correlated with the synthetic electric field. Excessive exposure to a synthetic electric field can cause tingling and discomfort on the skin, and interception of excessively high corona ion currents can trigger a strong transient electric shock. Corona discharge can be suppressed by increasing the conductor radius, adding shielding hardware, and increasing the conductor's height above ground; however, excessive margins will significantly increase engineering construction costs.

[0004] In many DC transmission projects, there are situations requiring rapid calculation and analysis of the three-dimensional composite electric field. my country's DC transmission line design standard GB / T 50790-2013 stipulates that "when the line is near residential buildings, the undistorted composite electric field on the ground where the buildings are located shall not exceed 15 kV / m under wet conductor conditions." Therefore, in calculations, the composite electric field of the DC line only needs to be considered as a two-dimensional parallel plane field. However, the environmental protection standard GB 39220-2020, "Limits and Monitoring Methods for Composite Electric Fields in DC Transmission Projects," for the first time added limits and assessment requirements for the composite electric field intensity on balconies and platforms of buildings near the line. This change in environmental impact assessment requirements necessitates considering the impact of residential buildings on the composite electric field in the design and environmental impact assessment of DC lines near residential buildings, and requires calculation of the three-dimensional composite electric field. Ultra-high voltage DC transmission technology is being vigorously promoted in my country, and the coverage of DC transmission lines is becoming increasingly widespread. The geometries of houses near DC lines are complex, and there are many houses along the line, resulting in numerous factors affecting the composite electric field near these houses. To control the composite electric field near these houses, a large number of technical and economic comparisons must be conducted during the design of UHVDC lines to select the optimal solution. This places extremely high demands on the three-dimensional composite electric field calculation methods in terms of computational speed and other aspects.

[0005] Converter stations are the core of ultra-high voltage direct current (UHVDC) transmission projects. Within a converter station, conductors are distributed in three-dimensional space and combined into complex geometric structures, making the calculation and analysis of the composite electric field extremely difficult. Existing prediction methods cannot fully meet the project requirements. The converter station contains various conductors, including DC busbars, equalizing rings, and metal bases, which combine in a large three-dimensional space to form a system with complex geometric structures. This complex geometry already makes the calculation and analysis of the system's three-dimensional nominal electric field quite challenging. If a corona ion source is also considered, a coupled solution to the three-dimensional current continuity equation is required. Existing methods for calculating the three-dimensional composite electric field either struggle to handle the complex geometric structures of the conductors or are computationally time-consuming and difficult to converge. Summary of the Invention

[0006] To address the above problems, this invention proposes a method for calculating the three-dimensional composite electric field in DC transmission engineering, comprising:

[0007] Establish a three-dimensional composite electric field calculation model for DC transmission projects;

[0008] Initialize the space charge density. Based on the calculation model and the initialized space charge density, use the finite element method to solve the potential Poisson equation and current continuity equation of the three-dimensional composite electric field of the DC transmission project, and obtain the solution results.

[0009] Determine whether the relative error of the solution meets the error limit. If not, continue iteratively solving the potential Poisson equation and the current continuity equation. If yes, determine whether the Kaptzov assumption meets the preset conditions. If not, correct the surface charge density of the conductor and continue iteratively solving the potential Poisson equation and the current continuity equation. If yes, terminate the iteration and all calculations end.

[0010] Optionally, the finite element method can be used to solve the current continuity equation for the three-dimensional composite electric field of a DC transmission project, including:

[0011] Define a node marker vector pointFlag, a cell node marker matrix elempointFlag, and a cell marker vector elemFlag. Based on the node marker vector pointFlag, calculate the cell node marker matrix elempointFlag, and calculate the cell marker vector elemFlag based on the cell node marker matrix elempointFlag.

[0012] The node marker vector `pointFlag` is formed by assigning a marker to each node. In `pointFlag`, the element corresponding to the node position on the conductor corona initiation surface is set to 1, and the rest are 0. All tetrahedral mesh elements are arranged with row numbers as element numbers and the four node numbers within the row vector as element numbers, forming an element node association matrix. The element node marker matrix `elempointFlag` is formed by replacing the element in each row of the element node association matrix with the corresponding `pointFlag` value. The element marker vector `elemFlag` is formed by assigning a marker to each element. For rows in `elempointFlag` where all elements are 1, the corresponding row element in `elemFlag` is set to 2. For rows in `elempointFlag` where only one element is 0, the corresponding row element in `elemFlag` is set to 1. The elements corresponding to the row numbers in `elemFlag` with elements 1 and 2 are possible upstream elements.

[0013] Based on the unit marker vector elemFlag, the upstream element judgment matrices tempbcdJTMII, tempbcdTMIJJ, tempbcdMIJTT and tempbcdIJTMM relative to all nodes i, j, t and m are calculated in parallel in sequence.

[0014] Step 2.4: For all nodes i, find the elements with elempointFlag(:,1) = 0 and elemFlag = 1 or elemFlag = 2 from tempbcdJTMII. Place the numbers of these elements into the vector elempointIFlag. Using the preset formula for upstream elements, find the element numbers in elempointIFlag relative to node i from the first three columns of data in tempbcdJTMII. Such elements are defined as upstream elements relative to node i. The element numbers of all upstream elements relative to node i form a vector denoted as elempointIupstream. The remaining elements are non-upstream elements, denoted as elempointInoupstream. If elempointIupstream is not empty, calculate the charge density of node i on these upstream elements and set the pointFlag of these nodes i to 1. `mpointIupstream` is a vector. Since the charge density calculations on multiple upstream elements are independent, the charge density of node `i` on the upstream element corresponding to `elempointIupstream` can be calculated in parallel. `elempointFlag` is calculated based on the new `pointFlag`. For rows in `elempointFlag` with at least one element equal to 2, the corresponding row element in `elemFlag` is set to 3. For rows in `elempointFlag` with all elements equal to 1, the corresponding row element in `elemFlag` is set to 2. For rows in `elempointFlag` with only one element equal to 0, the corresponding row element in `elemFlag` is set to 1. The cells corresponding to row numbers with row elements of 3 in `elemFlag` will not participate in the charge density calculation. The cells corresponding to row numbers with row elements of 1 and 2 in `elemFlag` are potential upstream elements. The `elemFlag` of the cells containing the node with `pointFlag = 2` is set to 3, so that these cells no longer participate in the search and calculation of upstream elements.

[0015] Similar to the operation on all nodes i, search for upstream elements elempointJupstream, elempointTupstream, elempointMupstream and non-upstream elements elempointJnoupstream, elempointTnoupstream and elempointMnoupstream on all nodes j, t and m respectively. Calculate the charge density of all nodes j, t and m on the upstream elements respectively, and update pointFlag, elempointFlag and elemFlag respectively.

[0016] Using the difference operation of sets, remove the upstream elements elempointJupstream, elempointTupstream, and elempointMupstream relative to nodes j, t, and m from elempointInonupstream; remove the upstream elements elempointTupstream and elempointMupstream relative to nodes t and m from elempointJnonupstream; and remove the upstream element elempointMupstream relative to node m from elempointTnonupstream.

[0017] In the non-upstream element of elempointInonupstream, update the charge density of node i with the average charge density of all other points associated with node i, and set the pointFlag of the corresponding node i to 1. In the same way, update the charge density of nodes j, t and m in elempointJnonupstream, elempointTnonupstream and elempointMnonupstream respectively, and set the elements in the pointFlag of the corresponding nodes j, t and m to 1.

[0018] If a node and all its neighboring nodes have a pointFlag value of 1, then set the element of the pointFlag corresponding to that node to 2.

[0019] Calculate `elempointFlag` based on the new `pointFlag`. For rows in `elempointFlag` that have at least one element equal to 2, set the corresponding element in `elemFlag` to 3; for rows in `elempointFlag` that have all elements equal to 1, set the corresponding element in `elemFlag` to 2; for rows in `elempointFlag` that have only one element equal to 0, set the corresponding element in `elemFlag` to 1.

[0020] Again, for all nodes i, find the elements from tempbcdJTMII where elempointFlag(:,1) = 0 and elemFlag = 1 or elemFlag = 2. Place the numbers of these elements into the vector elempointIFlag. Using the pre-defined formula for upstream elements, find the element numbers relative to node i in elempointIFlag from the first three columns of tempbcdJTMII. These elements are defined as upstream elements relative to node i. The element numbers of all upstream elements relative to node i form a vector denoted as elempointIupstream. The remaining elements are non-upstream elements, denoted as elempointInoupstream. If elempointIupstream is not empty, calculate the charge density of node i on these upstream elements and set the pointFlag of these nodes i to 1. Since `pointIupstream` is a vector, and the charge density calculations on multiple upstream elements are independent, the charge density of node `i` on the upstream element corresponding to `elempointIupstream` can be calculated in parallel. `elempointFlag` is calculated based on the new `pointFlag`. For rows in `elempointFlag` with at least one element equal to 2, the corresponding row element in `elemFlag` is set to 3. For rows in `elempointFlag` with all elements equal to 1, the corresponding row element in `elemFlag` is set to 2. For rows in `elempointFlag` with only one element equal to 0, the corresponding row element in `elemFlag` is set to 1. The cells corresponding to row numbers with row elements of 3 in `elemFlag` will not participate in the charge density calculation. The cells corresponding to row numbers with row elements of 1 and 2 in `elemFlag` are potential upstream elements. The `elemFlag` of the cells containing the node with `pointFlag = 2` is set to 3, so that these cells no longer participate in the search and calculation of upstream elements.

[0021] Similar to the operation on all nodes i, search for upstream elements elempointJupstream, elempointTupstream, elempointMupstream and non-upstream elements elempointJnoupstream, elempointTnoupstream and elempointMnoupstream on all nodes j, t and m respectively. Calculate the charge density of all nodes j, t and m on the upstream elements respectively, and update pointFlag, elempointFlag and elemFlag respectively.

[0022] Using the difference operation of sets, remove the upstream elements elempointJupstream, elempointTupstream, and elempointMupstream relative to nodes j, t, and m from elempointInonupstream; remove the upstream elements elempointTupstream and elempointMupstream relative to nodes t and m from elempointJnonupstream; and remove the upstream element elempointMupstream relative to node m from elempointTnonupstream.

[0023] In the non-upstream element of elempointInonupstream, update the charge density of node i with the average charge density of all other points associated with node i, and set the pointFlag of the corresponding node i to 1. In the same way, update the charge density of nodes j, t and m in elempointJnonupstream, elempointTnonupstream and elempointMnonupstream respectively, and set the elements in the pointFlag of the corresponding nodes j, t and m to 1.

[0024] If a node and all its neighboring nodes have a pointFlag value of 1, then set the element of the pointFlag corresponding to that node to 2.

[0025] Calculate `elempointFlag` based on the new `pointFlag`. For rows in `elempointFlag` where at least one element is 2, set the corresponding element in `elemFlag` to 3. For rows in `elempointFlag` where all elements are 1, set the corresponding element in `elemFlag` to 2. For rows in `elempointFlag` where only one element is 0, set the corresponding element in `elemFlag` to 1 until all elements in `elemFlag` are 3. This completes the solution to the current continuity equation and yields the charge density.

[0026] Optionally, a node marker vector pointFlag, a unit node marker matrix elempointFlag, and a unit marker vector elemFlag are defined. Based on the node marker vector pointFlag, the unit node marker matrix elempointFlag is calculated, and based on the unit node marker matrix elempointFlag, the unit marker vector elemFlag is calculated.

[0027] Optionally, the node marker vector `pointFlag` is formed by assigning a marker to each node. In `pointFlag`, the element corresponding to the node on the conductor's corona-initiating surface is set to 1, and the rest are 0. All tetrahedral mesh elements are organized into a node association matrix, with row numbers representing element numbers and the four node numbers within each row representing the element's node numbers. The element marker matrix `elempointFlag` is formed by replacing each element in each row of the element-node association matrix with its corresponding `pointFlag` value. The element marker vector `elemFlag` is formed by assigning a marker to each element. For rows in `elempointFlag` where all elements are 1, the corresponding row element in `elemFlag` is set to 2; for rows in `elempointFlag` where only one element is 0, the corresponding row element in `elemFlag` is set to 1. The elements corresponding to the row numbers in `elemFlag` with elements 1 and 2 are potential upstream elements.

[0028] Optionally, based on the unit marker vector elemFlag, the upstream element judgment matrices tempbcdJTMII, tempbcdTMIJJ, tempbcdMIJTT and tempbcdIJTMM are calculated in parallel with respect to all nodes i, j, t and m.

[0029] Optionally, for all nodes i, find the cells with elempointFlag(:,1) = 0 and elemFlag = 1 or elemFlag = 2 from tempbcdJTMII. Place the cell numbers of these cells into the vector elempointIFlag. Using the pre-defined formula for upstream elements, find the cell numbers in elempointIFlag relative to node i from the first three columns of data in tempbcdJTMII. Such cells are defined as upstream elements relative to node i. The cell numbers of all upstream elements relative to node i form a vector denoted as elempointIupstream. The remaining cells are non-upstream elements, denoted as elempointInoupstream. If elempointIupstream is not empty, calculate the charge density of node i on these upstream elements, and set the pointFlag of these nodes i to 1. elempointIupstream is a vector. Since the charge density calculations on multiple upstream elements are independent, the charge density of node i on the upstream element corresponding to elempointIupstream can be calculated in parallel. The elempointFlag is then calculated based on the new pointFlag. For rows in `elempointFlag` where at least one element is 2, the corresponding row element in `elemFlag` is set to 3. For rows in `elempointFlag` where all elements are 1, the corresponding row element in `elemFlag` is set to 2. For rows in `elempointFlag` where only one element is 0, the corresponding row element in `elemFlag` is set to 1. The cells corresponding to the row number with row element 3 in `elemFlag` will not participate in the charge density calculation. The cells corresponding to the row numbers with row elements 1 and 2 in `elemFlag` are potential upstream elements. The `elemFlag` of the cell containing the node with `pointFlag = 2` is set to 3, so that these cells no longer participate in the search and calculation of upstream elements.

[0030] Optionally, similar to the operation on all nodes i, search for upstream elements elempointJupstream, elempointTupstream, elempointMupstream and non-upstream elements elempointJnoupstream, elempointTnoupstream and elempointMnoupstream on all nodes j, t and m respectively. Calculate the charge density of all nodes j, t and m on the upstream elements respectively, and update pointFlag, elempointFlag and elemFlag respectively.

[0031] Optionally, using the difference operation of sets, remove the upstream elements elempointJupstream, elempointTupstream, and elempointMupstream relative to nodes j, t, and m from elempointInonupstream; remove the upstream elements elempointTupstream and elempointMupstream relative to nodes t and m from elempointJnonupstream; and remove the upstream element elempointMupstream relative to node m from elempointTnonupstream.

[0032] Optionally, the non-upstream element in elempointInonupstream updates the charge density of node i with the average charge density of all other points associated with node i, and sets the pointFlag of the corresponding node i to 1. Similarly, the charge densities of nodes j, t and m in elempointJnonupstream, elempointTnonupstream and elempointMnonupstream are updated, and the elements in the pointFlag of the corresponding nodes j, t and m are set to 1.

[0033] Optionally, if a node and all its surrounding adjacent points have a pointFlag value of 1, then set the element of the pointFlag corresponding to that point to 2.

[0034] Optionally, calculate `elempointFlag` based on the new `pointFlag`. For rows in `elempointFlag` that have at least one element equal to 2, set the corresponding element in `elemFlag` to 3; for rows in `elempointFlag` that have all elements equal to 1, set the corresponding element in `elemFlag` to 2; and for rows in `elempointFlag` that have only one element equal to 0, set the corresponding element in `elemFlag` to 1.

[0035] Optionally, repeat steps 2.4 to 2.9 until all elements of elemFlag are 3, thus ending the solution of the current continuity equation and obtaining the charge density.

[0036] Furthermore, this invention also proposes a system for calculating the three-dimensional composite electric field in DC transmission engineering, characterized by comprising:

[0037] The modeling unit is used to establish a computational model of the three-dimensional composite electric field of DC transmission projects;

[0038] The solution element is used to initialize the space charge density. Based on the calculation model and the initialized space charge density, the potential Poisson equation and current continuity equation of the three-dimensional composite electric field of the DC transmission project are solved using the finite element method, and the solution results are obtained.

[0039] The output unit is used to determine whether the relative error of the solution result meets the error limit. If not, the potential Poisson equation and the current continuity equation are solved iteratively. If yes, the Kaptzov assumption is determined to meet the preset conditions. If not, the surface charge density of the conductor is corrected, and the potential Poisson equation and the current continuity equation are solved iteratively. If yes, the iteration is terminated and all calculations end.

[0040] Optionally, the finite element method can be used to solve the current continuity equation of the three-dimensional composite electric field of the DC transmission project, including:

[0041] Define a node marker vector pointFlag, a cell node marker matrix elempointFlag, and a cell marker vector elemFlag. Based on the node marker vector pointFlag, calculate the cell node marker matrix elempointFlag, and calculate the cell marker vector elemFlag based on the cell node marker matrix elempointFlag.

[0042] The node marker vector `pointFlag` is formed by assigning a marker to each node. In `pointFlag`, the element corresponding to the node position on the conductor corona initiation surface is set to 1, and the rest are 0. All tetrahedral mesh elements are arranged with row numbers as element numbers and the four node numbers within the row vector as element numbers, forming an element node association matrix. The element node marker matrix `elempointFlag` is formed by replacing the element in each row of the element node association matrix with the corresponding `pointFlag` value. The element marker vector `elemFlag` is formed by assigning a marker to each element. For rows in `elempointFlag` where all elements are 1, the corresponding row element in `elemFlag` is set to 2. For rows in `elempointFlag` where only one element is 0, the corresponding row element in `elemFlag` is set to 1. The elements corresponding to the row numbers in `elemFlag` with elements 1 and 2 are possible upstream elements.

[0043] Based on the unit marker vector elemFlag, the upstream element judgment matrices tempbcdJTMII, tempbcdTMIJJ, tempbcdMIJTT and tempbcdIJTMM relative to all nodes i, j, t and m are calculated in parallel in sequence.

[0044] Step 2.4: For all nodes i, find the elements with elempointFlag(:,1) = 0 and elemFlag = 1 or elemFlag = 2 from tempbcdJTMII. Place the numbers of these elements into the vector elempointIFlag. Using the preset formula for upstream elements, find the element numbers in elempointIFlag relative to node i from the first three columns of data in tempbcdJTMII. Such elements are defined as upstream elements relative to node i. The element numbers of all upstream elements relative to node i form a vector denoted as elempointIupstream. The remaining elements are non-upstream elements, denoted as elempointInoupstream. If elempointIupstream is not empty, calculate the charge density of node i on these upstream elements and set the pointFlag of these nodes i to 1. `mpointIupstream` is a vector. Since the charge density calculations on multiple upstream elements are independent, the charge density of node `i` on the upstream element corresponding to `elempointIupstream` can be calculated in parallel. `elempointFlag` is calculated based on the new `pointFlag`. For rows in `elempointFlag` with at least one element equal to 2, the corresponding row element in `elemFlag` is set to 3. For rows in `elempointFlag` with all elements equal to 1, the corresponding row element in `elemFlag` is set to 2. For rows in `elempointFlag` with only one element equal to 0, the corresponding row element in `elemFlag` is set to 1. The cells corresponding to row numbers with row elements of 3 in `elemFlag` will not participate in the charge density calculation. The cells corresponding to row numbers with row elements of 1 and 2 in `elemFlag` are potential upstream elements. The `elemFlag` of the cells containing the node with `pointFlag = 2` is set to 3, so that these cells no longer participate in the search and calculation of upstream elements.

[0045] Similar to the operation on all nodes i, search for upstream elements elempointJupstream, elempointTupstream, elempointMupstream and non-upstream elements elempointJnoupstream, elempointTnoupstream and elempointMnoupstream on all nodes j, t and m respectively. Calculate the charge density of all nodes j, t and m on the upstream elements respectively, and update pointFlag, elempointFlag and elemFlag respectively.

[0046] Using the difference operation of sets, remove the upstream elements elempointJupstream, elempointTupstream, and elempointMupstream relative to nodes j, t, and m from elempointInonupstream; remove the upstream elements elempointTupstream and elempointMupstream relative to nodes t and m from elempointJnonupstream; and remove the upstream element elempointMupstream relative to node m from elempointTnonupstream.

[0047] In the non-upstream element of elempointInonupstream, update the charge density of node i with the average charge density of all other points associated with node i, and set the pointFlag of the corresponding node i to 1. In the same way, update the charge density of nodes j, t and m in elempointJnonupstream, elempointTnonupstream and elempointMnonupstream respectively, and set the elements in the pointFlag of the corresponding nodes j, t and m to 1.

[0048] If a node and all its neighboring nodes have a pointFlag value of 1, then set the element of the pointFlag corresponding to that node to 2.

[0049] Calculate `elempointFlag` based on the new `pointFlag`. For rows in `elempointFlag` that have at least one element equal to 2, set the corresponding element in `elemFlag` to 3; for rows in `elempointFlag` that have all elements equal to 1, set the corresponding element in `elemFlag` to 2; for rows in `elempointFlag` that have only one element equal to 0, set the corresponding element in `elemFlag` to 1.

[0050] Again, for all nodes i, find the elements from tempbcdJTMII where elempointFlag(:,1) = 0 and elemFlag = 1 or elemFlag = 2. Place the numbers of these elements into the vector elempointIFlag. Using the pre-defined formula for upstream elements, find the element numbers relative to node i in elempointIFlag from the first three columns of tempbcdJTMII. These elements are defined as upstream elements relative to node i. The element numbers of all upstream elements relative to node i form a vector denoted as elempointIupstream. The remaining elements are non-upstream elements, denoted as elempointInoupstream. If elempointIupstream is not empty, calculate the charge density of node i on these upstream elements and set the pointFlag of these nodes i to 1. Since `pointIupstream` is a vector, and the charge density calculations on multiple upstream elements are independent, the charge density of node `i` on the upstream element corresponding to `elempointIupstream` can be calculated in parallel. `elempointFlag` is calculated based on the new `pointFlag`. For rows in `elempointFlag` with at least one element equal to 2, the corresponding row element in `elemFlag` is set to 3. For rows in `elempointFlag` with all elements equal to 1, the corresponding row element in `elemFlag` is set to 2. For rows in `elempointFlag` with only one element equal to 0, the corresponding row element in `elemFlag` is set to 1. The cells corresponding to row numbers with row elements of 3 in `elemFlag` will not participate in the charge density calculation. The cells corresponding to row numbers with row elements of 1 and 2 in `elemFlag` are potential upstream elements. The `elemFlag` of the cells containing the node with `pointFlag = 2` is set to 3, so that these cells no longer participate in the search and calculation of upstream elements.

[0051] Similar to the operation on all nodes i, search for upstream elements elempointJupstream, elempointTupstream, elempointMupstream and non-upstream elements elempointJnoupstream, elempointTnoupstream and elempointMnoupstream on all nodes j, t and m respectively. Calculate the charge density of all nodes j, t and m on the upstream elements respectively, and update pointFlag, elempointFlag and elemFlag respectively.

[0052] Using the difference operation of sets, remove the upstream elements elempointJupstream, elempointTupstream, and elempointMupstream relative to nodes j, t, and m from elempointInonupstream; remove the upstream elements elempointTupstream and elempointMupstream relative to nodes t and m from elempointJnonupstream; and remove the upstream element elempointMupstream relative to node m from elempointTnonupstream.

[0053] In the non-upstream element of elempointInonupstream, update the charge density of node i with the average charge density of all other points associated with node i, and set the pointFlag of the corresponding node i to 1. In the same way, update the charge density of nodes j, t and m in elempointJnonupstream, elempointTnonupstream and elempointMnonupstream respectively, and set the elements in the pointFlag of the corresponding nodes j, t and m to 1.

[0054] If a node and all its neighboring nodes have a pointFlag value of 1, then set the element of the pointFlag corresponding to that node to 2.

[0055] Calculate `elempointFlag` based on the new `pointFlag`. For rows in `elempointFlag` where at least one element is 2, set the corresponding element in `elemFlag` to 3. For rows in `elempointFlag` where all elements are 1, set the corresponding element in `elemFlag` to 2. For rows in `elempointFlag` where only one element is 0, set the corresponding element in `elemFlag` to 1 until all elements in `elemFlag` are 3. This completes the solution to the current continuity equation and yields the charge density.

[0056] Optionally, a node marker vector pointFlag, a unit node marker matrix elempointFlag, and a unit marker vector elemFlag are defined. Based on the node marker vector pointFlag, the unit node marker matrix elempointFlag is calculated, and based on the unit node marker matrix elempointFlag, the unit marker vector elemFlag is calculated.

[0057] Optionally, the node marker vector `pointFlag` is formed by assigning a marker to each node. In `pointFlag`, the element corresponding to the node on the conductor's corona-initiating surface is set to 1, and the rest are 0. All tetrahedral mesh elements are organized into a node association matrix, with row numbers representing element numbers and the four node numbers within each row representing the element's node numbers. The element marker matrix `elempointFlag` is formed by replacing each element in each row of the element-node association matrix with its corresponding `pointFlag` value. The element marker vector `elemFlag` is formed by assigning a marker to each element. For rows in `elempointFlag` where all elements are 1, the corresponding row element in `elemFlag` is set to 2; for rows in `elempointFlag` where only one element is 0, the corresponding row element in `elemFlag` is set to 1. The elements corresponding to the row numbers in `elemFlag` with elements 1 and 2 are potential upstream elements.

[0058] Optionally, based on the unit marker vector elemFlag, the upstream element judgment matrices tempbcdJTMII, tempbcdTMIJJ, tempbcdMIJTT and tempbcdIJTMM are calculated in parallel with respect to all nodes i, j, t and m.

[0059] Optionally, for all nodes i, find the cells with elempointFlag(:,1) = 0 and elemFlag = 1 or elemFlag = 2 from tempbcdJTMII. Place the cell numbers of these cells into the vector elempointIFlag. Using the pre-defined formula for upstream elements, find the cell numbers in elempointIFlag relative to node i from the first three columns of data in tempbcdJTMII. Such cells are defined as upstream elements relative to node i. The cell numbers of all upstream elements relative to node i form a vector denoted as elempointIupstream. The remaining cells are non-upstream elements, denoted as elempointInoupstream. If elempointIupstream is not empty, calculate the charge density of node i on these upstream elements, and set the pointFlag of these nodes i to 1. elempointIupstream is a vector. Since the charge density calculations on multiple upstream elements are independent, the charge density of node i on the upstream element corresponding to elempointIupstream can be calculated in parallel. The elempointFlag is then calculated based on the new pointFlag. For rows in `elempointFlag` where at least one element is 2, the corresponding row element in `elemFlag` is set to 3. For rows in `elempointFlag` where all elements are 1, the corresponding row element in `elemFlag` is set to 2. For rows in `elempointFlag` where only one element is 0, the corresponding row element in `elemFlag` is set to 1. The cells corresponding to the row number with row element 3 in `elemFlag` will not participate in the charge density calculation. The cells corresponding to the row numbers with row elements 1 and 2 in `elemFlag` are potential upstream elements. The `elemFlag` of the cell containing the node with `pointFlag = 2` is set to 3, so that these cells no longer participate in the search and calculation of upstream elements.

[0060] Optionally, similar to the operation on all nodes i, search for upstream elements elempointJupstream, elempointTupstream, elempointMupstream and non-upstream elements elempointJnoupstream, elempointTnoupstream and elempointMnoupstream on all nodes j, t and m respectively. Calculate the charge density of all nodes j, t and m on the upstream elements respectively, and update pointFlag, elempointFlag and elemFlag respectively.

[0061] Optionally, using the difference operation of sets, remove the upstream elements elempointJupstream, elempointTupstream, and elempointMupstream relative to nodes j, t, and m from elempointInonupstream; remove the upstream elements elempointTupstream and elempointMupstream relative to nodes t and m from elempointJnonupstream; and remove the upstream element elempointMupstream relative to node m from elempointTnonupstream.

[0062] Optionally, the non-upstream element in elempointInonupstream updates the charge density of node i with the average charge density of all other points associated with node i, and sets the pointFlag of the corresponding node i to 1. Similarly, the charge densities of nodes j, t and m in elempointJnonupstream, elempointTnonupstream and elempointMnonupstream are updated, and the elements in the pointFlag of the corresponding nodes j, t and m are set to 1.

[0063] Optionally, if a node and all its surrounding adjacent points have a pointFlag value of 1, then set the element of the pointFlag corresponding to that point to 2.

[0064] Optionally, calculate `elempointFlag` based on the new `pointFlag`. For rows in `elempointFlag` that have at least one element equal to 2, set the corresponding element in `elemFlag` to 3; for rows in `elempointFlag` that have all elements equal to 1, set the corresponding element in `elemFlag` to 2; and for rows in `elempointFlag` that have only one element equal to 0, set the corresponding element in `elemFlag` to 1.

[0065] Optionally, repeat steps 2.4 to 2.9 until all elements of elemFlag are 3, thus ending the solution of the current continuity equation and obtaining the charge density.

[0066] In another aspect, the present invention also provides a computing device, comprising: one or more processors;

[0067] A processor is used to execute one or more programs;

[0068] When the one or more programs are executed by the one or more processors, the method described above is implemented.

[0069] In another aspect, the present invention also provides a computer-readable storage medium having a computer program stored thereon, which, when executed, implements the method described above.

[0070] Compared with the prior art, the beneficial effects of the present invention are as follows:

[0071] This invention provides a method for calculating the three-dimensional composite electric field in DC transmission projects, comprising: establishing a calculation model of the three-dimensional composite electric field of the DC transmission project; initializing the space charge density; based on the calculation model and the initialized space charge density, using the finite element method to solve the potential Poisson equation and the current continuity equation of the three-dimensional composite electric field of the DC transmission project, and obtaining the solution results; determining whether the relative error of the solution results meets the error limit; if not, continuing to iteratively solve the potential Poisson equation and the current continuity equation; if yes, determining whether the Kaptzov assumption meets the preset conditions; if not, correcting the conductor surface charge density, continuing to iteratively solve the potential Poisson equation and the current continuity equation; if yes, terminating the iteration, and all calculations end. This invention has a wide range of applications and can be applied to the calculation of any three-dimensional composite electric field in DC transmission projects. Attached Figure Description

[0072] Figure 1 This is a flowchart of Embodiment 1 of the method of the present invention;

[0073] Figure 2 This is a flowchart of embodiment 2 of the method of the present invention;

[0074] Figure 3 This is a structural diagram of embodiment 4 of the system of the present invention. Detailed Implementation

[0075] Exemplary embodiments of the invention will now be described with reference to the accompanying drawings. However, the invention may be embodied in many different forms and is not limited to the embodiments described herein. These embodiments are provided to fully and completely disclose the invention and to fully convey its scope to those skilled in the art. The terminology used in the exemplary embodiments illustrated in the drawings is not intended to limit the invention. In the drawings, the same units / elements are referred to by the same reference numerals.

[0076] Unless otherwise stated, the terms used herein (including technical terms) have their common meaning as understood by one of ordinary skill in the art. Furthermore, it is understood that terms defined in commonly used dictionaries should be understood to have a meaning consistent with the context of their relevant field, and not to be interpreted as having an idealized or overly formal meaning.

[0077] Example 1:

[0078] This invention proposes a method for calculating the three-dimensional composite electric field in DC transmission engineering, such as... Figure 1 As shown, it includes:

[0079] Step 1: Establish a calculation model of the three-dimensional composite electric field of the DC transmission project;

[0080] Step 2: Initialize the space charge density. Based on the calculation model and the initialized space charge density, use the finite element method to solve the potential Poisson equation and current continuity equation of the three-dimensional composite electric field of the DC transmission project, and obtain the solution results.

[0081] Step 3: Determine whether the relative error of the solution meets the error limit. If not, continue to iteratively solve the potential Poisson equation and the current continuity equation. If yes, determine whether the Kaptzov assumption meets the preset conditions. If not, correct the surface charge density of the conductor and continue to iteratively solve the potential Poisson equation and the current continuity equation. If yes, terminate the iteration and all calculations end.

[0082] Among them, the current continuity equation of the three-dimensional composite electric field of DC transmission projects is solved using the finite element method, including:

[0083] Step 2.1 Define a node marker vector pointFlag, a cell node marker matrix elempointFlag, and a cell marker vector elemFlag. Based on the node marker vector pointFlag, calculate the cell node marker matrix elempointFlag, and then calculate the cell marker vector elemFlag based on the cell node marker matrix elempointFlag.

[0084] Step 2.2 The node marker vector `pointFlag` is constructed by assigning a marker to each node, thus forming a vector. In the node marker vector `pointFlag`, the element corresponding to the corona-initiating surface of the conductor is set to 1, and the rest are 0. All tetrahedral mesh elements are configured to form an element-node association matrix, with the row number representing the element number and the row vector representing the four node numbers within the element. The element node marker matrix `elempointFlag` is constructed by replacing each element in each row of the element-node association matrix with its corresponding `pointFlag` value. The element marker vector `elemFlag` is constructed by assigning a marker to each element, thus forming a vector. For rows in `elempointFlag` where all elements are 1, the corresponding row element in `elemFlag` is set to 2; for rows in `elempointFlag` where only one element is 0, the corresponding row element in `elemFlag` is set to 1. The elements corresponding to the row numbers with elements 1 and 2 in `elemFlag` are potential upstream elements.

[0085] Step 2.3 Based on the unit marker vector elemFlag, sequentially and in parallel calculate the upstream element judgment matrices tempbcdJTMII, tempbcdTMIJJ, tempbcdMIJTT and tempbcdIJTMM relative to all nodes i, j, t and m.

[0086] Step 2.4 For all nodes i, find the cells with elempointFlag(:,1)=0 and elemFlag=1 or elemFlag=2 from tempbcdJTMII, and put the numbers of these cells into the vector elempointIFlag. Using the upstream element judgment formula (3), find the cell numbers of elempointIFlag relative to node i from the first three columns of data in tempbcdJTMII. Such cells are defined as upstream elements relative to node i. The cell numbers of all upstream elements relative to node i form a vector denoted as elempointIupstream. The remaining cells are non-upstream elements, denoted as elempointInoupstream. If elempointIupstream is not empty, calculate the charge density of node i on these upstream elements and set the pointFlag of these nodes i to 1. elempointIupstream is a vector. Since the charge density calculations on multiple upstream elements are independent of each other, the charge density of node i on the upstream element corresponding to elempointIupstream can be calculated in parallel. Calculate elempointFlag according to the new pointFlag. For rows in `elempointFlag` where at least one element is 2, the corresponding row element in `elemFlag` is set to 3; for rows in `elempointFlag` where all elements are 1, the corresponding row element in `elemFlag` is set to 2; for rows in `elempointFlag` where only one element is 0, the corresponding row element in `elemFlag` is set to 1. The cells corresponding to row numbers with row element 3 in `elemFlag` will not participate in charge density calculations. The cells corresponding to row numbers with row elements 1 and 2 in `elemFlag` are potential upstream elements. Setting the `elemFlag` of the cells containing the node with `pointFlag = 2` to 3 prevents these cells from participating in the search and calculation of upstream elements.

[0087] Step 2.5 is similar to the operation on all nodes i. Search for upstream elements elempointJupstream, elempointTupstream, elempointMupstream and non-upstream elements elempointJnoupstream, elempointTnoupstream and elempointMnoupstream on all nodes j, t and m respectively. Calculate the charge density of all nodes j, t and m on the upstream elements respectively, and update pointFlag, elempointFlag and elemFlag respectively.

[0088] Step 2.6 Using the difference operation of sets, remove the upstream elements elempointJupstream, elempointTupstream, and elempointMupstream relative to nodes j, t, and m from elempointInonupstream; remove the upstream elements elempointTupstream and elempointMupstream relative to nodes t and m from elempointJnonupstream; and remove the upstream element elempointMupstream relative to node m from elempointTnonupstream.

[0089] Step 2.7 For the non-upstream elements in `elempointInonupstream`, update the charge density of node i with the average charge density of all other points associated with node i, and set the `pointFlag` of the corresponding node i to 1. Similarly, update the charge densities of nodes j, t, and m in `elempointJnonupstream`, `elempointTnonupstream`, and `elempointMnonupstream`, and set the elements in the `pointFlag` of the corresponding nodes j, t, and m to 1.

[0090] Step 2.8 If a node and all its surrounding adjacent points have a pointFlag of 1, then set the element of the pointFlag corresponding to that point to 2.

[0091] Step 2.9 Calculate `elempointFlag` based on the new `pointFlag`. For rows in `elempointFlag` that have at least one element equal to 2, set the corresponding element in `elemFlag` to 3; for rows in `elempointFlag` that have all elements equal to 1, set the corresponding element in `elemFlag` to 2; for rows in `elempointFlag` that have only one element equal to 0, set the corresponding element in `elemFlag` to 1.

[0092] Step 2.10 Repeat steps 2.4 to 2.9 until all elements of elemFlag are 3, then end the solution of the current continuity equation and obtain the charge density.

[0093] Example 2:

[0094] This invention proposes a method for calculating the three-dimensional composite electric field in DC transmission engineering, such as... Figure 2 As shown, it includes:

[0095] Step 1: Establish a three-dimensional composite electric field calculation model for DC transmission projects.

[0096] Step 2: Initialize the space charge density and solve the potential Poisson equation using the finite element method.

[0097] Step 3: To introduce parallelization, we need to define a node marker vector `pointFlag`, an element-node marker matrix `elempointFlag`, and an element marker vector `elemFlag`. These vectors and matrices respectively mark the updates of node charge density, the updates of charge density of each node within an element, and the overall updates of charge density of all nodes within an element. We initialize these vectors and matrices to zero. The node marker vector `pointFlag` assigns a marker to each node, forming a vector. In the node marker vector `pointFlag`, the element corresponding to the corona-initiating surface of the conductor is set to 1, and the rest are 0. All tetrahedral mesh elements are arranged in a row with the element number and the four node numbers within the element, forming an element-node association matrix. The element-node marker matrix `elempointFlag` replaces each element in each row of the element-node association matrix with its corresponding `pointFlag` value. The element marker vector `elemFlag` assigns a marker to each element, forming a vector. For rows in `elempointFlag` where all elements are 1, the corresponding row element in `elemFlag` is set to 2; for rows in `elempointFlag` where only one element is 0, the corresponding row element in `elemFlag` is set to 1. The cells corresponding to the row numbers in `elemFlag` where elements are 1 and 2 are potential upstream elements.

[0098] Step 4: Calculate the upstream element judgment matrices tempbcdJTMII, tempbcdTMIJJ, tempbcdMIJTT, and tempbcdIJTMM relative to all nodes i, j, t, and m respectively. Taking the judgment matrix tempbcdJTMII associated with node i as an example, calculate it using the following formula:

[0099] tempbcdJTMII(k,:)=[b j ,b t ,b m ,b i ]*V xi +[c j ,c t ,c m ,c i ]*V yi +[d j ,d t ,d m ,d i ]*V zi (1)

[0100] Where i, j, t, and m are the four nodes of the tetrahedral element numbered k, and "[]" represents a row vector, V xi V yi V zi Let b be the three coordinate components of the charge velocity vector at node i. i c i d i V is the coefficient of the interpolation function of node i on that cell. k This is the volume of cell k. The rows of tempbcdJTMII are independent of each other and are computed in parallel.

[0101]

[0102] Step 5: For all nodes i, find the cells with elempointFlag(:,1)=0 and elemFlag=1 or elemFlag=2 from tempbcdJTMII, and put the numbers of these cells into the vector elempointIFlag. Use the upstream element judgment formula (3) to find the cell number of elempointIFlag relative to node i from the first three columns of data of tempbcdJTMII. Such cells are defined as upstream elements relative to node i. The cell numbers of all upstream elements relative to node i form a vector denoted as elempointIupstream. The remaining cells are non-upstream elements and are denoted as elempointInoupstream. If elempointIupstream is not empty, use the charge density calculation formulas (4) to (7) on the upstream elements to calculate the charge density of node i on these upstream elements, and set the pointFlag of these nodes i to 1. elempointIupstream is a vector. Since the charge density calculations on multiple upstream elements are independent of each other, the charge density of node i on the upstream element corresponding to elempointIupstream can be calculated in parallel. Calculate `elempointFlag` based on the new `pointFlag`. For rows in `elempointFlag` with at least one element equal to 2, set the corresponding row element in `elemFlag` to 3; for rows in `elempointFlag` with all elements equal to 1, set the corresponding row element in `elemFlag` to 2; for rows in `elempointFlag` with only one element equal to 0, set the corresponding row element in `elemFlag` to 1. The cells corresponding to row numbers with row element 3 in `elemFlag` will not participate in charge density calculations. The cells corresponding to row numbers with row elements 1 and 2 in `elemFlag` are potential upstream elements. Set the `elemFlag` of the cells containing the node with `pointFlag = 2` to 3, so that these cells no longer participate in the search and calculation of upstream elements.

[0103] b l V xi +c l V yi +d l V zi ≤0 l=j,t,m (3)

[0104]

[0105]

[0106]

[0107]

[0108] In the formula, ρ represents the charge density, the subscripts "+" and "-" represent positive and negative charges respectively, K is the charge mobility, ε0 ​​is the vacuum permittivity, and e is the elementary charge. For the unipolar composite electric field problem, the negative charge density is set to 0.

[0109] Step 6: For all nodes j, find the cells with elempointFlag(:,2)=0 and elemFlag=1 or elemFlag=2 from tempbcdTMIJJ, and put the numbers of these cells into the vector elempointJFlag. Using the upstream element judgment formula (3), find the cell number of the upstream element relative to node j in elempointIFlag from the first three columns of tempbcdJTMII, and denot it as elempointJupstream. The rest are denoted as elempointJnoupstream, which are non-upstream elements. The rest is the same as step 6.

[0110] Step 7: For all nodes t, find the cells with elempointFlag(:,3)=0 and elemFlag=1 or elemFlag=2 from tempbcdMIJTT, and put the numbers of these cells into the vector elempointTFlag. Using the upstream element judgment formula (3), find the cell number of the upstream element relative to node t in elempointTFlag from the first three columns of data in tempbcdMIJTT, and denot it as elempointTupstream. The rest are denoted as elempointTnoupstream, which are non-upstream elements. The rest is the same as step 6.

[0111] Step 8: For all nodes m, find the cells with elempointFlag(:,4)=0 and elemFlag=1 or elemFlag=2 from tempbcdIJTMM, and put the numbers of these cells into the vector elempointMFlag. Using the upstream element judgment formula (3), find the cell number of the upstream element relative to node m in elempointMFlag from the first three columns of data in tempbcdIJTMM, and denot it as elempointMupstream. The rest are denoted as elempointMnoupstream, which are non-upstream elements. The rest is the same as step 6.

[0112] Step 9: Using the difference operation of sets, remove the upstream elements elempointJupstream, elempointTupstream, and elempointMupstream relative to nodes j, t, and m from elempointInonupstream; remove the upstream elements elempointTupstream and elempointMupstream relative to nodes t and m from elempointJnonupstream; and remove the upstream element elempointMupstream relative to node m from elempointTnonupstream.

[0113] Step 10: For non-upstream elements in `elempointInonupstream`, update the charge density of node i with the average charge density of all other points associated with node i, and set the `pointFlag` of the corresponding node i to 1. Similarly, update the charge densities of nodes j, t, and m in `elempointJnonupstream`, `elempointTnonupstream`, and `elempointMnonupstream`, and set the elements in the `pointFlag` of the corresponding nodes j, t, and m to 1.

[0114] Step 11: If a node and all its surrounding adjacent points have a pointFlag of 1, then set the element of the pointFlag corresponding to that node to 2.

[0115] Step 12: Calculate `elempointFlag` based on the new `pointFlag`. For rows in `elempointFlag` that have at least one element equal to 2, set the corresponding element in `elemFlag` to 3; for rows in `elempointFlag` that have all elements equal to 1, set the corresponding element in `elemFlag` to 2; for rows in `elempointFlag` that have only one element equal to 0, set the corresponding element in `elemFlag` to 1.

[0116] Step 13: Repeat steps 6 to 13 until all elements of elemFlag are 3.

[0117] Step 14: Determine whether the relative error of the charge density obtained from the two iterations meets the error limit. If not, repeat steps 2 to 14, i.e., continue iteratively solving the potential Poisson equation and the current continuity equation. If the error meets the limit, proceed to step 15.

[0118] Step 15: Determine whether the maximum electric field strength on the conductor surface is equal to the corona field strength, i.e., whether the Kaptzov condition is satisfied. If the Kaptzov condition is not satisfied, then correct the charge density on the conductor surface. After the charge density correction, repeat steps 2 to 14, i.e., iteratively solve the potential Poisson equation and the current continuity equation. If the Kaptzov condition is satisfied, terminate the iterative solution of the potential Poisson equation and the current continuity equation, and all calculations are complete.

[0119] Example 3:

[0120] This invention proposes a method for calculating the three-dimensional composite electric field in DC transmission engineering, comprising:

[0121] Step 1: Establish a three-dimensional composite electric field calculation model for the DC transmission project. The basic equations of the three-dimensional composite electric field are:

[0122]

[0123]

[0124]

[0125] in, ρ is the potential; + ρ and ε0 represent the positive and negative space charge densities, respectively; ε0 is the dielectric constant of air; E s For the combined electric field; k + k - ω represents the mobility of positive and negative ions, respectively; ω represents the wind speed; R represents the recombination coefficient of positive and negative ions; and e represents the elementary charge.

[0126] For ease of analysis, the following assumptions are made in the calculation process: 1) The thickness of the corona layer is ignored; 2) After the circuit corona is initiated, the surface electric field intensity remains unchanged at its initiation value (Kaptzov assumption); 3) Ion mobility is considered to be a constant independent of electric field intensity and ion lifetime, that is, the ion mobility is equal everywhere; 4) The diffusion of space charge is not considered.

[0127] The boundary conditions of the computational domain are:

[0128] Conductor surface:

[0129]

[0130]

[0131] ground:

[0132]

[0133] Where U is the voltage applied to the conductor, and E onA strong corona field is generated in an polar conductor.

[0134] Step 2: Initialize the space charge density and solve the potential Poisson equation using the finite element method. The surface charge density of the corona-inducing conductor can be set as follows. Equation (8) corresponds to the functional extremum shown in the following equation:

[0135]

[0136] After partitioning the field, the functional can be expressed as the sum of unit integrals, which gives us:

[0137]

[0138] in:

[0139]

[0140] Within each unit, let To each Differentiation yields:

[0141]

[0142] Among them, [K] k This is called the element coefficient matrix. Within each tetrahedral element ijtm, the nodal charge density vector and nodal potential vector are defined:

[0143]

[0144] Unknown functions within each unit Its interpolation function can be used Approximately, the numerical solution to the variational problem is equal to the potential. The approximate values ​​at each unit node. That is:

[0145]

[0146] In the formula:

[0147]

[0148] N i k Similarly, the unit coefficient matrix [K]k can be obtained from ai,bi,ci,di.

[0149] Since the space charge density is also a function of the coordinates (x, y, z), in order to solve [P]... k The matrix interpolates the charge density within each tetrahedral cell, i.e., let:

[0150]

[0151] Then at this time you can Written as:

[0152]

[0153] Let the above equation be correct. If the derivative equals 0, then let:

[0154]

[0155] Rewriting the above equation in matrix form, we have:

[0156]

[0157] [P] k Each row corresponds to the value at position i, j, t, m in the corresponding cell. The cell coefficient matrix [K] is generated for all subdivided cells. k and [P] k By expanding and summing, we obtain [K] and [P], which leads to the overall finite element equation:

[0158]

[0159] The above equation is the three-dimensional finite element equation of the Poisson equation. Using methods for solving linear algebraic equations, such as the LU decomposition method or the conjugate gradient method, this finite element equation can be solved to obtain the potential.

[0160] Step 3: Solve the current continuity equation using the fast upflow finite element method. First, to introduce parallelization, define and initialize the node marker vector `pointFlag`, the element-node marker matrix `elempointFlag`, and the element marker vector `elemFlag`. In the node marker vector `pointFlag`, elements corresponding to the corona-initiating surface of the conductor are set to 1, and the rest are 0. All tetrahedral mesh elements are arranged in an element-node association matrix with the row number representing the element number and the row vector representing the four node numbers within the element. The element-node marker matrix `elempointFlag` is formed by replacing each element in each row of the element-node association matrix with its corresponding `pointFlag` value. The element marker vector `elemFlag` is formed by assigning a marker to each element. For rows in `elempointFlag` where all elements are 1, the corresponding row element in `elemFlag` is set to 2; for rows in `elempointFlag` where only one element is 0, the corresponding row element in `elemFlag` is set to 1. The cells corresponding to the row numbers 1 and 2 in elemFlag are possible upstream elements.

[0161] Step 4: Next, calculate the upstream element judgment matrices tempbcdJTMII, tempbcdTMIJJ, tempbcdMIJTT and tempbcdIJTMM in parallel with respect to all nodes i, j, t and m.

[0162] Step 5: Next, find the elements in tempbcdJTMII that satisfy the judgment formula (3), which are called the upstream elements relative to node i. The element numbers of all upstream elements are denoted as elempointIupstream, and the rest are denoted as elempointInoupstream. The charge density of all nodes i is calculated in parallel on all upstream elements using formulas (4) to (7).

[0163] For all nodes i, find the cells with elempointFlag(:,1)=0 and elemFlag=1 or elemFlag=2 from tempbcdJTMII, and put the numbers of these cells into the vector elempointIFlag. Using the upstream element judgment formula (3), find the cell numbers in elempointIFlag relative to node i from the first three columns of data in tempbcdJTMII. The cell numbers of all upstream elements relative to node i form a vector denoted as elempointIupstream. The remaining cells are non-upstream elements and are denoted as elempointInoupstream. If elempointIupstream is not empty, use the charge density calculation formulas (4) to (7) on the upstream elements to calculate the charge density of node i on these upstream elements, and set the pointFlag of these nodes i to 1. elempointIupstream is a vector. Since the charge density calculations on multiple upstream elements are independent of each other, the charge density of node i on the upstream element corresponding to elempointIupstream can be calculated in parallel. Calculate elempointFlag according to the new pointFlag. For rows in `elempointFlag` where at least one element is 2, the corresponding row element in `elemFlag` is set to 3; for rows in `elempointFlag` where all elements are 1, the corresponding row element in `elemFlag` is set to 2; for rows in `elempointFlag` where only one element is 0, the corresponding row element in `elemFlag` is set to 1. The cells corresponding to row numbers with row element 3 in `elemFlag` will not participate in charge density calculations. The cells corresponding to row numbers with row elements 1 and 2 in `elemFlag` are potential upstream elements. Setting the `elemFlag` of the cells containing the node with `pointFlag = 2` to 3 prevents these cells from participating in the search and calculation of upstream elements.

[0164] Step 6: Next, find the upstream elements that satisfy the judgment formula (3) from tempbcdTMIJJ, and denote all upstream elements relative to node j as elempointJupstream, and the rest as elempointJnoupstream. Calculate the charge density of all nodes j in parallel using formulas (4) to (7) on all upstream elements.

[0165] Step 7: Next, find the upstream elements that satisfy the judgment formula (3) from tempbcdMIJTT, and denote all upstream elements relative to node t as elempointTupstream, and the rest as elempointTnoupstream. Calculate the charge density of all nodes t in parallel using formulas (4) to (7) on all upstream elements.

[0166] Step 8: Next, find the upstream elements that satisfy the judgment formula (3) from tempbcdIJTMM, and denote all upstream elements relative to node m as elempointMupstream, and the rest as elempointMnoupstream. Calculate the charge density of all nodes m in parallel using formulas (4) to (7) on all upstream elements.

[0167] Step 9: Then, using the difference operation of sets, remove the upstream elements elempointJupstream, elempointTupstream, and elempointMupstream relative to nodes j, t, and m from elempointInonupstream; remove the upstream elements elempointTupstream and elempointMupstream relative to nodes t and m from elempointJnonupstream; and remove the upstream element elempointMupstream relative to node m from elempointTnonupstream.

[0168] Step 10: Then, for the non-upstream elements in `elempointInonupstream`, update the charge density of node i with the average charge density of all other points associated with node i, and set the `pointFlag` of the corresponding node i to 1. Similarly, update the charge densities of nodes j, t, and m in `elempointJnonupstream`, `elempointTnonupstream`, and `elempointMnonupstream`, and set the elements in the `pointFlag` of the corresponding nodes j, t, and m to 1.

[0169] Step 11: Then, if a node and all its surrounding adjacent points have a pointFlag of 1, then set the element of the pointFlag corresponding to that point to 2.

[0170] Step 12: Then calculate the `elempointFlag` based on the new `pointFlag`. For rows in `elempointFlag` that have at least one element equal to 2, set the corresponding element in `elemFlag` to 3; for rows in `elempointFlag` that have all elements equal to 1, set the corresponding element in `elemFlag` to 2; for rows in `elempointFlag` that have only one element equal to 0, set the corresponding element in `elemFlag` to 1.

[0171] Step 13: Repeat steps 6 to 13 until all elements of elemFlag are 3, at which point the calculation of the current continuity equation is complete.

[0172] Step 14: Determine whether the relative error of the charge density obtained from the two iterations meets the error limit.

[0173]

[0174] ρ (n-1) and ρ (n) These are the charge densities obtained in the (n-1)th and nth iterations, respectively, δ ρ The charge density error limit can be set to 1%. If it is not satisfied, repeat steps 2 to 14, that is, continue to iteratively solve the potential Poisson equation and the current continuity equation. If it is satisfied, proceed to step 15.

[0175] Step 15: Determine whether the maximum electric field strength on the conductor surface is equal to the corona field strength, i.e. whether the Kaptzov condition is satisfied.

[0176]

[0177] E max It is the maximum value of the electric field strength on the conductor surface, E on It is the corona induction field strength of the conductor, δ E The electric field error limit can be set to 1%. If the Kaptzov condition cannot be satisfied, the surface charge density of the conductor needs to be corrected.

[0178]

[0179] Where μ is a correction coefficient, which can be 2. After correcting the charge density, steps 2 to 14 are repeated, i.e., the potential Poisson equation and the current continuity equation are solved iteratively. If the Kaptzov condition is satisfied, the iterative solution of the potential Poisson equation and the current continuity equation is terminated, and all calculations are completed.

[0180] Table 1 compares the computation time for solving the composite electric field of a concentric spherical shell using the traditional upward finite element method and the method of this invention. It can be seen that the computation time of this invention is greatly reduced compared to the traditional upward finite element method, significantly accelerating the calculation of the three-dimensional composite electric field.

[0181] Table 1

[0182]

[0183] The calculation method proposed in this invention can significantly accelerate the calculation speed of the upstream finite element method.

[0184] The method proposed in this invention can be applied to the calculation of arbitrary three-dimensional composite electric fields in DC transmission projects, including but not limited to the prediction of three-dimensional composite electric fields in situations such as adjacent buildings, trees, and DC fields of converter stations for DC transmission lines of arbitrary structures, ensuring accelerated calculation of composite electric fields. The calculation method proposed in this invention has a wide range of applications.

[0185] Example 4:

[0186] This invention also proposes a system 200 for calculating three-dimensional synthetic electric fields in DC transmission engineering, such as... Figure 3 As shown, it includes:

[0187] Modeling unit 201 is used to establish a calculation model of the three-dimensional composite electric field of DC transmission projects;

[0188] Solver 202 is used to initialize the space charge density. Based on the calculation model and the initialized space charge density, the potential Poisson equation and current continuity equation of the three-dimensional composite electric field of the DC transmission project are solved using the finite element method, and the solution results are obtained.

[0189] Output unit 203 is used to determine whether the relative error of the solution result meets the error limit. If not, the potential Poisson equation and the current continuity equation are solved iteratively. If yes, the Kaptzov assumption is determined to meet the preset conditions. If not, the surface charge density of the conductor is corrected, and the potential Poisson equation and the current continuity equation are solved iteratively. If yes, the iteration is terminated and all calculations end.

[0190] Among them, the current continuity equation of the three-dimensional composite electric field of DC transmission projects is solved using the finite element method, including:

[0191] Step 2.1 Define a node marker vector pointFlag, a cell node marker matrix elempointFlag, and a cell marker vector elemFlag. Based on the node marker vector pointFlag, calculate the cell node marker matrix elempointFlag, and then calculate the cell marker vector elemFlag based on the cell node marker matrix elempointFlag.

[0192] Step 2.2 The node marker vector `pointFlag` is constructed by assigning a marker to each node, thus forming a vector. In the node marker vector `pointFlag`, the element corresponding to the corona-initiating surface of the conductor is set to 1, and the rest are 0. All tetrahedral mesh elements are configured to form an element-node association matrix, with the row number representing the element number and the row vector representing the four node numbers within the element. The element node marker matrix `elempointFlag` is constructed by replacing each element in each row of the element-node association matrix with its corresponding `pointFlag` value. The element marker vector `elemFlag` is constructed by assigning a marker to each element, thus forming a vector. For rows in `elempointFlag` where all elements are 1, the corresponding row element in `elemFlag` is set to 2; for rows in `elempointFlag` where only one element is 0, the corresponding row element in `elemFlag` is set to 1. The elements corresponding to the row numbers with elements 1 and 2 in `elemFlag` are potential upstream elements.

[0193] Step 2.3 Based on the unit marker vector elemFlag, sequentially and in parallel calculate the upstream element judgment matrices tempbcdJTMII, tempbcdTMIJJ, tempbcdMIJTT and tempbcdIJTMM relative to all nodes i, j, t and m.

[0194] Step 2.4 For all nodes i, find the cells with elempointFlag(:,1)=0 and elemFlag=1 or elemFlag=2 from tempbcdJTMII, and put the numbers of these cells into the vector elempointIFlag. Using the upstream element judgment formula (3), find the cell numbers of elempointIFlag relative to node i from the first three columns of data in tempbcdJTMII. Such cells are defined as upstream elements relative to node i. The cell numbers of all upstream elements relative to node i form a vector denoted as elempointIupstream. The remaining cells are non-upstream elements, denoted as elempointInoupstream. If elempointIupstream is not empty, calculate the charge density of node i on these upstream elements and set the pointFlag of these nodes i to 1. elempointIupstream is a vector. Since the charge density calculations on multiple upstream elements are independent of each other, the charge density of node i on the upstream element corresponding to elempointIupstream can be calculated in parallel. Calculate elempointFlag according to the new pointFlag. For rows in `elempointFlag` where at least one element is 2, the corresponding row element in `elemFlag` is set to 3; for rows in `elempointFlag` where all elements are 1, the corresponding row element in `elemFlag` is set to 2; for rows in `elempointFlag` where only one element is 0, the corresponding row element in `elemFlag` is set to 1. The cells corresponding to row numbers with row element 3 in `elemFlag` will not participate in charge density calculations. The cells corresponding to row numbers with row elements 1 and 2 in `elemFlag` are potential upstream elements. Setting the `elemFlag` of the cells containing the node with `pointFlag = 2` to 3 prevents these cells from participating in the search and calculation of upstream elements.

[0195] Step 2.5 is similar to the operation on all nodes i. Search for upstream elements elempointJupstream, elempointTupstream, elempointMupstream and non-upstream elements elempointJnoupstream, elempointTnoupstream and elempointMnoupstream on all nodes j, t and m respectively. Calculate the charge density of all nodes j, t and m on the upstream elements respectively, and update pointFlag, elempointFlag and elemFlag respectively.

[0196] Step 2.6 Using the difference operation of sets, remove the upstream elements elempointJupstream, elempointTupstream, and elempointMupstream relative to nodes j, t, and m from elempointInonupstream; remove the upstream elements elempointTupstream and elempointMupstream relative to nodes t and m from elempointJnonupstream; and remove the upstream element elempointMupstream relative to node m from elempointTnonupstream.

[0197] Step 2.7 For the non-upstream elements in `elempointInonupstream`, update the charge density of node i with the average charge density of all other points associated with node i, and set the `pointFlag` of the corresponding node i to 1. Similarly, update the charge densities of nodes j, t, and m in `elempointJnonupstream`, `elempointTnonupstream`, and `elempointMnonupstream`, and set the elements in the `pointFlag` of the corresponding nodes j, t, and m to 1.

[0198] Step 2.8 If a node and all its surrounding adjacent points have a pointFlag of 1, then set the element of the pointFlag corresponding to that point to 2.

[0199] Step 2.9 Calculate `elempointFlag` based on the new `pointFlag`. For rows in `elempointFlag` that have at least one element equal to 2, set the corresponding element in `elemFlag` to 3; for rows in `elempointFlag` that have all elements equal to 1, set the corresponding element in `elemFlag` to 2; for rows in `elempointFlag` that have only one element equal to 0, set the corresponding element in `elemFlag` to 1.

[0200] Step 2.10 Repeat steps 2.4 to 2.9 until all elements of elemFlag are 3, then end the solution of the current continuity equation and obtain the charge density.

[0201] Example 5:

[0202] Based on the same inventive concept, this invention also provides a computer device, which includes a processor and a memory. The memory stores a computer program, which includes program instructions. The processor executes the program instructions stored in the computer storage medium. The processor may be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. It is the computing and control core of the terminal, suitable for implementing one or more instructions, specifically suitable for loading and executing one or more instructions in the computer storage medium to implement corresponding method flows or corresponding functions, thereby implementing the steps of the methods in the above embodiments.

[0203] Example 6:

[0204] Based on the same inventive concept, this invention also provides a storage medium, specifically a computer-readable storage medium (Memory), which is a memory device in a computer device used to store programs and data. It is understood that the computer-readable storage medium here can include both the built-in storage medium in the computer device and extended storage media supported by the computer device. The computer-readable storage medium provides storage space that stores the terminal's operating system. Furthermore, this storage space also stores one or more instructions suitable for loading and execution by a processor. These instructions can be one or more computer programs (including program code). It should be noted that the computer-readable storage medium here can be high-speed RAM or non-volatile memory, such as at least one disk storage device. The processor can load and execute one or more instructions stored in the computer-readable storage medium to implement the steps of the method in the above embodiments.

[0205] Those skilled in the art will understand that embodiments of the present invention can be provided as methods, systems, or computer program products. Therefore, the present invention can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present invention 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, CD-ROM, optical storage, etc.) containing computer-usable program code. The solutions in the embodiments of the present invention can be implemented using various computer languages, such as the object-oriented programming language Java and the interpreted scripting language JavaScript.

[0206] This invention is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. 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 illustrations and / or block diagrams. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0207] 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 function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0208] 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.

[0209] Although preferred embodiments of the invention have been described, those skilled in the art, upon learning the basic inventive concept, can make other changes and modifications to these embodiments. Therefore, the appended claims are intended to be interpreted as including both the preferred embodiments and all changes and modifications falling within the scope of the invention.

[0210] Obviously, those skilled in the art can make various modifications and variations to this invention without departing from its spirit and scope. Therefore, if these modifications and variations fall within the scope of the claims of this invention and their equivalents, this invention also intends to include these modifications and variations.

Claims

1. A method for calculating the three-dimensional composite electric field in DC transmission engineering, characterized in that, include: Establish a three-dimensional composite electric field calculation model for DC transmission projects; Initialize the space charge density. Based on the calculation model and the initialized space charge density, use the finite element method to solve the potential Poisson equation and current continuity equation of the three-dimensional composite electric field of the DC transmission project, and obtain the solution results. Determine whether the relative error of the solution meets the error limit. If not, continue iteratively solving the potential Poisson equation and the current continuity equation. If yes, determine whether the Kaptzov assumption meets the preset conditions. If not, correct the surface charge density of the conductor and continue iteratively solving the potential Poisson equation and the current continuity equation. If yes, terminate the iteration and all calculations end.

2. The method according to claim 1, characterized in that, Using the finite element method, the current continuity equation of the three-dimensional composite electric field in a DC transmission project is solved, including: Define a node marker vector pointFlag, a cell node marker matrix elempointFlag, and a cell marker vector elemFlag. Based on the node marker vector pointFlag, calculate the cell node marker matrix elempointFlag, and calculate the cell marker vector elemFlag based on the cell node marker matrix elempointFlag. The node marker vector `pointFlag` is formed by assigning a marker to each node. In `pointFlag`, the element corresponding to the node position on the conductor corona initiation surface is set to 1, and the rest are 0. All tetrahedral mesh elements are arranged with row numbers as element numbers and the four node numbers within the row vector as element numbers, forming an element node association matrix. The element node marker matrix `elempointFlag` is formed by replacing the element in each row of the element node association matrix with the corresponding `pointFlag` value. The element marker vector `elemFlag` is formed by assigning a marker to each element. For rows in `elempointFlag` where all elements are 1, the corresponding row element in `elemFlag` is set to 2. For rows in `elempointFlag` where only one element is 0, the corresponding row element in `elemFlag` is set to 1. The elements corresponding to the row numbers in `elemFlag` with elements 1 and 2 are possible upstream elements. Based on the unit marker vector elemFlag, the upstream element judgment matrices tempbcdJTMII, tempbcdTMIJJ, tempbcdMIJTT and tempbcdIJTMM relative to all nodes i, j, t and m are calculated in parallel in sequence. Step 2.4: For all nodes i, find the elements with elempointFlag(:,1) = 0 and elemFlag = 1 or elemFlag = 2 from tempbcdJTMII. Place the numbers of these elements into the vector elempointIFlag. Using the preset formula for upstream elements, find the element numbers in elempointIFlag relative to node i from the first three columns of data in tempbcdJTMII. Such elements are defined as upstream elements relative to node i. The element numbers of all upstream elements relative to node i form a vector denoted as elempointIupstream. The remaining elements are non-upstream elements, denoted as elempointInoupstream. If elempointIupstream is not empty, calculate the charge density of node i on these upstream elements and set the pointFlag of these nodes i to 1. `mpointIupstream` is a vector. Since the charge density calculations on multiple upstream elements are independent, the charge density of node `i` on the upstream element corresponding to `elempointIupstream` can be calculated in parallel. `elempointFlag` is calculated based on the new `pointFlag`. For rows in `elempointFlag` with at least one element equal to 2, the corresponding row element in `elemFlag` is set to 3. For rows in `elempointFlag` with all elements equal to 1, the corresponding row element in `elemFlag` is set to 2. For rows in `elempointFlag` with only one element equal to 0, the corresponding row element in `elemFlag` is set to 1. The cells corresponding to row numbers with row elements of 3 in `elemFlag` will not participate in the charge density calculation. The cells corresponding to row numbers with row elements of 1 and 2 in `elemFlag` are potential upstream elements. The `elemFlag` of the cells containing the node with `pointFlag = 2` is set to 3, so that these cells no longer participate in the search and calculation of upstream elements. Similar to the operation on all nodes i, search for upstream elements elempointJupstream, elempointTupstream, elempointMupstream and non-upstream elements elempointJnoupstream, elempointTnoupstream and elempointMnoupstream on all nodes j, t and m respectively. Calculate the charge density of all nodes j, t and m on the upstream elements respectively, and update pointFlag, elempointFlag and elemFlag respectively. Using the difference operation of sets, remove the upstream elements elempointJupstream, elempointTupstream, and elempointMupstream relative to nodes j, t, and m from elempointInonupstream; remove the upstream elements elempointTupstream and elempointMupstream relative to nodes t and m from elempointJnonupstream; and remove the upstream element elempointMupstream relative to node m from elempointTnonupstream. In the non-upstream element of elempointInonupstream, update the charge density of node i with the average charge density of all other points associated with node i, and set the pointFlag of the corresponding node i to 1. In the same way, update the charge density of nodes j, t and m in elempointJnonupstream, elempointTnonupstream and elempointMnonupstream respectively, and set the elements in the pointFlag of the corresponding nodes j, t and m to 1. If a node and all its neighboring nodes have a pointFlag value of 1, then set the element of the pointFlag corresponding to that node to 2. Calculate `elempointFlag` based on the new `pointFlag`. For rows in `elempointFlag` that have at least one element equal to 2, set the corresponding element in `elemFlag` to 3; for rows in `elempointFlag` that have all elements equal to 1, set the corresponding element in `elemFlag` to 2; for rows in `elempointFlag` that have only one element equal to 0, set the corresponding element in `elemFlag` to 1. Again, for all nodes i, find the elements from tempbcdJTMII where elempointFlag(:,1) = 0 and elemFlag = 1 or elemFlag = 2. Place the numbers of these elements into the vector elempointIFlag. Using the pre-defined formula for upstream elements, find the element numbers relative to node i in elempointIFlag from the first three columns of tempbcdJTMII. These elements are defined as upstream elements relative to node i. The element numbers of all upstream elements relative to node i form a vector denoted as elempointIupstream. The remaining elements are non-upstream elements, denoted as elempointInoupstream. If elempointIupstream is not empty, calculate the charge density of node i on these upstream elements and set the pointFlag of these nodes i to 1. Since `pointIupstream` is a vector, and the charge density calculations on multiple upstream elements are independent, the charge density of node `i` on the upstream element corresponding to `elempointIupstream` can be calculated in parallel. `elempointFlag` is calculated based on the new `pointFlag`. For rows in `elempointFlag` with at least one element equal to 2, the corresponding row element in `elemFlag` is set to 3. For rows in `elempointFlag` with all elements equal to 1, the corresponding row element in `elemFlag` is set to 2. For rows in `elempointFlag` with only one element equal to 0, the corresponding row element in `elemFlag` is set to 1. The cells corresponding to row numbers with row elements of 3 in `elemFlag` will not participate in the charge density calculation. The cells corresponding to row numbers with row elements of 1 and 2 in `elemFlag` are potential upstream elements. The `elemFlag` of the cells containing the node with `pointFlag = 2` is set to 3, so that these cells no longer participate in the search and calculation of upstream elements. Similar to the operation on all nodes i, search for upstream elements elempointJupstream, elempointTupstream, elempointMupstream and non-upstream elements elempointJnoupstream, elempointTnoupstream and elempointMnoupstream on all nodes j, t and m respectively. Calculate the charge density of all nodes j, t and m on the upstream elements respectively, and update pointFlag, elempointFlag and elemFlag respectively. Using the difference operation of sets, remove the upstream elements elempointJupstream, elempointTupstream, and elempointMupstream relative to nodes j, t, and m from elempointInonupstream; remove the upstream elements elempointTupstream and elempointMupstream relative to nodes t and m from elempointJnonupstream; and remove the upstream element elempointMupstream relative to node m from elempointTnonupstream. In the non-upstream element of elempointInonupstream, update the charge density of node i with the average charge density of all other points associated with node i, and set the pointFlag of the corresponding node i to 1. In the same way, update the charge density of nodes j, t and m in elempointJnonupstream, elempointTnonupstream and elempointMnonupstream respectively, and set the elements in the pointFlag of the corresponding nodes j, t and m to 1. If a node and all its neighboring nodes have a pointFlag value of 1, then set the element of the pointFlag corresponding to that node to 2. Calculate `elempointFlag` based on the new `pointFlag`. For rows in `elempointFlag` where at least one element is 2, set the corresponding element in `elemFlag` to 3. For rows in `elempointFlag` where all elements are 1, set the corresponding element in `elemFlag` to 2. For rows in `elempointFlag` where only one element is 0, set the corresponding element in `elemFlag` to 1 until all elements in `elemFlag` are 3. This completes the solution to the current continuity equation and yields the charge density.

3. The method according to claim 2, characterized in that, Define a node marker vector pointFlag, a unit node marker matrix elempointFlag, and a unit marker vector elemFlag. Calculate the unit node marker matrix elempointFlag based on the defined node marker vector pointFlag, and calculate the unit marker vector elemFlag based on the unit node marker matrix elempointFlag.

4. The method according to claim 2, characterized in that, The node marker vector `pointFlag` is formed by assigning a marker to each node. In `pointFlag`, the element corresponding to the corona-initiating surface of the conductor is set to 1, and the rest are 0. All tetrahedral mesh elements are organized into a node association matrix, with row numbers representing element numbers and the four node numbers within each row representing the element's node numbers. The element node marker matrix `elempointFlag` replaces each element in each row of the element-node association matrix with its corresponding `pointFlag` value. The element marker vector `elemFlag` is formed by assigning a marker to each element. For rows in `elempointFlag` where all elements are 1, the corresponding element in `elemFlag` is set to 2; for rows in `elempointFlag` where only one element is 0, the corresponding element in `elemFlag` is set to 1. The elements corresponding to the row numbers with elements 1 and 2 in `elemFlag` are potential upstream elements.

5. The method according to claim 2, characterized in that, Based on the unit marker vector elemFlag, the upstream element judgment matrices tempbcdJTMII, tempbcdTMIJJ, tempbcdMIJTT and tempbcdIJTMM are calculated in parallel with respect to all nodes i, j, t and m.

6. The method according to claim 2, characterized in that, For all nodes i, find the cells with elempointFlag(:,1) = 0 and elemFlag = 1 or elemFlag = 2 from tempbcdJTMII. Place the cell numbers of these cells into the vector elempointIFlag. Using the pre-defined formula for upstream elements, find the cell numbers in elempointIFlag relative to node i from the first three columns of data in tempbcdJTMII. Such cells are defined as upstream elements relative to node i. The cell numbers of all upstream elements relative to node i form a vector denoted as elempointIupstream. The remaining cells are non-upstream elements, denoted as elempointInoupstream. If elempointIupstream is not empty, calculate the charge density of node i on these upstream elements, and set the pointFlag of these nodes i to 1. elempointIupstream is a vector. Since the charge density calculations on multiple upstream elements are independent, the charge density of node i on the upstream element corresponding to elempointIupstream can be calculated in parallel. The elempointFlag is then calculated based on the new pointFlag. For rows in `elempointFlag` where at least one element is 2, the corresponding row element in `elemFlag` is set to 3. For rows in `elempointFlag` where all elements are 1, the corresponding row element in `elemFlag` is set to 2. For rows in `elempointFlag` where only one element is 0, the corresponding row element in `elemFlag` is set to 1. The cells corresponding to the row number with row element 3 in `elemFlag` will not participate in the charge density calculation. The cells corresponding to the row numbers with row elements 1 and 2 in `elemFlag` are potential upstream elements. The `elemFlag` of the cell containing the node with `pointFlag = 2` is set to 3, so that these cells no longer participate in the search and calculation of upstream elements.

7. The method according to claim 2, characterized in that, Similar to the operation on all nodes i, search for upstream elements elempointJupstream, elempointTupstream, elempointMupstream and non-upstream elements elempointJnoupstream, elempointTnoupstream and elempointMnoupstream on all nodes j, t and m respectively. Calculate the charge density of all nodes j, t and m on the upstream elements respectively, and update pointFlag, elempointFlag and elemFlag respectively.

8. The method according to claim 2, characterized in that, Using the difference operation of sets, remove the upstream elements elempointJupstream, elempointTupstream, and elempointMupstream relative to nodes j, t, and m from elempointInonupstream; remove the upstream elements elempointTupstream and elempointMupstream relative to nodes t and m from elempointJnonupstream; and remove the upstream element elempointMupstream relative to node m from elempointTnonupstream.

9. The method according to claim 2, characterized in that, In the non-upstream element of elempointInonupstream, the charge density of node i is updated with the average charge density of all other points associated with node i, and the pointFlag of the corresponding node i is set to 1. In the same way, the charge densities of nodes j, t and m in elempointJnonupstream, elempointTnonupstream and elempointMnonupstream are updated respectively, and the elements in the pointFlag of the corresponding nodes j, t and m are set to 1.

10. The method according to claim 2, characterized in that, If a node and all its neighboring nodes have a pointFlag value of 1, then set the element of the pointFlag corresponding to that node to 2.

11. The method according to claim 2, characterized in that, Calculate `elempointFlag` based on the new `pointFlag`. For rows in `elempointFlag` that have at least one element equal to 2, set the corresponding element in `elemFlag` to 3. For rows in `elempointFlag` that have all elements equal to 1, set the corresponding element in `elemFlag` to 2. For rows in `elempointFlag` that have only one element equal to 0, set the corresponding element in `elemFlag` to 1.

12. The method according to claim 2, characterized in that, Repeat steps 2.4 to 2.9 until all elements of elemFlag are 3, then end the solution of the current continuity equation and obtain the charge density.

13. A system for calculating the three-dimensional composite electric field in DC transmission engineering, characterized in that, include: The modeling unit is used to establish a computational model of the three-dimensional composite electric field of DC transmission projects; The solution element is used to initialize the space charge density. Based on the calculation model and the initialized space charge density, the potential Poisson equation and current continuity equation of the three-dimensional composite electric field of the DC transmission project are solved using the finite element method, and the solution results are obtained. The output unit is used to determine whether the relative error of the solution result meets the error limit. If not, the potential Poisson equation and the current continuity equation are solved iteratively. If yes, the Kaptzov assumption is determined to meet the preset conditions. If not, the surface charge density of the conductor is corrected, and the potential Poisson equation and the current continuity equation are solved iteratively. If yes, the iteration is terminated and all calculations end.

14. The system according to claim 13, characterized in that, Using the finite element method, the current continuity equation of the three-dimensional composite electric field in a DC transmission project is solved, including: Define a node marker vector pointFlag, a cell node marker matrix elempointFlag, and a cell marker vector elemFlag. Based on the node marker vector pointFlag, calculate the cell node marker matrix elempointFlag, and calculate the cell marker vector elemFlag based on the cell node marker matrix elempointFlag. The node marker vector `pointFlag` is formed by assigning a marker to each node. In `pointFlag`, the element corresponding to the node position on the conductor corona initiation surface is set to 1, and the rest are 0. All tetrahedral mesh elements are arranged with row numbers as element numbers and the four node numbers within the row vector as element numbers, forming an element node association matrix. The element node marker matrix `elempointFlag` is formed by replacing the element in each row of the element node association matrix with the corresponding `pointFlag` value. The element marker vector `elemFlag` is formed by assigning a marker to each element. For rows in `elempointFlag` where all elements are 1, the corresponding row element in `elemFlag` is set to 2. For rows in `elempointFlag` where only one element is 0, the corresponding row element in `elemFlag` is set to 1. The elements corresponding to the row numbers in `elemFlag` with elements 1 and 2 are possible upstream elements. Based on the unit marker vector elemFlag, the upstream element judgment matrices tempbcdJTMII, tempbcdTMIJJ, tempbcdMIJTT and tempbcdIJTMM relative to all nodes i, j, t and m are calculated in parallel in sequence. Step 2.4: For all nodes i, find the elements with elempointFlag(:,1) = 0 and elemFlag = 1 or elemFlag = 2 from tempbcdJTMII. Place the numbers of these elements into the vector elempointIFlag. Using the preset formula for upstream elements, find the element numbers in elempointIFlag relative to node i from the first three columns of data in tempbcdJTMII. Such elements are defined as upstream elements relative to node i. The element numbers of all upstream elements relative to node i form a vector denoted as elempointIupstream. The remaining elements are non-upstream elements, denoted as elempointInoupstream. If elempointIupstream is not empty, calculate the charge density of node i on these upstream elements and set the pointFlag of these nodes i to 1. `mpointIupstream` is a vector. Since the charge density calculations on multiple upstream elements are independent, the charge density of node `i` on the upstream element corresponding to `elempointIupstream` can be calculated in parallel. `elempointFlag` is calculated based on the new `pointFlag`. For rows in `elempointFlag` with at least one element equal to 2, the corresponding row element in `elemFlag` is set to 3. For rows in `elempointFlag` with all elements equal to 1, the corresponding row element in `elemFlag` is set to 2. For rows in `elempointFlag` with only one element equal to 0, the corresponding row element in `elemFlag` is set to 1. The cells corresponding to row numbers with row elements of 3 in `elemFlag` will not participate in the charge density calculation. The cells corresponding to row numbers with row elements of 1 and 2 in `elemFlag` are potential upstream elements. The `elemFlag` of the cells containing the node with `pointFlag = 2` is set to 3, so that these cells no longer participate in the search and calculation of upstream elements. Similar to the operation on all nodes i, search for upstream elements elempointJupstream, elempointTupstream, elempointMupstream and non-upstream elements elempointJnoupstream, elempointTnoupstream and elempointMnoupstream on all nodes j, t and m respectively. Calculate the charge density of all nodes j, t and m on the upstream elements respectively, and update pointFlag, elempointFlag and elemFlag respectively. Using the difference operation of sets, remove the upstream elements elempointJupstream, elempointTupstream, and elempointMupstream relative to nodes j, t, and m from elempointInonupstream; remove the upstream elements elempointTupstream and elempointMupstream relative to nodes t and m from elempointJnonupstream; and remove the upstream element elempointMupstream relative to node m from elempointTnonupstream. In the non-upstream element of elempointInonupstream, update the charge density of node i with the average charge density of all other points associated with node i, and set the pointFlag of the corresponding node i to 1. In the same way, update the charge density of nodes j, t and m in elempointJnonupstream, elempointTnonupstream and elempointMnonupstream respectively, and set the elements in the pointFlag of the corresponding nodes j, t and m to 1. If a node and all its neighboring nodes have a pointFlag value of 1, then set the element of the pointFlag corresponding to that node to 2. Calculate `elempointFlag` based on the new `pointFlag`. For rows in `elempointFlag` that have at least one element equal to 2, set the corresponding element in `elemFlag` to 3; for rows in `elempointFlag` that have all elements equal to 1, set the corresponding element in `elemFlag` to 2; for rows in `elempointFlag` that have only one element equal to 0, set the corresponding element in `elemFlag` to 1. Again, for all nodes i, find the elements from tempbcdJTMII where elempointFlag(:,1) = 0 and elemFlag = 1 or elemFlag = 2. Place the numbers of these elements into the vector elempointIFlag. Using the pre-defined formula for upstream elements, find the element numbers relative to node i in elempointIFlag from the first three columns of tempbcdJTMII. These elements are defined as upstream elements relative to node i. The element numbers of all upstream elements relative to node i form a vector denoted as elempointIupstream. The remaining elements are non-upstream elements, denoted as elempointInoupstream. If elempointIupstream is not empty, calculate the charge density of node i on these upstream elements and set the pointFlag of these nodes i to 1. Since `pointIupstream` is a vector, and the charge density calculations on multiple upstream elements are independent, the charge density of node `i` on the upstream element corresponding to `elempointIupstream` can be calculated in parallel. `elempointFlag` is calculated based on the new `pointFlag`. For rows in `elempointFlag` with at least one element equal to 2, the corresponding row element in `elemFlag` is set to 3. For rows in `elempointFlag` with all elements equal to 1, the corresponding row element in `elemFlag` is set to 2. For rows in `elempointFlag` with only one element equal to 0, the corresponding row element in `elemFlag` is set to 1. The cells corresponding to row numbers with row elements of 3 in `elemFlag` will not participate in the charge density calculation. The cells corresponding to row numbers with row elements of 1 and 2 in `elemFlag` are potential upstream elements. The `elemFlag` of the cells containing the node with `pointFlag = 2` is set to 3, so that these cells no longer participate in the search and calculation of upstream elements. Similar to the operation on all nodes i, search for upstream elements elempointJupstream, elempointTupstream, elempointMupstream and non-upstream elements elempointJnoupstream, elempointTnoupstream and elempointMnoupstream on all nodes j, t and m respectively. Calculate the charge density of all nodes j, t and m on the upstream elements respectively, and update pointFlag, elempointFlag and elemFlag respectively. Using the difference operation of sets, remove the upstream elements elempointJupstream, elempointTupstream, and elempointMupstream relative to nodes j, t, and m from elempointInonupstream; remove the upstream elements elempointTupstream and elempointMupstream relative to nodes t and m from elempointJnonupstream; and remove the upstream element elempointMupstream relative to node m from elempointTnonupstream. In the non-upstream element of elempointInonupstream, update the charge density of node i with the average charge density of all other points associated with node i, and set the pointFlag of the corresponding node i to 1. In the same way, update the charge density of nodes j, t and m in elempointJnonupstream, elempointTnonupstream and elempointMnonupstream respectively, and set the elements in the pointFlag of the corresponding nodes j, t and m to 1. If a node and all its neighboring nodes have a pointFlag value of 1, then set the element of the pointFlag corresponding to that node to 2. Calculate `elempointFlag` based on the new `pointFlag`. For rows in `elempointFlag` where at least one element is 2, set the corresponding element in `elemFlag` to 3. For rows in `elempointFlag` where all elements are 1, set the corresponding element in `elemFlag` to 2. For rows in `elempointFlag` where only one element is 0, set the corresponding element in `elemFlag` to 1 until all elements in `elemFlag` are 3. This completes the solution to the current continuity equation and yields the charge density.

15. The system according to claim 14, characterized in that, Define a node marker vector pointFlag, a unit node marker matrix elempointFlag, and a unit marker vector elemFlag. Calculate the unit node marker matrix elempointFlag based on the defined node marker vector pointFlag, and calculate the unit marker vector elemFlag based on the unit node marker matrix elempointFlag.

16. The system according to claim 14, characterized in that, The node marker vector `pointFlag` is formed by assigning a marker to each node. In `pointFlag`, the element corresponding to the corona-initiating surface of the conductor is set to 1, and the rest are 0. All tetrahedral mesh elements are organized into a node association matrix, with row numbers representing element numbers and the four node numbers within each row representing the element's node numbers. The element node marker matrix `elempointFlag` replaces each element in each row of the element-node association matrix with its corresponding `pointFlag` value. The element marker vector `elemFlag` is formed by assigning a marker to each element. For rows in `elempointFlag` where all elements are 1, the corresponding element in `elemFlag` is set to 2; for rows in `elempointFlag` where only one element is 0, the corresponding element in `elemFlag` is set to 1. The elements corresponding to the row numbers with elements 1 and 2 in `elemFlag` are potential upstream elements.

17. The system according to claim 14, characterized in that, Based on the unit marker vector elemFlag, the upstream element judgment matrices tempbcdJTMII, tempbcdTMIJJ, tempbcdMIJTT and tempbcdIJTMM are calculated in parallel with respect to all nodes i, j, t and m.

18. The system according to claim 14, characterized in that, For all nodes i, find the cells with elempointFlag(:,1) = 0 and elemFlag = 1 or elemFlag = 2 from tempbcdJTMII. Place the cell numbers of these cells into the vector elempointIFlag. Using the pre-defined formula for upstream elements, find the cell numbers in elempointIFlag relative to node i from the first three columns of data in tempbcdJTMII. Such cells are defined as upstream elements relative to node i. The cell numbers of all upstream elements relative to node i form a vector denoted as elempointIupstream. The remaining cells are non-upstream elements, denoted as elempointInoupstream. If elempointIupstream is not empty, calculate the charge density of node i on these upstream elements, and set the pointFlag of these nodes i to 1. elempointIupstream is a vector. Since the charge density calculations on multiple upstream elements are independent, the charge density of node i on the upstream element corresponding to elempointIupstream can be calculated in parallel. The elempointFlag is then calculated based on the new pointFlag. For rows in `elempointFlag` where at least one element is 2, the corresponding row element in `elemFlag` is set to 3. For rows in `elempointFlag` where all elements are 1, the corresponding row element in `elemFlag` is set to 2. For rows in `elempointFlag` where only one element is 0, the corresponding row element in `elemFlag` is set to 1. The cells corresponding to the row number with row element 3 in `elemFlag` will not participate in the charge density calculation. The cells corresponding to the row numbers with row elements 1 and 2 in `elemFlag` are potential upstream elements. The `elemFlag` of the cell containing the node with `pointFlag = 2` is set to 3, so that these cells no longer participate in the search and calculation of upstream elements.

19. The system according to claim 14, characterized in that, Similar to the operation on all nodes i, search for upstream elements elempointJupstream, elempointTupstream, elempointMupstream and non-upstream elements elempointJnoupstream, elempointTnoupstream and elempointMnoupstream on all nodes j, t and m respectively. Calculate the charge density of all nodes j, t and m on the upstream elements respectively, and update pointFlag, elempointFlag and elemFlag respectively.

20. The system according to claim 14, characterized in that, Using the difference operation of sets, remove the upstream elements elempointJupstream, elempointTupstream, and elempointMupstream relative to nodes j, t, and m from elempointInonupstream; remove the upstream elements elempointTupstream and elempointMupstream relative to nodes t and m from elempointJnonupstream; and remove the upstream element elempointMupstream relative to node m from elempointTnonupstream.

21. The system according to claim 14, characterized in that, In the non-upstream element of elempointInonupstream, the charge density of node i is updated with the average charge density of all other points associated with node i, and the pointFlag of the corresponding node i is set to 1. In the same way, the charge densities of nodes j, t and m in elempointJnonupstream, elempointTnonupstream and elempointMnonupstream are updated respectively, and the elements in the pointFlag of the corresponding nodes j, t and m are set to 1.

22. The system according to claim 14, characterized in that, If a node and all its neighboring nodes have a pointFlag value of 1, then set the element of the pointFlag corresponding to that node to 2.

23. The system according to claim 14, characterized in that, Calculate `elempointFlag` based on the new `pointFlag`. For rows in `elempointFlag` that have at least one element equal to 2, set the corresponding element in `elemFlag` to 3. For rows in `elempointFlag` that have all elements equal to 1, set the corresponding element in `elemFlag` to 2. For rows in `elempointFlag` that have only one element equal to 0, set the corresponding element in `elemFlag` to 1.

24. The system according to claim 14, characterized in that, Repeat steps 2.4 to 2.9 until all elements of elemFlag are 3, then end the solution of the current continuity equation and obtain the charge density.

25. A computer device, characterized in that, include: One or more processors; A processor is used to execute one or more programs; When the one or more programs are executed by the one or more processors, the method described in any one of claims 1-12 is implemented.

26. A computer-readable storage medium, characterized in that, It contains a computer program, which, when executed, implements the method as described in any one of claims 1-12.