<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.1 20151215//EN" "http://jats.nlm.nih.gov/publishing/1.1/JATS-journalpublishing1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:mml="http://www.w3.org/1998/Math/MathML" xml:lang="en" article-type="research-article" dtd-version="1.1">
<front>
<journal-meta>
<journal-id journal-id-type="pmc">EE</journal-id>
<journal-id journal-id-type="nlm-ta">EE</journal-id>
<journal-id journal-id-type="publisher-id">EE</journal-id>
<journal-title-group>
<journal-title>Energy Engineering</journal-title>
</journal-title-group>
<issn pub-type="epub">1546-0118</issn>
<issn pub-type="ppub">0199-8595</issn>
<publisher>
<publisher-name>Tech Science Press</publisher-name>
<publisher-loc>USA</publisher-loc>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">73240</article-id>
<article-id pub-id-type="doi">10.32604/ee.2025.073240</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Article</subject>
</subj-group>
</article-categories>
<title-group>
<article-title>A Fast Calculation Method for Dynamic Carbon Emission Factors Based on ILU Decomposition and BiCGSTABs</article-title>
<alt-title alt-title-type="left-running-head">A Fast Calculation Method for Dynamic Carbon Emission Factors Based on ILU Decomposition and BiCGSTABs</alt-title>
<alt-title alt-title-type="right-running-head">A Fast Calculation Method for Dynamic Carbon Emission Factors Based on ILU Decomposition and BiCGSTABs</alt-title>
</title-group>
<contrib-group>
<contrib id="author-1" contrib-type="author">
<name name-style="western"><surname>Zhong</surname><given-names>Lihua</given-names></name><xref ref-type="aff" rid="aff-1">1</xref></contrib>
<contrib id="author-2" contrib-type="author">
<name name-style="western"><surname>Pan</surname><given-names>Feng</given-names></name><xref ref-type="aff" rid="aff-1">1</xref></contrib>
<contrib id="author-3" contrib-type="author">
<name name-style="western"><surname>Yang</surname><given-names>Yuyao</given-names></name><xref ref-type="aff" rid="aff-1">1</xref></contrib>
<contrib id="author-4" contrib-type="author">
<name name-style="western"><surname>Feng</surname><given-names>Lei</given-names></name><xref ref-type="aff" rid="aff-1">1</xref></contrib>
<contrib id="author-5" contrib-type="author">
<name name-style="western"><surname>Jiang</surname><given-names>Jinghe</given-names></name><xref ref-type="aff" rid="aff-2">2</xref></contrib>
<contrib id="author-6" contrib-type="author">
<name name-style="western"><surname>Lin</surname><given-names>Guo</given-names></name><xref ref-type="aff" rid="aff-2">2</xref></contrib>
<contrib id="author-7" contrib-type="author" corresp="yes">
<name name-style="western"><surname>Zhang</surname><given-names>Xiaoshun</given-names></name><xref ref-type="aff" rid="aff-3">3</xref><xref rid="cor1" ref-type="corresp">&#x002A;</xref><email>zhangxiaoshun@mail.neu.edu.cn</email></contrib>
<aff id="aff-1"><label>1</label><institution>Metrology Center of Guangdong Power Grid Co., Ltd.</institution>, <addr-line>Qingyuan, 511545</addr-line>, <country>China</country></aff>
<aff id="aff-2"><label>2</label><institution>Dongguan Power Supply Bureau, Guangdong Power Grid Co., Ltd.</institution>, <addr-line>Dongguan, 523129</addr-line>, <country>China</country></aff>
<aff id="aff-3"><label>3</label><institution>Foshan Graduate School of Innovation, Northeastern University</institution>, <addr-line>Foshan, 528312</addr-line>, <country>China</country></aff>
</contrib-group>
<author-notes>
<corresp id="cor1"><label>&#x002A;</label>Corresponding Author: Xiaoshun Zhang. Email: <email>zhangxiaoshun@mail.neu.edu.cn</email></corresp>
</author-notes>
<pub-date date-type="collection" publication-format="electronic">
<year>2026</year>
</pub-date>
<pub-date date-type="pub" publication-format="electronic">
<day>27</day><month>5</month><year>2026</year>
</pub-date>
<volume>123</volume>
<issue>6</issue>
<elocation-id>4</elocation-id>
<history>
<date date-type="received">
<day>13</day>
<month>09</month>
<year>2025</year>
</date>
<date date-type="accepted">
<day>30</day>
<month>10</month>
<year>2025</year>
</date>
</history>
<permissions>
<copyright-statement>&#x00A9; 2026 The Authors. Published by Tech Science Press.</copyright-statement>
<copyright-year>2026</copyright-year>
<copyright-holder>The Authors</copyright-holder>
<license xlink:href="https://creativecommons.org/licenses/by/4.0/">
<license-p>This work is licensed under a <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</ext-link>, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.</license-p>
</license>
</permissions>
<self-uri content-type="pdf" xlink:href="TSP_EE_73240.pdf"></self-uri>
<abstract>
<p>This paper addresses the challenge of efficiently calculating dynamic carbon emission factors (CEFs) in large-scale power systems. Traditional methods that rely on direct matrix inversion are computationally intensive and become impractical for networks with thousands of nodes. To overcome this limitation, a fast and scalable computational framework is proposed based on the incomplete LU (ILU) preconditioned biconjugate gradient stabilized (BiCGSTAB) iterative solver. The proposed approach formulates the nodal CEF model as a sparse linear system and employs Krylov subspace acceleration with ILU preconditioning to enhance convergence and numerical stability. The method is applied to synthetic power grid test cases ranging from 200 to 10,000 nodes to evaluate its accuracy and efficiency. Results show that the ILU-preconditioned BiCGSTAB algorithm achieves convergence within seven iterations, reducing computation time by more than two orders of magnitude compared with conventional direct matrix inversion. The method accurately tracks both local and imported carbon emissions at each node, providing fine-grained temporal and spatial emission profiles. Moreover, the ILU decomposition can be reused across time steps, further improving computational efficiency for dynamic and real-time scenarios. Overall, the proposed method demonstrates excellent scalability and robustness, making it well suited for high-frequency, real-time carbon emission monitoring in large power systems. The findings provide a computational foundation for carbon-aware dispatch, emission accounting, and policy-oriented applications in future low-carbon power grids.</p>
</abstract>
<kwd-group kwd-group-type="author">
<kwd>Dynamic carbon emission factors</kwd>
<kwd>BiCGSTAB</kwd>
<kwd>ILU preconditioning</kwd>
<kwd>iterative solver</kwd>
<kwd>large-scale power systems</kwd>
</kwd-group>
<funding-group>
<award-group id="awg1">
<funding-source>Science and Technology Project of China Southern Power Grid Co., Ltd.</funding-source>
<award-id>031900KC24040022</award-id>
<award-id>GDKJXM20240391</award-id>
</award-group>
</funding-group>
</article-meta>
</front>
<body>
<sec id="s1">
<label>1</label>
<title>Introduction</title>
<p>Under the national goals of &#x201C;carbon peaking and carbon neutrality,&#x201D; the power sector faces increasingly strict emission regulations. Traditional average carbon emission factors fail to capture regional and temporal differences, often underestimating actual emissions. In contrast, marginal or nodal emission factors offer more accurate and localized assessments. Carbon flow theory has recently been introduced to model emissions as a &#x201C;virtual flow&#x201D; that follows power flows, enabling emission traceability and the development of nodal carbon emission factor models. This helps reveal hidden disparities and supports region-specific decarbonization policies.</p>
<p>Based on this theory, several studies have proposed matrix-based models that calculate nodal emission factors through direct matrix inversion. Reference [<xref ref-type="bibr" rid="ref-1">1</xref>] calculated carbon emission flow in power systems using a matrix-based approach involving direct matrix inversion. While effective for small networks, this method faces computational challenges in large-scale applications. Reference [<xref ref-type="bibr" rid="ref-2">2</xref>] developed a carbon emission model for high-speed rail traction based on carbon flow theory and solved it via direct matrix inversion; however, this approach, while effective for localized applications, is computationally inefficient and difficult to scale to large power systems. Reference [<xref ref-type="bibr" rid="ref-3">3</xref>] calculated carbon emission factors for high-speed rail systems using carbon flow theory and direct matrix inversion. Reference [<xref ref-type="bibr" rid="ref-4">4</xref>] proposed a dynamic carbon emission factor model for distribution networks based on a generalized inverse matrix formulation. While their method enables accurate mapping between carbon factors and power flows, the reliance on matrix inversion limits scalability and computational efficiency in large-scale systems. Reference [<xref ref-type="bibr" rid="ref-5">5</xref>] developed a flow-based carbon accounting framework that computes nodal emission factors via linear system solutions. While accurate, the method relies on direct matrix operations, which may limit scalability in large power networks. Reference [<xref ref-type="bibr" rid="ref-6">6</xref>] computed nodal carbon emission factors by directly inverting the system allocation matrix in an improved carbon emission flow model. Although accurate, the method&#x2019;s reliance on matrix inversion may limit its scalability under large-scale or real-time conditions.</p>
<p>The above studies have adopted matrix-based carbon flow models that compute nodal emission factors via direct matrix inversion. While accurate, these methods rely on dense linear algebra operations that are computationally expensive and difficult to scale. For a power system with an Jacobian matrix, the computational complexity of direct solvers can reach up to <inline-formula id="ieqn-1"><mml:math id="mml-ieqn-1"><mml:mi>O</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msup><mml:mi>N</mml:mi><mml:mn>3</mml:mn></mml:msup><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>. Even with sparse matrix techniques, direct methods remain inefficient in ultra-large-scale networks or high-frequency temporal calculations. In scenarios requiring frequent and fast evaluations, such as real-time nodal carbon emission estimation, such approaches become impractical. In contrast, iterative methods, which primarily depend on matrix&#x2013;vector multiplication, offer lower computational and memory overhead, and allow flexible control over solution accuracy&#x2014;an advantage when approximate solutions are acceptable. However, due to the ill-conditioned and structurally complex nature of power system matrices, conventional iterative solvers may suffer from slow convergence or even divergence without effective preconditioning. Thus, the key to achieving robust and efficient iterative performance lies in the design of suitable preconditioning strategies.</p>
<p>Reference [<xref ref-type="bibr" rid="ref-7">7</xref>] proposed a parallel method for solving large-scale sparse state-space matrices in power systems, using incomplete LU decomposition with threshold pivoting (ILUTP) preconditioning combined with the biconjugate gradient stabilized (BiCGSTAB) iterative solver. This approach effectively reduces computational time and improves scalability in stability analysis applications. Reference [<xref ref-type="bibr" rid="ref-8">8</xref>] proposed a fast parallel solver for large sparse linear systems arising in bioluminescence tomography, based on preconditioned BiCGSTAB combined with CUDA. The method leverages incomplete Cholesky factorization and compressed row storage scheme (CSR) sparse matrix storage to enhance convergence and computational efficiency. Recent studies have investigated the application of iterative solvers in large-scale energy systems. &#x015A;wirydowicz et al. [<xref ref-type="bibr" rid="ref-9">9</xref>] benchmarked several Krylov-based solvers for power grid optimization problems, highlighting their scalability in sparse grid matrices. Li et al. [<xref ref-type="bibr" rid="ref-10">10</xref>] demonstrated that a GPU-accelerated, preconditioned iterative solver significantly improves the efficiency of power flow analysis in large power systems. Qu et al. [<xref ref-type="bibr" rid="ref-11">11</xref>] further analyzed multigrid-preconditioned Krylov methods, confirming their effectiveness for non-symmetric and large-scale energy system models.</p>
<p>The above studies have successfully applied ILU-preconditioned BiCGSTAB algorithms to large-scale sparse systems in other fields. However, most existing CEF studies still rely on direct matrix inversion, which is simple and accurate for small systems but becomes inefficient for large-scale nodal networks. To date, no research has addressed this computational bottleneck or applied this approach to dynamic electric carbon emission factor calculations, where fast and scalable solutions are increasingly critical.</p>
<p>To address this gap, this paper introduces an ILU-preconditioned BiCGSTAB iterative algorithm to efficiently solve the nodal carbon emission factor model. BiCGSTAB is well-suited for nonsymmetric sparse systems, and the ILU preconditioner improves matrix conditioning to speed up convergence. While effective in other sparse problem domains, this method is applied here for the first time to carbon emission analysis. With proper parameter tuning, the approach ensures accuracy while significantly reducing computation time, making it suitable for real-time analysis in large-scale power grids. The main contributions are as follows:
<list list-type="bullet">
<list-item>
<p>This paper adopts the BiCGSTAB iterative algorithm to efficiently solve nodal carbon emission factors in large-scale, nonsymmetric sparse systems. By leveraging Krylov subspace acceleration, the method achieves high precision with significantly lower computational cost than direct solvers, addressing the limitations of traditional approaches in large-scale and dynamic grid scenarios.</p></list-item>
<list-item>
<p>An ILU preconditioner is integrated to improve numerical stability and convergence efficiency. By preserving matrix sparsity and enhancing conditioning, it reduces residual norms and supports repeated use in multi-period simulations, making the approach well-suited for real-time and time-series carbon emission analysis.</p></list-item>
</list></p>
<p>The novelty and contribution of this study lie in two main aspects. First, it is the first to employ an iterative-solver-based framework for large-scale dynamic carbon emission factor computation, overcoming the computational inefficiency of traditional matrix inversion. Second, compared with existing iterative methods such as CG, GMRES, and LSQR, the proposed ILU-preconditioned BiCGSTAB algorithm provides faster and more stable convergence for non-symmetric, sparse, and time-varying systems, offering clear advantages in both accuracy and scalability for real-time carbon emission analysis.</p>
<p>The remainder of this paper is organized as follows: <xref ref-type="sec" rid="s2">Section 2</xref> formulates the node-level dynamic CEF model, deriving the sparse linear system that captures carbon flow across power system nodes. <xref ref-type="sec" rid="s3">Section 3</xref> presents the fast computation framework based on the ILU-decomposed BiCGSTAB iterative solver, including analyses of matrix structure, preconditioning strategy, numerical efficiency, and its application to real-time carbon emission modeling. <xref ref-type="sec" rid="s4">Section 4</xref> provides a comprehensive case study using large-scale synthetic power grid datasets to validate the proposed method&#x2019;s accuracy, scalability, and computational performance. <xref ref-type="sec" rid="s5">Section 5</xref> concludes the paper with a summary of key findings and a discussion of future research directions.</p>
</sec>
<sec id="s2">
<label>2</label>
<title>Calculation of Dynamic Carbon Emission Factors</title>
<p>In order to evaluate carbon emissions across nodes in a power system dynamically and efficiently, this work constructs a node-level carbon emission factor (CEF) model. The method accounts for both direct generation-side emissions and the imported carbon intensity from neighboring nodes through active power flow. The formulation is inherently recursive and reflects the coupling among all nodes within the network. <xref ref-type="fig" rid="fig-1">Fig. 1</xref> illustrates the overall modeling framework, including the grid topology and the flow-based CEF calculation logic.</p>
<fig id="fig-1">
<label>Figure 1</label>
<caption>
<title>Flow-based calculation of nodal carbon emission factors in a 500-node power grid</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="EE_73240-fig-1.tif"/>
</fig>
<p>For a given node <inline-formula id="ieqn-2"><mml:math id="mml-ieqn-2"><mml:mi>i</mml:mi></mml:math></inline-formula>, the carbon emission factor <inline-formula id="ieqn-3"><mml:math id="mml-ieqn-3"><mml:msub><mml:mi>&#x03B4;</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:math></inline-formula> (<inline-formula id="ieqn-4"><mml:math id="mml-ieqn-4"><mml:mrow><mml:mi mathvariant="normal">k</mml:mi><mml:mi mathvariant="normal">g</mml:mi><mml:mi mathvariant="normal">C</mml:mi><mml:msub><mml:mi mathvariant="normal">O</mml:mi><mml:mn>2</mml:mn></mml:msub><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mi mathvariant="normal">k</mml:mi><mml:mi mathvariant="normal">W</mml:mi><mml:mi mathvariant="normal">h</mml:mi></mml:mrow></mml:math></inline-formula>) represents a weighted average of two parts: local emissions from generators at node <inline-formula id="ieqn-5"><mml:math id="mml-ieqn-5"><mml:mi>i</mml:mi></mml:math></inline-formula> and imported emissions from neighboring nodes. The expression is given by:
<disp-formula id="eqn-1"><label>(1)</label><mml:math id="mml-eqn-1" display="block"><mml:msub><mml:mi>&#x03B4;</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:munder><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:msub><mml:mi>g</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo>&#x2208;</mml:mo><mml:msubsup><mml:mi mathvariant="normal">&#x03A9;</mml:mi><mml:mi>g</mml:mi><mml:mi>i</mml:mi></mml:msubsup></mml:mrow></mml:munder><mml:msubsup><mml:mi>P</mml:mi><mml:mrow><mml:msub><mml:mi>g</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:mrow><mml:mi>i</mml:mi></mml:msubsup><mml:mo>&#x22C5;</mml:mo><mml:msubsup><mml:mi>&#x03B4;</mml:mi><mml:mrow><mml:msub><mml:mi>g</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:mrow><mml:mi>i</mml:mi></mml:msubsup><mml:mo>+</mml:mo><mml:munder><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>j</mml:mi><mml:mo>&#x2208;</mml:mo><mml:msub><mml:mi mathvariant="normal">&#x03A9;</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:munder><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>j</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x22C5;</mml:mo><mml:msub><mml:mi>&#x03B4;</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:munder><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:msub><mml:mi>g</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo>&#x2208;</mml:mo><mml:msubsup><mml:mi mathvariant="normal">&#x03A9;</mml:mi><mml:mi>g</mml:mi><mml:mi>i</mml:mi></mml:msubsup></mml:mrow></mml:munder><mml:msubsup><mml:mi>P</mml:mi><mml:mrow><mml:msub><mml:mi>g</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:mrow><mml:mi>i</mml:mi></mml:msubsup><mml:mo>+</mml:mo><mml:munder><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>j</mml:mi><mml:mo>&#x2208;</mml:mo><mml:msub><mml:mi mathvariant="normal">&#x03A9;</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:munder><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>j</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mfrac></mml:math></disp-formula>where, <inline-formula id="ieqn-6"><mml:math id="mml-ieqn-6"><mml:msubsup><mml:mi>P</mml:mi><mml:mrow><mml:msub><mml:mi>g</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:mrow><mml:mi>i</mml:mi></mml:msubsup></mml:math></inline-formula> denotes the active power output of generator <inline-formula id="ieqn-7"><mml:math id="mml-ieqn-7"><mml:msub><mml:mi>g</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:math></inline-formula> connected to node <inline-formula id="ieqn-8"><mml:math id="mml-ieqn-8"><mml:mi>i</mml:mi></mml:math></inline-formula>, and <inline-formula id="ieqn-9"><mml:math id="mml-ieqn-9"><mml:msubsup><mml:mi>&#x03B4;</mml:mi><mml:mrow><mml:msub><mml:mi>g</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:mrow><mml:mi>i</mml:mi></mml:msubsup></mml:math></inline-formula> is its specific emission factor. <inline-formula id="ieqn-10"><mml:math id="mml-ieqn-10"><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>j</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> represents the active power injected into node <inline-formula id="ieqn-11"><mml:math id="mml-ieqn-11"><mml:mi>i</mml:mi></mml:math></inline-formula> from neighboring node <inline-formula id="ieqn-12"><mml:math id="mml-ieqn-12"><mml:mi>j</mml:mi></mml:math></inline-formula>, while <inline-formula id="ieqn-13"><mml:math id="mml-ieqn-13"><mml:msub><mml:mi>&#x03B4;</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:math></inline-formula> is the corresponding carbon emission factor of node <inline-formula id="ieqn-14"><mml:math id="mml-ieqn-14"><mml:mi>j</mml:mi></mml:math></inline-formula>. The set <inline-formula id="ieqn-15"><mml:math id="mml-ieqn-15"><mml:msubsup><mml:mi mathvariant="normal">&#x03A9;</mml:mi><mml:mi>g</mml:mi><mml:mi>i</mml:mi></mml:msubsup></mml:math></inline-formula> contains all generators at node <inline-formula id="ieqn-16"><mml:math id="mml-ieqn-16"><mml:mi>i</mml:mi></mml:math></inline-formula>, and <inline-formula id="ieqn-17"><mml:math id="mml-ieqn-17"><mml:msub><mml:mi mathvariant="normal">&#x03A9;</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:math></inline-formula> is the set of nodes supplying power to node <inline-formula id="ieqn-18"><mml:math id="mml-ieqn-18"><mml:mi>i</mml:mi></mml:math></inline-formula>.</p>
<p><xref ref-type="disp-formula" rid="eqn-1">Eq. (1)</xref> captures the physical and environmental interactions at each node and forms the basis for further algebraic transformation. To facilitate a numerical solution for the entire network, <xref ref-type="disp-formula" rid="eqn-1">Eq. (1)</xref> is algebraically rearranged into the following linear form:
<disp-formula id="eqn-2"><label>(2)</label><mml:math id="mml-eqn-2" display="block"><mml:mrow><mml:mo>(</mml:mo><mml:munder><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:msub><mml:mi>g</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo>&#x2208;</mml:mo><mml:msubsup><mml:mi mathvariant="normal">&#x03A9;</mml:mi><mml:mi>g</mml:mi><mml:mi>i</mml:mi></mml:msubsup></mml:mrow></mml:munder><mml:msubsup><mml:mi>P</mml:mi><mml:mrow><mml:msub><mml:mi>g</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:mrow><mml:mi>i</mml:mi></mml:msubsup><mml:mo>+</mml:mo><mml:munder><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>j</mml:mi><mml:mo>&#x2208;</mml:mo><mml:msub><mml:mi mathvariant="normal">&#x03A9;</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:munder><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>j</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:msub><mml:mi>&#x03B4;</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>&#x2212;</mml:mo><mml:munder><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>j</mml:mi><mml:mo>&#x2208;</mml:mo><mml:msub><mml:mi mathvariant="normal">&#x03A9;</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:munder><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>j</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x22C5;</mml:mo><mml:msub><mml:mi>&#x03B4;</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:munder><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:msub><mml:mi>g</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo>&#x2208;</mml:mo><mml:msubsup><mml:mi mathvariant="normal">&#x03A9;</mml:mi><mml:mi>g</mml:mi><mml:mi>i</mml:mi></mml:msubsup></mml:mrow></mml:munder><mml:msubsup><mml:mi>P</mml:mi><mml:mrow><mml:msub><mml:mi>g</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:mrow><mml:mi>i</mml:mi></mml:msubsup><mml:mo>&#x22C5;</mml:mo><mml:msubsup><mml:mi>&#x03B4;</mml:mi><mml:mrow><mml:msub><mml:mi>g</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:mrow><mml:mi>i</mml:mi></mml:msubsup></mml:math></disp-formula></p>
<p>By applying this equation to all nodes in the system, we derive a sparse linear algebraic system in the compact form:
<disp-formula id="eqn-3"><label>(3)</label><mml:math id="mml-eqn-3" display="block"><mml:mrow><mml:mtext mathvariant="bold">A</mml:mtext></mml:mrow><mml:mi mathvariant="bold-italic">&#x03B4;</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mtext mathvariant="bold">b</mml:mtext></mml:mrow></mml:math></disp-formula></p>
<p>In this equation, <inline-formula id="ieqn-19"><mml:math id="mml-ieqn-19"><mml:mi mathvariant="bold-italic">&#x03B4;</mml:mi><mml:mo>=</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:msub><mml:mi>&#x03B4;</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>&#x03B4;</mml:mi><mml:mn>2</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:msub><mml:mi>&#x03B4;</mml:mi><mml:mi>n</mml:mi></mml:msub><mml:msup><mml:mo stretchy="false">]</mml:mo><mml:mi mathvariant="normal">&#x22A4;</mml:mi></mml:msup></mml:math></inline-formula> is the vector of unknown node carbon emission factors. The matrix <inline-formula id="ieqn-20"><mml:math id="mml-ieqn-20"><mml:mrow><mml:mtext mathvariant="bold">A</mml:mtext></mml:mrow><mml:mo>&#x2208;</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="double-struck">R</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>&#x00D7;</mml:mo><mml:mi>n</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula> is sparse and typically diagonally dominant. Each diagonal entry <inline-formula id="ieqn-21"><mml:math id="mml-ieqn-21"><mml:msub><mml:mi>A</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> equals the sum of the power output from local generators and the incoming power flow to node <inline-formula id="ieqn-22"><mml:math id="mml-ieqn-22"><mml:mi>i</mml:mi></mml:math></inline-formula>. Each off-diagonal term <inline-formula id="ieqn-23"><mml:math id="mml-ieqn-23"><mml:msub><mml:mi>A</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> (for <inline-formula id="ieqn-24"><mml:math id="mml-ieqn-24"><mml:mi>j</mml:mi><mml:mo>&#x2208;</mml:mo><mml:msub><mml:mi mathvariant="normal">&#x03A9;</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:math></inline-formula>) is given by <inline-formula id="ieqn-25"><mml:math id="mml-ieqn-25"><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>j</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>. The right-hand side vector <inline-formula id="ieqn-26"><mml:math id="mml-ieqn-26"><mml:mrow><mml:mtext mathvariant="bold">b</mml:mtext></mml:mrow></mml:math></inline-formula> contains the emission contributions from generators, where each entry is computed as <inline-formula id="ieqn-27"><mml:math id="mml-ieqn-27"><mml:msub><mml:mi>b</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mo movablelimits="false">&#x2211;</mml:mo><mml:mrow><mml:msub><mml:mi>g</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo>&#x2208;</mml:mo><mml:msubsup><mml:mi mathvariant="normal">&#x03A9;</mml:mi><mml:mi>g</mml:mi><mml:mi>i</mml:mi></mml:msubsup></mml:mrow></mml:msub><mml:msubsup><mml:mi>P</mml:mi><mml:mrow><mml:msub><mml:mi>g</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:mrow><mml:mi>i</mml:mi></mml:msubsup><mml:mo>&#x22C5;</mml:mo><mml:msubsup><mml:mi>&#x03B4;</mml:mi><mml:mrow><mml:msub><mml:mi>g</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:mrow><mml:mi>i</mml:mi></mml:msubsup></mml:math></inline-formula>.</p>
<p>The structure of <xref ref-type="disp-formula" rid="eqn-3">Eq. (3)</xref> reflects both the network topology and the real-time power flow distribution, forming a consistent and physically interpretable representation of carbon emission propagation across the grid.</p>
<p>To quantify numerical difficulty and its impact on Krylov convergence, we evaluate the condition number <inline-formula id="ieqn-28"><mml:math id="mml-ieqn-28"><mml:mi>&#x03BA;</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mtext mathvariant="bold">A</mml:mtext></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> of the sparse linear system in <xref ref-type="disp-formula" rid="eqn-2">Eq. (2)</xref>. For small systems we use exact condition numbers, while for large sparse systems we employ MATLAB&#x2019;s condest. We also quantify the effective conditioning of the preconditioned operator <inline-formula id="ieqn-29"><mml:math id="mml-ieqn-29"><mml:mi>&#x03BA;</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msup><mml:mrow><mml:mtext mathvariant="bold">M</mml:mtext></mml:mrow><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup><mml:mrow><mml:mtext mathvariant="bold">A</mml:mtext></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>, where <inline-formula id="ieqn-30"><mml:math id="mml-ieqn-30"><mml:mrow><mml:mtext mathvariant="bold">M</mml:mtext></mml:mrow></mml:math></inline-formula> is an ILU preconditioner. As shown as <xref ref-type="fig" rid="fig-2">Fig. 2</xref>, we report condition numbers for four benchmark systems to characterize numerical difficulty and to assess the effectiveness of preconditioning.</p>
<fig id="fig-2">
<label>Figure 2</label>
<caption>
<title>Condition number of the sparse coefficient matrix A vs. matrix dimension across four test systems</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="EE_73240-fig-2.tif"/>
</fig>
<p>These values increase with system size, reflecting the growing challenge of the unpreconditioned problem. With an ILU preconditioner <inline-formula id="ieqn-31"><mml:math id="mml-ieqn-31"><mml:mrow><mml:mtext mathvariant="bold">M</mml:mtext></mml:mrow></mml:math></inline-formula>, the effective condition numbers of the preconditioned operators are approximately <inline-formula id="ieqn-32"><mml:math id="mml-ieqn-32"><mml:mi>&#x03BA;</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msup><mml:mrow><mml:mtext mathvariant="bold">M</mml:mtext></mml:mrow><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup><mml:mrow><mml:mtext mathvariant="bold">A</mml:mtext></mml:mrow><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x2248;</mml:mo><mml:mn>1</mml:mn></mml:math></inline-formula> for all four systems, indicating near-ideal conditioning. This directly explains the observed robustness and rapid convergence of BiCGSTAB in our large-scale experiments, consistent with the well-known dependence of Krylov convergence on matrix conditioning.</p>
<p>To improve readability of the mathematical formulations in <xref ref-type="disp-formula" rid="eqn-1">Eqs. (1)</xref>&#x2013;<xref ref-type="disp-formula" rid="eqn-3">(3)</xref>, the key variables and parameters are summarized in <xref ref-type="table" rid="table-1">Table 1</xref>, which lists their definitions and corresponding units.</p>
<table-wrap id="table-1">
<label>Table 1</label>
<caption>
<title>Table of symbols</title>
</caption>
<table>
<colgroup>
<col align="center" width="33mm"/>
<col align="center" width="33mm"/>
<col align="center" width="33mm"/> </colgroup>
<thead>
<tr>
<th>Symbol</th>
<th>Description</th>
<th>Unit</th>
</tr>
</thead>
<tbody>
<tr>
<td><inline-formula id="ieqn-33"><mml:math id="mml-ieqn-33"><mml:msub><mml:mi>&#x03B4;</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:math></inline-formula></td>
<td>Carbon emission factor at node <inline-formula id="ieqn-34"><mml:math id="mml-ieqn-34"><mml:mi>i</mml:mi></mml:math></inline-formula></td>
<td><inline-formula id="ieqn-35"><mml:math id="mml-ieqn-35"><mml:msub><mml:mi>kgCO</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:math></inline-formula>/kWh</td>
</tr>
<tr>
<td><inline-formula id="ieqn-36"><mml:math id="mml-ieqn-36"><mml:msubsup><mml:mi>&#x03B4;</mml:mi><mml:mrow><mml:msub><mml:mi>g</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula></td>
<td>Carbon emission factor of generator <inline-formula id="ieqn-37"><mml:math id="mml-ieqn-37"><mml:msub><mml:mi>g</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:math></inline-formula> connected to node <inline-formula id="ieqn-38"><mml:math id="mml-ieqn-38"><mml:mi>i</mml:mi></mml:math></inline-formula></td>
<td><inline-formula id="ieqn-39"><mml:math id="mml-ieqn-39"><mml:msub><mml:mi>kgCO</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:math></inline-formula>/kWh</td>
</tr>
<tr>
<td><inline-formula id="ieqn-40"><mml:math id="mml-ieqn-40"><mml:msubsup><mml:mi>P</mml:mi><mml:mrow><mml:msub><mml:mi>g</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula></td>
<td>Active power output of generator <inline-formula id="ieqn-41"><mml:math id="mml-ieqn-41"><mml:msub><mml:mi>g</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:math></inline-formula> at node <inline-formula id="ieqn-42"><mml:math id="mml-ieqn-42"><mml:mi>i</mml:mi></mml:math></inline-formula></td>
<td>kW</td>
</tr>
<tr>
<td><inline-formula id="ieqn-43"><mml:math id="mml-ieqn-43"><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>j</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula></td>
<td>Active power injected into node <inline-formula id="ieqn-44"><mml:math id="mml-ieqn-44"><mml:mi>i</mml:mi></mml:math></inline-formula> from node <inline-formula id="ieqn-45"><mml:math id="mml-ieqn-45"><mml:mi>j</mml:mi></mml:math></inline-formula></td>
<td>kW</td>
</tr>
<tr>
<td><inline-formula id="ieqn-46"><mml:math id="mml-ieqn-46"><mml:msubsup><mml:mi mathvariant="normal">&#x03A9;</mml:mi><mml:mi>g</mml:mi><mml:mi>i</mml:mi></mml:msubsup></mml:math></inline-formula></td>
<td>Set of generators connected to node <inline-formula id="ieqn-47"><mml:math id="mml-ieqn-47"><mml:mi>i</mml:mi></mml:math></inline-formula></td>
<td>&#x2013;</td>
</tr>
<tr>
<td><inline-formula id="ieqn-48"><mml:math id="mml-ieqn-48"><mml:msub><mml:mi mathvariant="normal">&#x03A9;</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:math></inline-formula></td>
<td>Set of neighboring nodes supplying power to node <inline-formula id="ieqn-49"><mml:math id="mml-ieqn-49"><mml:mi>i</mml:mi></mml:math></inline-formula></td>
<td>&#x2013;</td>
</tr>
<tr>
<td><inline-formula id="ieqn-50"><mml:math id="mml-ieqn-50"><mml:mrow><mml:mtext mathvariant="bold">A</mml:mtext></mml:mrow></mml:math></inline-formula></td>
<td>Coefficient matrix representing network connectivity</td>
<td>&#x2013;</td>
</tr>
<tr>
<td><inline-formula id="ieqn-51"><mml:math id="mml-ieqn-51"><mml:mi>b</mml:mi></mml:math></inline-formula></td>
<td>Right-hand-side vector containing generator emission terms</td>
<td><inline-formula id="ieqn-52"><mml:math id="mml-ieqn-52"><mml:msub><mml:mi>kgCO</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:math></inline-formula>/kWh</td>
</tr>
<tr>
<td><inline-formula id="ieqn-53"><mml:math id="mml-ieqn-53"><mml:mi>n</mml:mi></mml:math></inline-formula></td>
<td>Number of nodes in the system</td>
<td>&#x2013;</td>
</tr>
<tr>
<td><inline-formula id="ieqn-54"><mml:math id="mml-ieqn-54"><mml:mrow><mml:mi>&#x03B4;</mml:mi></mml:mrow></mml:math></inline-formula></td>
<td>Vector of nodal carbon emission factors</td>
<td><inline-formula id="ieqn-55"><mml:math id="mml-ieqn-55"><mml:msub><mml:mi>kgCO</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:math></inline-formula>/kWh</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec id="s3">
<label>3</label>
<title>Fast CEF Computation Based on ILU-Decomposed BiCGSTAB Solver</title>
<p>As previously established in <xref ref-type="disp-formula" rid="eqn-3">Eq. (3)</xref>, the dynamic CEF at each node is computed by solving a sparse linear system. Given that <xref ref-type="disp-formula" rid="eqn-3">Eq. (3)</xref> must be solved repeatedly across multiple time intervals, the efficiency of the solver is critical. Direct inversion, though accurate, has computational complexity on the order of <inline-formula id="ieqn-56"><mml:math id="mml-ieqn-56"><mml:mrow><mml:mi>O</mml:mi></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msup><mml:mi>n</mml:mi><mml:mn>3</mml:mn></mml:msup><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> and rapidly becomes impractical for large-scale systems. Hence, we employ a more scalable and robust iterative method: BiCGSTAB, augmented with ILU(0) preconditioning.</p>
<sec id="s3_1">
<label>3.1</label>
<title>Structure and Sparsity of the System Matrix</title>
<p>The matrix <inline-formula id="ieqn-57"><mml:math id="mml-ieqn-57"><mml:mrow><mml:mtext mathvariant="bold">A</mml:mtext></mml:mrow></mml:math></inline-formula> is inherently sparse due to the physical locality of power flows in the grid. Each row of <inline-formula id="ieqn-58"><mml:math id="mml-ieqn-58"><mml:mrow><mml:mtext mathvariant="bold">A</mml:mtext></mml:mrow></mml:math></inline-formula> corresponds to a node <inline-formula id="ieqn-59"><mml:math id="mml-ieqn-59"><mml:mi>i</mml:mi></mml:math></inline-formula>, and contains non-zero entries only at the diagonal and its immediate upstream neighbors:
<disp-formula id="eqn-4"><label>(4)</label><mml:math id="mml-eqn-4" display="block"><mml:msub><mml:mi>A</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:munder><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:msub><mml:mi>g</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo>&#x2208;</mml:mo><mml:msubsup><mml:mi mathvariant="normal">&#x03A9;</mml:mi><mml:mi>g</mml:mi><mml:mi>i</mml:mi></mml:msubsup></mml:mrow></mml:munder><mml:msubsup><mml:mi>P</mml:mi><mml:mrow><mml:msub><mml:mi>g</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:mrow><mml:mi>i</mml:mi></mml:msubsup><mml:mo>+</mml:mo><mml:munder><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>j</mml:mi><mml:mo>&#x2208;</mml:mo><mml:msub><mml:mi mathvariant="normal">&#x03A9;</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:munder><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>j</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mspace width="1em" /><mml:msub><mml:mi>A</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>j</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mspace width="1em" /><mml:mrow><mml:mtext>for&#xA0;</mml:mtext></mml:mrow><mml:mi>j</mml:mi><mml:mo>&#x2208;</mml:mo><mml:msub><mml:mi mathvariant="normal">&#x03A9;</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:math></disp-formula></p>
<p>The right-hand side vector <inline-formula id="ieqn-60"><mml:math id="mml-ieqn-60"><mml:mrow><mml:mtext mathvariant="bold">b</mml:mtext></mml:mrow></mml:math></inline-formula> is also sparse in nature, as many nodes are load-only and do not host generators. Each entry is computed as:
<disp-formula id="eqn-5"><label>(5)</label><mml:math id="mml-eqn-5" display="block"><mml:msub><mml:mi>b</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:munder><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:msub><mml:mi>g</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo>&#x2208;</mml:mo><mml:msubsup><mml:mi mathvariant="normal">&#x03A9;</mml:mi><mml:mi>g</mml:mi><mml:mi>i</mml:mi></mml:msubsup></mml:mrow></mml:munder><mml:msubsup><mml:mi>P</mml:mi><mml:mrow><mml:msub><mml:mi>g</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:mrow><mml:mi>i</mml:mi></mml:msubsup><mml:mo>&#x22C5;</mml:mo><mml:msubsup><mml:mi>&#x03B4;</mml:mi><mml:mrow><mml:msub><mml:mi>g</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:mrow><mml:mi>i</mml:mi></mml:msubsup></mml:math></disp-formula></p>
<p>This structure leads to a matrix with a relatively small average number of nonzero entries per row&#x2014;commonly denoted as <inline-formula id="ieqn-61"><mml:math id="mml-ieqn-61"><mml:msub><mml:mtext>nnz</mml:mtext><mml:mrow><mml:mtext>row</mml:mtext></mml:mrow></mml:msub></mml:math></inline-formula>. The total number of nonzero elements satisfies:
<disp-formula id="eqn-6"><label>(6)</label><mml:math id="mml-eqn-6" display="block"><mml:mrow><mml:mtext>nnz</mml:mtext></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mtext mathvariant="bold">A</mml:mtext></mml:mrow><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x226A;</mml:mo><mml:msup><mml:mi>n</mml:mi><mml:mn>2</mml:mn></mml:msup></mml:math></disp-formula></p>
</sec>
<sec id="s3_2">
<label>3.2</label>
<title>Preconditioned BiCGSTAB Framework</title>
<p>BiCGSTAB is used to solve <inline-formula id="ieqn-62"><mml:math id="mml-ieqn-62"><mml:mrow><mml:mtext mathvariant="bold">A</mml:mtext></mml:mrow><mml:mi mathvariant="bold-italic">&#x03B4;</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mtext mathvariant="bold">b</mml:mtext></mml:mrow></mml:math></inline-formula> iteratively. The method constructs Krylov subspaces of increasing dimension:
<disp-formula id="eqn-7"><label>(7)</label><mml:math id="mml-eqn-7" display="block"><mml:msub><mml:mrow><mml:mi>&#x1D4A6;</mml:mi></mml:mrow><mml:mi>k</mml:mi></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mtext mathvariant="bold">A</mml:mtext></mml:mrow><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mtext mathvariant="bold">r</mml:mtext></mml:mrow><mml:mn>0</mml:mn></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mrow><mml:mtext>span</mml:mtext></mml:mrow><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mrow><mml:mtext mathvariant="bold">r</mml:mtext></mml:mrow><mml:mn>0</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mrow><mml:mtext mathvariant="bold">A</mml:mtext></mml:mrow><mml:msub><mml:mrow><mml:mtext mathvariant="bold">r</mml:mtext></mml:mrow><mml:mn>0</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:msup><mml:mrow><mml:mtext mathvariant="bold">A</mml:mtext></mml:mrow><mml:mn>2</mml:mn></mml:msup><mml:msub><mml:mrow><mml:mtext mathvariant="bold">r</mml:mtext></mml:mrow><mml:mn>0</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:msup><mml:mrow><mml:mtext mathvariant="bold">A</mml:mtext></mml:mrow><mml:mrow><mml:mi>k</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup><mml:msub><mml:mrow><mml:mtext mathvariant="bold">r</mml:mtext></mml:mrow><mml:mn>0</mml:mn></mml:msub><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></disp-formula>where <inline-formula id="ieqn-63"><mml:math id="mml-ieqn-63"><mml:msub><mml:mrow><mml:mtext mathvariant="bold">r</mml:mtext></mml:mrow><mml:mn>0</mml:mn></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mtext mathvariant="bold">b</mml:mtext></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mrow><mml:mtext mathvariant="bold">A</mml:mtext></mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">&#x03B4;</mml:mi><mml:mn>0</mml:mn></mml:msub></mml:math></inline-formula> is the initial residual. The goal is to minimize the <inline-formula id="ieqn-64"><mml:math id="mml-ieqn-64"><mml:mn>2</mml:mn></mml:math></inline-formula>-norm of the residual vector at each iteration:
<disp-formula id="eqn-8"><label>(8)</label><mml:math id="mml-eqn-8" display="block"><mml:mo fence="false" stretchy="false">&#x2016;</mml:mo><mml:mrow><mml:mtext mathvariant="bold">b</mml:mtext></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mrow><mml:mtext mathvariant="bold">A</mml:mtext></mml:mrow><mml:msup><mml:mi mathvariant="bold-italic">&#x03B4;</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>k</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msup><mml:msub><mml:mo fence="false" stretchy="false">&#x2016;</mml:mo><mml:mn>2</mml:mn></mml:msub><mml:mo>&#x2264;</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mi>&#x03B5;</mml:mi><mml:mo fence="false" stretchy="false">&#x2016;</mml:mo><mml:mrow><mml:mtext mathvariant="bold">b</mml:mtext></mml:mrow><mml:msub><mml:mo fence="false" stretchy="false">&#x2016;</mml:mo><mml:mn>2</mml:mn></mml:msub></mml:math></disp-formula>with a target tolerance <inline-formula id="ieqn-65"><mml:math id="mml-ieqn-65"><mml:mi>&#x03B5;</mml:mi><mml:mtext>&#x00A0;</mml:mtext><mml:mo>=</mml:mo><mml:msup><mml:mn>10</mml:mn><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>10</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula>.</p>
<p>To improve convergence, we introduce a left preconditioner <inline-formula id="ieqn-66"><mml:math id="mml-ieqn-66"><mml:msup><mml:mrow><mml:mtext mathvariant="bold">M</mml:mtext></mml:mrow><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula> such that:
<disp-formula id="eqn-9"><label>(9)</label><mml:math id="mml-eqn-9" display="block"><mml:msup><mml:mrow><mml:mtext mathvariant="bold">M</mml:mtext></mml:mrow><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup><mml:mrow><mml:mtext mathvariant="bold">A</mml:mtext></mml:mrow><mml:mi mathvariant="bold-italic">&#x03B4;</mml:mi><mml:mo>=</mml:mo><mml:msup><mml:mrow><mml:mtext mathvariant="bold">M</mml:mtext></mml:mrow><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup><mml:mrow><mml:mtext mathvariant="bold">b</mml:mtext></mml:mrow></mml:math></disp-formula>where, <inline-formula id="ieqn-67"><mml:math id="mml-ieqn-67"><mml:mrow><mml:mtext mathvariant="bold">M</mml:mtext></mml:mrow></mml:math></inline-formula> is constructed via ILU(0) factorization, where we approximate:
<disp-formula id="eqn-10"><label>(10)</label><mml:math id="mml-eqn-10" display="block"><mml:mrow><mml:mtext mathvariant="bold">A</mml:mtext></mml:mrow><mml:mo>&#x2248;</mml:mo><mml:mrow><mml:mtext mathvariant="bold">L</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="bold">U</mml:mtext></mml:mrow></mml:math></disp-formula>with <inline-formula id="ieqn-68"><mml:math id="mml-ieqn-68"><mml:mrow><mml:mtext mathvariant="bold">L</mml:mtext></mml:mrow></mml:math></inline-formula> and <inline-formula id="ieqn-69"><mml:math id="mml-ieqn-69"><mml:mrow><mml:mtext mathvariant="bold">U</mml:mtext></mml:mrow></mml:math></inline-formula> being sparse lower and upper triangular matrices that retain the sparsity pattern of <inline-formula id="ieqn-70"><mml:math id="mml-ieqn-70"><mml:mrow><mml:mtext mathvariant="bold">A</mml:mtext></mml:mrow></mml:math></inline-formula>.</p>
<p>During preconditioning, the residual update step becomes:
<disp-formula id="eqn-11"><label>(11)</label><mml:math id="mml-eqn-11" display="block"><mml:msup><mml:mrow><mml:mover><mml:mrow><mml:mtext mathvariant="bold">r</mml:mtext></mml:mrow><mml:mo stretchy="false">&#x007E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>k</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:msup><mml:mrow><mml:mtext mathvariant="bold">M</mml:mtext></mml:mrow><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mtext mathvariant="bold">b</mml:mtext></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mrow><mml:mtext mathvariant="bold">A</mml:mtext></mml:mrow><mml:msup><mml:mi mathvariant="bold-italic">&#x03B4;</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>k</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msup><mml:mo>)</mml:mo></mml:mrow></mml:math></disp-formula>and all matrix-vector products in the BiCGSTAB loop are replaced with operations involving <inline-formula id="ieqn-71"><mml:math id="mml-ieqn-71"><mml:msup><mml:mrow><mml:mtext mathvariant="bold">L</mml:mtext></mml:mrow><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula> and <inline-formula id="ieqn-72"><mml:math id="mml-ieqn-72"><mml:msup><mml:mrow><mml:mtext mathvariant="bold">U</mml:mtext></mml:mrow><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula>. Since these are triangular, they are solved via forward and backward substitution with cost <inline-formula id="ieqn-73"><mml:math id="mml-ieqn-73"><mml:mrow><mml:mi>&#x1D4AA;</mml:mi></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>n</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> per application.</p>
<p>To clearly illustrate the computational structure of the proposed preconditioned iterative solver for dynamic CEF estimation, the workflow is summarized in <xref ref-type="fig" rid="fig-3">Fig. 3</xref>. The process begins with the input and preprocessing of load and carbon factor data, followed by grid current calculations and the formation of a sparse linear equation system. An ILU preconditioner is then generated and further improved to enhance convergence efficiency. The solver computes the dynamic carbon factor iteratively and checks convergence at each step. Convergence is determined by either reaching the maximum number of iterations or satisfying a predefined residual threshold. If convergence is not reached, the solver performs dynamic updates to refine the grid currents and ILU preconditioner for the next iteration cycle.</p>
<fig id="fig-3">
<label>Figure 3</label>
<caption>
<title>Iterative workflow of ILU-preconditioned BiCGSTAB for dynamic carbon factor computation</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="EE_73240-fig-3.tif"/>
</fig>
</sec>
<sec id="s3_3">
<label>3.3</label>
<title>Numerical Efficiency and Reusability</title>
<p>A key advantage of BiCGSTAB with ILU(0) is the reusability of the ILU decomposition <inline-formula id="ieqn-74"><mml:math id="mml-ieqn-74"><mml:mrow><mml:mtext mathvariant="bold">A</mml:mtext></mml:mrow><mml:mo>&#x2248;</mml:mo><mml:mrow><mml:mtext mathvariant="bold">L</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="bold">U</mml:mtext></mml:mrow></mml:math></inline-formula> across multiple time steps. This is valid as long as the sparsity structure of <inline-formula id="ieqn-75"><mml:math id="mml-ieqn-75"><mml:mrow><mml:mtext mathvariant="bold">A</mml:mtext></mml:mrow></mml:math></inline-formula> does not change. This dramatically reduces the amortized cost of solving time-varying carbon emission problems.</p>
<p>Furthermore, the average iteration count for convergence is empirically bounded:
<disp-formula id="eqn-12"><label>(12)</label><mml:math id="mml-eqn-12" display="block"><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mrow><mml:mtext>avg</mml:mtext></mml:mrow></mml:mrow></mml:msub><mml:mo>&#x226A;</mml:mo><mml:mi>n</mml:mi></mml:math></disp-formula>which implies a total complexity of:
<disp-formula id="eqn-13"><label>(13)</label><mml:math id="mml-eqn-13" display="block"><mml:mrow><mml:mi>&#x1D4AA;</mml:mi></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mrow><mml:mtext>avg</mml:mtext></mml:mrow></mml:mrow></mml:msub><mml:mo>&#x22C5;</mml:mo><mml:mrow><mml:mtext>nnz</mml:mtext></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mtext mathvariant="bold">A</mml:mtext></mml:mrow><mml:mo stretchy="false">)</mml:mo><mml:mo stretchy="false">)</mml:mo></mml:math></disp-formula>per solve. Compared to the <inline-formula id="ieqn-76"><mml:math id="mml-ieqn-76"><mml:mrow><mml:mi>&#x1D4AA;</mml:mi></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msup><mml:mi>n</mml:mi><mml:mn>3</mml:mn></mml:msup><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> complexity of direct inversion, this leads to orders-of-magnitude improvement in execution time, especially for large grids.</p>
<p>The computational complexity of the proposed ILU-preconditioned BiCGSTAB solver per iteration is approximately <inline-formula id="ieqn-77"><mml:math id="mml-ieqn-77"><mml:mi>O</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mtext>nnz</mml:mtext><mml:mo stretchy="false">(</mml:mo><mml:mi>A</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo stretchy="false">)</mml:mo><mml:mo>+</mml:mo><mml:mi>O</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>n</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>, dominated by sparse matrix-vector multiplications and triangular substitutions. Since the average iteration count <inline-formula id="ieqn-78"><mml:math id="mml-ieqn-78"><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mtext>avg</mml:mtext></mml:mrow></mml:msub></mml:math></inline-formula> is much smaller than <inline-formula id="ieqn-79"><mml:math id="mml-ieqn-79"><mml:mi>n</mml:mi></mml:math></inline-formula>, the total cost for solving <inline-formula id="ieqn-80"><mml:math id="mml-ieqn-80"><mml:mi>A</mml:mi><mml:mi>&#x03B4;</mml:mi><mml:mo>=</mml:mo><mml:mi>b</mml:mi></mml:math></inline-formula> is <inline-formula id="ieqn-81"><mml:math id="mml-ieqn-81"><mml:mi>O</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mrow><mml:mtext>avg</mml:mtext></mml:mrow></mml:msub><mml:mo>&#x22C5;</mml:mo><mml:mtext>nnz</mml:mtext><mml:mo stretchy="false">(</mml:mo><mml:mi>A</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>, which scales almost linearly with system size. By comparison, direct inversion methods require <inline-formula id="ieqn-82"><mml:math id="mml-ieqn-82"><mml:mi>O</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msup><mml:mi>n</mml:mi><mml:mn>3</mml:mn></mml:msup><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> operations, and other Krylov solvers such as GMRES incur <inline-formula id="ieqn-83"><mml:math id="mml-ieqn-83"><mml:mi>O</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>k</mml:mi><mml:msup><mml:mi>n</mml:mi><mml:mn>2</mml:mn></mml:msup><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> cost due to orthogonalization. Therefore, the proposed method achieves high scalability and low memory usage, especially when combined with ILU preconditioning that enhances convergence and allows reuse across time steps.</p>
</sec>
<sec id="s3_4">
<label>3.4</label>
<title>Application to Carbon Emission Modeling</title>
<p>The solution <inline-formula id="ieqn-84"><mml:math id="mml-ieqn-84"><mml:msup><mml:mi mathvariant="bold-italic">&#x03B4;</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>k</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msup></mml:math></inline-formula> obtained at each time step <inline-formula id="ieqn-85"><mml:math id="mml-ieqn-85"><mml:msub><mml:mi>t</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:math></inline-formula> is directly used to calculate total emissions via:</p>
<p>Nodal emissions:
<disp-formula id="eqn-14"><label>(14)</label><mml:math id="mml-eqn-14" display="block"><mml:msub><mml:mi>E</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>L</mml:mi><mml:mo>,</mml:mo><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x22C5;</mml:mo><mml:msub><mml:mi>&#x03B4;</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></disp-formula></p>
<p>Branch losses:
<disp-formula id="eqn-15"><label>(15)</label><mml:math id="mml-eqn-15" display="block"><mml:msub><mml:mi>E</mml:mi><mml:mi>&#x2113;</mml:mi></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mrow><mml:mtext>loss</mml:mtext></mml:mrow><mml:mo>,</mml:mo><mml:mi>&#x2113;</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x22C5;</mml:mo><mml:msub><mml:mi>&#x03B4;</mml:mi><mml:mi>&#x2113;</mml:mi></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></disp-formula></p>
<p>Total daily emissions:
<disp-formula id="eqn-16"><label>(16)</label><mml:math id="mml-eqn-16" display="block"><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mrow><mml:mtext>total</mml:mtext></mml:mrow></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>k</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:msub><mml:mi>N</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:mrow></mml:munderover><mml:mrow><mml:mo>[</mml:mo><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:munderover><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>L</mml:mi><mml:mo>,</mml:mo><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mspace width="thinmathspace" /><mml:msub><mml:mi>&#x03B4;</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>+</mml:mo><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>&#x2113;</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:msub><mml:mi>n</mml:mi><mml:mrow><mml:mrow><mml:mtext>br</mml:mtext></mml:mrow></mml:mrow></mml:msub></mml:mrow></mml:munderover><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mrow><mml:mtext>loss</mml:mtext></mml:mrow><mml:mo>,</mml:mo><mml:mi>&#x2113;</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mspace width="thinmathspace" /><mml:msub><mml:mi>&#x03B4;</mml:mi><mml:mrow><mml:mi>&#x2113;</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>]</mml:mo></mml:mrow><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>t</mml:mi></mml:math></disp-formula></p>
<p>Thus, the proposed method forms the computational backbone for fast, high-resolution carbon emission analysis across a wide range of power system scenarios.</p>
</sec>
</sec>
<sec id="s4">
<label>4</label>
<title>Case Study</title>
<p>To verify the accuracy and computational efficiency of the proposed BiCGSTAB method with ILU preconditioning for CEF calculations, we conducted a series of numerical experiments based on publicly available synthetic power system cases developed by Texas A&#x0026;M University. These cases, known as ACTIVSg, represent power grids of varying sizes and structural complexity, designed to mimic the statistical and operational characteristics of real-world systems without exposing confidential data.</p>
<p>Specifically, four test cases were selected: ACTIVSg200 (approximately 200 buses), ACTIVSg500 (500 buses), ACTIVSg2000 (2000 buses), and ACTIVSg10k (10,000 buses). These systems simulate the regional grids of Central Illinois, South Carolina, Texas, and the Western United States, respectively. Each system features distinct levels of complexity in terms of topology, voltage levels, and area partitioning, ranging from a single-zone, three-voltage network to a 16-zone, multi-voltage structure including 500 kV down to 13.2 kV.</p>
<p><xref ref-type="table" rid="table-2">Table 2</xref> summarizes the basic characteristics of these four test cases, including the number of buses, loads, generators, and branch lines, as well as voltage levels and simulated geographical areas.</p>
<table-wrap id="table-2">
<label>Table 2</label>
<caption>
<title>Overview of ACTIVSg test systems</title>
</caption>
<table>
<colgroup>
<col align="center" width="13mm"/>
<col align="center" width="14mm"/>
<col align="center" width="13mm"/>
<col align="center" width="13mm"/>
<col align="center" width="15mm"/>
<col align="center" width="20mm"/>
<col align="center" width="13mm"/>
<col align="center" width="25mm"/> </colgroup>
<thead>
<tr>
<th>Case</th>
<th>Buses</th>
<th>Loads</th>
<th>Generators</th>
<th>Bus area</th>
<th>Voltage level (kV)</th>
<th>Branches</th>
<th>Geographical simulation area</th>
</tr>
</thead>
<tbody>
<tr>
<td>ACTIVSg200</td>
<td>200</td>
<td>108</td>
<td>49</td>
<td>1</td>
<td>230, 115, 13.8</td>
<td>245</td>
<td>Illinois</td>
</tr>
<tr>
<td>ACTIVSg500</td>
<td>500</td>
<td>200</td>
<td>90</td>
<td>1</td>
<td>345, 138, 13.8</td>
<td>597</td>
<td>South Carolina</td>
</tr>
<tr>
<td>ACTIVSg2000</td>
<td>2000</td>
<td>1125</td>
<td>544</td>
<td>8</td>
<td>500, 230, 161, 115, 24, 22, 20, 18, 13.8, 13.2</td>
<td>3206</td>
<td>Texas</td>
</tr>
<tr>
<td>ACTIVSg10k</td>
<td>10,000</td>
<td>4170</td>
<td>2485</td>
<td>16</td>
<td>500, 230, 161, 115, 24, 22, 20, 18, 13.8, 13.2</td>
<td>12706</td>
<td>Western United States</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>The test systems also incorporate diverse energy portfolios with varying carbon intensities. For instance, the ACTIVSg10k model includes 2485 generators using coal, natural gas, nuclear, hydro, wind, and solar energy. The average carbon emission factors for these energy types range from 0.0382 to 0.7175 <inline-formula id="ieqn-86"><mml:math id="mml-ieqn-86"><mml:mrow><mml:mi mathvariant="normal">t</mml:mi><mml:mi mathvariant="normal">C</mml:mi><mml:msub><mml:mi mathvariant="normal">O</mml:mi><mml:mn>2</mml:mn></mml:msub><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mi mathvariant="normal">M</mml:mi><mml:mi mathvariant="normal">W</mml:mi><mml:mi mathvariant="normal">h</mml:mi></mml:mrow></mml:math></inline-formula>. <xref ref-type="table" rid="table-3">Table 3</xref> provides a breakdown of generator types across all cases, alongside the emission factors used in our simulations.</p>
<table-wrap id="table-3">
<label>Table 3</label>
<caption>
<title>Generator fuel types and emission factors</title>
</caption>
<table>
<colgroup>
<col align="center" width="14mm"/>
<col align="center" width="25mm"/>
<col align="center" width="16mm"/>
<col align="center" width="16mm"/>
<col align="center" width="16mm"/>
<col align="center" width="18mm"/>
<col align="center" width="14mm"/> </colgroup>
<thead>
<tr>
<th>Energy sources</th>
<th>Carbon emission factor (<inline-formula id="ieqn-87"><mml:math id="mml-ieqn-87"><mml:mrow><mml:mi mathvariant="normal">t</mml:mi><mml:mi mathvariant="normal">C</mml:mi><mml:msub><mml:mi mathvariant="normal">O</mml:mi><mml:mn>2</mml:mn></mml:msub><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mi mathvariant="normal">M</mml:mi><mml:mi mathvariant="normal">W</mml:mi><mml:mi mathvariant="normal">h</mml:mi></mml:mrow></mml:math></inline-formula>)</th>
<th>ACTIVSg200</th>
<th>ACTIVSg500</th>
<th>ACTIVSg2000</th>
<th>ACTIVSg10k</th>
<th>Reference</th>
</tr>
</thead>
<tbody>
<tr>
<td>Coal</td>
<td>0.7175</td>
<td>25</td>
<td>15</td>
<td>39</td>
<td>156</td>
<td>[<xref ref-type="bibr" rid="ref-12">12</xref>,<xref ref-type="bibr" rid="ref-13">13</xref>]</td>
</tr>
<tr>
<td>Natural Gas</td>
<td>0.4845</td>
<td>17</td>
<td>30</td>
<td>367</td>
<td>974</td>
<td>[<xref ref-type="bibr" rid="ref-12">12</xref>,<xref ref-type="bibr" rid="ref-13">13</xref>]</td>
</tr>
<tr>
<td>Hydro</td>
<td>0.0382</td>
<td>0</td>
<td>39</td>
<td>25</td>
<td>715</td>
<td>[<xref ref-type="bibr" rid="ref-14">14</xref>&#x2013;<xref ref-type="bibr" rid="ref-16">16</xref>]</td>
</tr>
<tr>
<td>Solar</td>
<td>0.0791</td>
<td>0</td>
<td>1</td>
<td>22</td>
<td>391</td>
<td>[<xref ref-type="bibr" rid="ref-17">17</xref>,<xref ref-type="bibr" rid="ref-18">18</xref>]</td>
</tr>
<tr>
<td>Wind</td>
<td>0.0383</td>
<td>6</td>
<td>0</td>
<td>87</td>
<td>243</td>
<td>[<xref ref-type="bibr" rid="ref-19">19</xref>&#x2013;<xref ref-type="bibr" rid="ref-21">21</xref>]</td>
</tr>
<tr>
<td>Nuclear</td>
<td>0.0603</td>
<td>1</td>
<td>5</td>
<td>4</td>
<td>6</td>
<td>[<xref ref-type="bibr" rid="ref-22">22</xref>,<xref ref-type="bibr" rid="ref-23">23</xref>]</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>Based on the above settings, we calculated the total daily carbon emissions for each system using the BiCGSTAB method. These simulations span 96 time steps (every 15 min over 24 h), covering both nodal injection losses and branch transmission losses. <xref ref-type="table" rid="table-4">Table 4</xref> reports the results.</p>
<table-wrap id="table-4">
<label>Table 4</label>
<caption>
<title>Daily carbon emissions from ACTIVSg systems</title>
</caption>
<table>
<colgroup>
<col align="center" width="17mm"/>
<col align="center" width="17mm"/>
<col align="center" width="17mm"/>
<col align="center" width="30mm"/>
<col align="center" width="30mm"/>
<col align="center" width="30mm"/> </colgroup>
<thead>
<tr>
<th>Power grid case</th>
<th>Time steps</th>
<th>Time interval</th>
<th>Node emissions (<inline-formula id="ieqn-88"><mml:math id="mml-ieqn-88"><mml:mrow><mml:mi mathvariant="normal">t</mml:mi><mml:mi mathvariant="normal">C</mml:mi><mml:msub><mml:mi mathvariant="normal">O</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>)</th>
<th>Branch emissions (<inline-formula id="ieqn-89"><mml:math id="mml-ieqn-89"><mml:mrow><mml:mi mathvariant="normal">t</mml:mi><mml:mi mathvariant="normal">C</mml:mi><mml:msub><mml:mi mathvariant="normal">O</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>)</th>
<th>Total daily emissions (<inline-formula id="ieqn-90"><mml:math id="mml-ieqn-90"><mml:mrow><mml:mi mathvariant="normal">t</mml:mi><mml:mi mathvariant="normal">C</mml:mi><mml:msub><mml:mi mathvariant="normal">O</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>)</th>
</tr>
</thead>
<tbody>
<tr>
<td>ACTIVSg200</td>
<td>96</td>
<td>15 min</td>
<td>10,676.44</td>
<td>62.08</td>
<td>10,738.52</td>
</tr>
<tr>
<td>ACTIVSg500</td>
<td>96</td>
<td>15 min</td>
<td>34,403.31</td>
<td>321.93</td>
<td>34,725.24</td>
</tr>
<tr>
<td>ACTIVSg2000</td>
<td>96</td>
<td>15 min</td>
<td>656,068.33</td>
<td>19,678.19</td>
<td>675,746.52</td>
</tr>
<tr>
<td>ACTIVSg10k</td>
<td>96</td>
<td>15 min</td>
<td>1,270,143.48</td>
<td>25,714.12</td>
<td>1,295,857.61</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>To validate the numerical accuracy of the proposed BiCGSTAB algorithm with ILU preconditioning, a comparison was conducted against the direct matrix inversion (inv) method. As shown in <xref ref-type="fig" rid="fig-4">Fig. 4</xref>, the carbon emission factor curves calculated by both methods over a 24-h period exhibit an exact match, demonstrating that the iterative solver achieves high numerical accuracy consistent with the direct solution. The results confirm that BiCGSTAB is suitable for reliable CEF estimation in power system applications.</p>
<fig id="fig-4">
<label>Figure 4</label>
<caption>
<title>Comparison of carbon emission factor calculated by BiCGSTAB and matrix inversion methods over 24 h</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="EE_73240-fig-4.tif"/>
</fig>
<p>Using the BiCGSTAB method, we further computed the total carbon emissions of the ACTIVSg200 system over a full day (96 time intervals). The result, illustrated in <xref ref-type="fig" rid="fig-5">Fig. 5</xref>, shows the temporal variation of aggregate emissions measured in tons of <inline-formula id="ieqn-91"><mml:math id="mml-ieqn-91"><mml:mrow><mml:mi mathvariant="normal">C</mml:mi><mml:msub><mml:mi mathvariant="normal">O</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> (<inline-formula id="ieqn-92"><mml:math id="mml-ieqn-92"><mml:mrow><mml:mi mathvariant="normal">t</mml:mi><mml:mi mathvariant="normal">C</mml:mi><mml:msub><mml:mi mathvariant="normal">O</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>). The carbon emission profile reflects a clear diurnal pattern, with two prominent peaks occurring in the morning and evening hours, consistent with typical load demand cycles.</p>
<fig id="fig-5">
<label>Figure 5</label>
<caption>
<title>Total carbon emissions calculated by BiCGSTAB in the ACTIVSg200 system over 24 h</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="EE_73240-fig-5.tif"/>
</fig>
<p>To further evaluate the efficiency and robustness of the proposed BiCGSTAB algorithm on large-scale systems, we performed comparative experiments using the ACTIVSg10k case, which contains 10,000 buses and over 12,000 branches. Four commonly used iterative solvers were selected for comparison: least squares QR (LSQR), conjugate gradient squared (CGS), BiCGSTAB, and generalized minimum residual (GMRES).</p>
<p>We standardize solver parameters to ensure a fair comparison across methods. All iterative solvers terminate when the relative residual <inline-formula id="ieqn-93"><mml:math id="mml-ieqn-93"><mml:mo fence="false" stretchy="false">&#x2016;</mml:mo><mml:mrow><mml:mtext mathvariant="bold">b</mml:mtext></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mrow><mml:mtext mathvariant="bold">A</mml:mtext></mml:mrow><mml:mrow><mml:mtext mathvariant="bold">x</mml:mtext></mml:mrow><mml:mo fence="false" stretchy="false">&#x2016;</mml:mo><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mo fence="false" stretchy="false">&#x2016;</mml:mo><mml:mrow><mml:mtext mathvariant="bold">b</mml:mtext></mml:mrow><mml:mo fence="false" stretchy="false">&#x2016;</mml:mo><mml:mo>&#x2264;</mml:mo><mml:msup><mml:mn>10</mml:mn><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>21</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula> or when the iteration cap of 5000 is reached. GMRES uses a restart parameter of <inline-formula id="ieqn-94"><mml:math id="mml-ieqn-94"><mml:mi>m</mml:mi><mml:mo>=</mml:mo><mml:mn>50</mml:mn></mml:math></inline-formula>. The initial guess is <inline-formula id="ieqn-95"><mml:math id="mml-ieqn-95"><mml:msub><mml:mrow><mml:mtext mathvariant="bold">x</mml:mtext></mml:mrow><mml:mn>0</mml:mn></mml:msub><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:math></inline-formula> for all methods. These settings follow common practice and were chosen to make the numerical error negligible relative to the dynamic CEF variability, so that differences in iteration counts and computation time primarily reflect conditioning and preconditioning effects. <xref ref-type="fig" rid="fig-6">Fig. 6</xref> illustrates the convergence trajectories of the four solvers, measured in terms of numerical error (log-scale). Although the horizontal axis shows 9 outer iterations for comparison purposes, it should be noted that GMRES actually performed a total of 59 iterations due to its restart mechanism (i.e., one outer cycle corresponds to 50 inner iterations plus additional steps), whereas BiCGSTAB, CGS, and LSQR iterated 9 times as shown. It is evident that BiCGSTAB demonstrates the fastest and most stable convergence, reaching machine-level precision within only 7 iterations. CGS also shows good convergence performance, though with slightly higher residuals at some steps. GMRES achieves high accuracy as well, but this comes at the cost of significantly more total iterations. By contrast, LSQR converges very slowly and fails to reach even moderate accuracy after 9 iterations.</p>
<fig id="fig-6">
<label>Figure 6</label>
<caption>
<title>Convergence accuracy of BiCGSTAB, CGS, GMRES, and LSQR over 9 iterations on the ACTIVSg10k system. BiCGSTAB converges fastest to high precision</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="EE_73240-fig-6.tif"/>
</fig>
<p>To assess time stability across multiple trials, <xref ref-type="fig" rid="fig-7">Fig. 7</xref> shows a boxplot comparing the execution time range of the four iterative methods over repeated runs on the 10k system. BiCGSTAB not only exhibits the lowest average runtime but also the narrowest variance, indicating both high computational speed and consistency. In contrast, LSQR shows the largest variability and longest tail, suggesting it is less reliable under large-scale sparse matrix conditions.</p>
<fig id="fig-7">
<label>Figure 7</label>
<caption>
<title>Runtime statistics of iterative solvers (boxplot). BiCGSTAB shows the lowest average runtime and best stability among all methods</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="EE_73240-fig-7.tif"/>
</fig>
<p>To evaluate solver scalability, <xref ref-type="fig" rid="fig-8">Fig. 8</xref> compares the solution time of each method as system size increases. All solvers show rising computation time with larger grids, but BiCGSTAB grows the slowest, maintaining the shortest runtime across all cases. In contrast, LSQR scales poorly, with its time increasing steeply in the 10k case. This confirms that BiCGSTAB offers not only accuracy and stability but also excellent scalability for large-scale applications.</p>
<fig id="fig-8">
<label>Figure 8</label>
<caption>
<title>Solver runtime vs. system size. BiCGSTAB shows the best scalability performance</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="EE_73240-fig-8.tif"/>
</fig>
<p>In order to quantitatively illustrate the performance trends observed in <xref ref-type="fig" rid="fig-6">Figs. 6</xref>&#x2013;<xref ref-type="fig" rid="fig-9">9</xref>, detailed numerical results are summarized in <xref ref-type="table" rid="table-5">Tables 5</xref> and <xref ref-type="table" rid="table-6">6</xref>. <xref ref-type="table" rid="table-5">Table 5</xref> lists the convergence accuracy evolution of each iterative solver across nine iterations, while <xref ref-type="table" rid="table-6">Table 6</xref> reports the computation time of the proposed ILU-preconditioned BiCGSTAB and other solvers under different power grid scales. These tables provide clear numerical evidence supporting the observed trends in convergence, stability, and scalability.</p>
<fig id="fig-9">
<label>Figure 9</label>
<caption>
<title>Computation-time benefits of ILU preconditioner reuse in dynamic ECF. (<bold>a</bold>) Total time across four systems; (<bold>b</bold>) Speedup due to reuse (with/without first build); (<bold>c</bold>) Time breakdown over 96 periods (case_ACTIVSg200); (<bold>d</bold>) Time saving percentage across systems</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="EE_73240-fig-9.tif"/>
</fig><table-wrap id="table-5">
<label>Table 5</label>
<caption>
<title>Convergence accuracy of iterative solvers across iterations (<inline-formula id="ieqn-96"><mml:math id="mml-ieqn-96"><mml:msub><mml:mi>tCO</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:math></inline-formula>)</title>
</caption>
<table>
<colgroup>
<col align="center" width="20mm"/>
<col align="center" width="20mm"/>
<col align="center" width="20mm"/>
<col align="center" width="20mm"/>
<col align="center" width="20mm"/> </colgroup>
<thead>
<tr>
<th>Iteration</th>
<th>bicgstab</th>
<th>cgs</th>
<th>gmres</th>
<th>lsqr</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>2.88E&#x002B;03</td>
<td>2.88E&#x002B;03</td>
<td>3.79E&#x002B;01</td>
<td>2.88E&#x002B;03</td>
</tr>
<tr>
<td>2</td>
<td>1.94E&#x002B;00</td>
<td>3.70E&#x2212;03</td>
<td>1.05E&#x2212;02</td>
<td>2.06E&#x002B;00</td>
</tr>
<tr>
<td>3</td>
<td>1.72E&#x2212;03</td>
<td>3.91E&#x2212;08</td>
<td>2.42E&#x2212;05</td>
<td>4.01E&#x2212;01</td>
</tr>
<tr>
<td>4</td>
<td>5.14E&#x2212;06</td>
<td>6.11E&#x2212;11</td>
<td>4.61E&#x2212;08</td>
<td>1.20E&#x2212;01</td>
</tr>
<tr>
<td>5</td>
<td>9.67E&#x2212;09</td>
<td>1.35E&#x2212;11</td>
<td>8.51E&#x2212;11</td>
<td>1.20E&#x2212;01</td>
</tr>
<tr>
<td>6</td>
<td>3.26E&#x2212;12</td>
<td>6.12E&#x2212;11</td>
<td>1.05E&#x2212;13</td>
<td>3.38E&#x2212;02</td>
</tr>
<tr>
<td>7</td>
<td>3.34E&#x2212;13</td>
<td>2.44E&#x2212;10</td>
<td>5.08E&#x2212;14</td>
<td>8.96E&#x2212;03</td>
</tr>
<tr>
<td>8</td>
<td>1.56E&#x2212;12</td>
<td>5.49E&#x2212;10</td>
<td>5.08E&#x2212;14</td>
<td>3.06E&#x2212;03</td>
</tr>
<tr>
<td>9</td>
<td>1.00E&#x2212;12</td>
<td>9.73E&#x2212;10</td>
<td>5.08E&#x2212;14</td>
<td>2.63E&#x2212;03</td>
</tr>
</tbody>
</table>
</table-wrap><table-wrap id="table-6">
<label>Table 6</label>
<caption>
<title>Computation time of different solvers under various power grid scales</title>
</caption>
<table>
<colgroup>
<col align="center" width="17mm"/>
<col align="center" width="24mm"/>
<col align="center" width="24mm"/>
<col align="center" width="17mm"/>
<col align="center" width="17mm"/>
<col align="center" width="17mm"/> </colgroup>
<thead>
<tr>
<th>Power grid case</th>
<th>inv (s)</th>
<th>bicgstab (s)</th>
<th>cgs (s)</th>
<th>gmres (s)</th>
<th>lsqr (s)</th>
</tr>
</thead>
<tbody>
<tr>
<td>ACTIVSg200</td>
<td>1.35E&#x2212;03</td>
<td>7.58E&#x2212;04</td>
<td>7.06E&#x2212;04</td>
<td>1.25E&#x2212;03</td>
<td>1.02E&#x2212;03</td>
</tr>
<tr>
<td>ACTIVSg500</td>
<td>4.00E&#x2212;03</td>
<td>1.08E&#x2212;03</td>
<td>8.54E&#x2212;04</td>
<td>1.72E&#x2212;03</td>
<td>1.37E&#x2212;03</td>
</tr>
<tr>
<td>ACTIVSg2000</td>
<td>7.66E&#x2212;02</td>
<td>1.95E&#x2212;03</td>
<td>1.91E&#x2212;03</td>
<td>3.16E&#x2212;03</td>
<td>3.65E&#x2212;03</td>
</tr>
<tr>
<td>ACTIVSg10k</td>
<td>8.02E&#x002B;00</td>
<td>1.31E&#x2212;02</td>
<td>2.39E&#x2212;02</td>
<td>2.67E&#x2212;02</td>
<td>4.78E&#x2212;02</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>As shown in <xref ref-type="table" rid="table-5">Table 5</xref>, the ILU-preconditioned BiCGSTAB solver exhibits a monotonic residual reduction from <inline-formula id="ieqn-97"><mml:math id="mml-ieqn-97"><mml:mn>2.88</mml:mn><mml:mo>&#x00D7;</mml:mo><mml:msup><mml:mn>10</mml:mn><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msup><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mrow><mml:mtext>tCO</mml:mtext></mml:mrow><mml:mn>2</mml:mn></mml:msub></mml:math></inline-formula> to <inline-formula id="ieqn-98"><mml:math id="mml-ieqn-98"><mml:mn>1.00</mml:mn><mml:mo>&#x00D7;</mml:mo><mml:msup><mml:mn>10</mml:mn><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>12</mml:mn></mml:mrow></mml:msup><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mrow><mml:mtext>tCO</mml:mtext></mml:mrow><mml:mn>2</mml:mn></mml:msub></mml:math></inline-formula> within seven iterations, confirming fast and stable convergence. In contrast, LSQR stagnates at <inline-formula id="ieqn-99"><mml:math id="mml-ieqn-99"><mml:mn>2.63</mml:mn><mml:mo>&#x00D7;</mml:mo><mml:msup><mml:mn>10</mml:mn><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>3</mml:mn></mml:mrow></mml:msup><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mrow><mml:mtext>tCO</mml:mtext></mml:mrow><mml:mn>2</mml:mn></mml:msub></mml:math></inline-formula>, indicating poor convergence. Similarly, <xref ref-type="table" rid="table-6">Table 6</xref> demonstrates that BiCGSTAB achieves the shortest runtime across all cases&#x2014;from <inline-formula id="ieqn-100"><mml:math id="mml-ieqn-100"><mml:mn>7.58</mml:mn><mml:mo>&#x00D7;</mml:mo><mml:msup><mml:mn>10</mml:mn><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>4</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula> s in the 200-node system to 0.0131 s in the 10 000-node system&#x2014;while other solvers such as LSQR (0.0478 s), GMRES (0.0267 s), CGS (0.0239 s) scale more poorly. These results quantitatively verify that the proposed method maintains excellent accuracy, stability, and scalability for large-scale dynamic CEF calculations.</p>

<p>As shown in <xref ref-type="fig" rid="fig-9">Fig. 9</xref>, we compare two strategies across 96 time periods for four benchmark systems (200, 500, 2000, and 10k buses): (i) re-factorization at every time step and (ii) reuse of the ILU factors computed at the first time step. For completeness, two reuse scenarios are reported: Strategy-1 includes the one-off initial factorization cost; Strategy-2 excludes it (ideal reuse). Totals over 96 periods are as follows:
<list list-type="bullet">
<list-item>
<p><bold>case_ACTIVSg200:</bold> re-factorization 0.065844 s; reuse-1 0.059550 s (9.56% saving; <inline-formula id="ieqn-101"><mml:math id="mml-ieqn-101"><mml:mn>1.11</mml:mn><mml:mo>&#x00D7;</mml:mo></mml:math></inline-formula>); reuse-2 0.059367 s (9.84% saving; <inline-formula id="ieqn-102"><mml:math id="mml-ieqn-102"><mml:mn>1.11</mml:mn><mml:mo>&#x00D7;</mml:mo></mml:math></inline-formula>).</p></list-item>
<list-item>
<p><bold>case_ACTIVSg500:</bold> re-factorization 0.077042 s; reuse-1 0.066552 s (13.62% saving; <inline-formula id="ieqn-103"><mml:math id="mml-ieqn-103"><mml:mn>1.16</mml:mn><mml:mo>&#x00D7;</mml:mo></mml:math></inline-formula>); reuse-2 0.066203 s (14.07% saving; <inline-formula id="ieqn-104"><mml:math id="mml-ieqn-104"><mml:mn>1.16</mml:mn><mml:mo>&#x00D7;</mml:mo></mml:math></inline-formula>).</p></list-item>
<list-item>
<p><bold>case_ACTIVSg2000:</bold> re-factorization 0.167054 s; reuse-1 0.122449 s (26.70% saving; <inline-formula id="ieqn-105"><mml:math id="mml-ieqn-105"><mml:mn>1.36</mml:mn><mml:mo>&#x00D7;</mml:mo></mml:math></inline-formula>); reuse-2 0.121833 s (27.07% saving; <inline-formula id="ieqn-106"><mml:math id="mml-ieqn-106"><mml:mn>1.37</mml:mn><mml:mo>&#x00D7;</mml:mo></mml:math></inline-formula>).</p></list-item>
<list-item>
<p><bold>case_ACTIVSg10k:</bold> re-factorization 1.231801 s; reuse-1 1.095325 s (11.08% saving; <inline-formula id="ieqn-107"><mml:math id="mml-ieqn-107"><mml:mn>1.12</mml:mn><mml:mo>&#x00D7;</mml:mo></mml:math></inline-formula>); reuse-2 1.093756 s (11.21% saving; <inline-formula id="ieqn-108"><mml:math id="mml-ieqn-108"><mml:mn>1.13</mml:mn><mml:mo>&#x00D7;</mml:mo></mml:math></inline-formula>).</p></list-item>
</list></p>
<p>The data show consistent time savings (<inline-formula id="ieqn-109"><mml:math id="mml-ieqn-109"><mml:mo>&#x2248;</mml:mo><mml:mspace width="negativethinmathspace" /><mml:mn>10</mml:mn><mml:mi mathvariant="normal">&#x0025;</mml:mi></mml:math></inline-formula>&#x2013;<inline-formula id="ieqn-110"><mml:math id="mml-ieqn-110"><mml:mn>27</mml:mn><mml:mi mathvariant="normal">&#x0025;</mml:mi></mml:math></inline-formula>) and speedups (<inline-formula id="ieqn-111"><mml:math id="mml-ieqn-111"><mml:mo>&#x2248;</mml:mo><mml:mspace width="negativethinmathspace" /><mml:mn>1.11</mml:mn></mml:math></inline-formula>&#x2013;<inline-formula id="ieqn-112"><mml:math id="mml-ieqn-112"><mml:mn>1.37</mml:mn><mml:mo>&#x00D7;</mml:mo></mml:math></inline-formula>) across scales. Factorization time remains stable over time, whereas solve time varies mildly with loading, which supports the practicality of reusing ILU factors in dynamic multi-period computation.</p>
<p>It is worth noting that the direct inverse method is not shown in the boxplot because its execution time was prohibitively long&#x2014;averaging around 8 s per solve, which makes it impractical for large-scale dynamic carbon emission analysis.</p>
<p>Beyond the computational performance demonstrated above, the proposed ILU-preconditioned BiCGSTAB framework enables real-time and high-resolution CEF estimation even in large-scale nodal systems, which is essential for practical carbon management and policy applications. The ability to compute accurate emission factors across thousands of nodes within seconds allows system operators and regulators to track carbon flows dynamically and make timely, data-driven decisions. Such fast and scalable CEF calculations can significantly enhance regional emission accounting accuracy, support carbon pricing and emission trading mechanisms, and facilitate low-carbon dispatch and planning strategies in power systems of increasing complexity. These broader applications will be further explored in future studies integrating the proposed computational method with carbon policy and operational decision models.</p>
</sec>
<sec id="s5">
<label>5</label>
<title>Conclusion</title>
<p>This paper presents a fast and scalable method for calculating dynamic carbon emission factors (CEFs) in large-scale power systems using the ILU-preconditioned BiCGSTAB iterative solver. The proposed method effectively overcomes the computational limitations of traditional matrix inversion techniques, achieving significant improvements in both efficiency and scalability. Numerical results show that the BiCGSTAB solver with ILU preconditioning provides accurate and rapid CEF calculations, making it suitable for real-time carbon emission analysis in large power grids.</p>
<p>Compared with conventional direct solvers, the proposed approach achieves faster convergence and lower computational costs, particularly in dynamic grid scenarios involving multiple time intervals and large-scale systems. This work contributes to the field by introducing an efficient iterative framework for calculating dynamic CEFs, which can be applied to various power system configurations and support carbon emission monitoring and reduction strategies.</p>
<p>The case studies are based on synthetic ACTIVSg test systems, which accurately represent the structural and operational characteristics of real power grids. However, real-world data may contain measurement noise and missing information that could affect model accuracy. This limitation will be addressed in future work to enhance the robustness of the proposed method under practical operating conditions.</p>
<p>It should also be noted that the performance of the algorithm can be sensitive to the choice of preconditioner parameters. Future studies will explore adaptive or optimized preconditioning strategies to improve convergence stability under different grid conditions. Furthermore, future research will focus on integrating the proposed CEF model with renewable energy forecasting and real-time dispatch frameworks to support carbon-aware grid operations. The method may also be extended to multi-energy systems to analyze interactive carbon flows among electricity, heat, and gas networks, thereby strengthening its role in low-carbon system planning and operation.</p>
</sec>
</body>
<back>
<ack>
<p>Not applicable.</p>
</ack>
<sec>
<title>Funding Statement</title>
<p>This work was supported by the Science and Technology Project of China Southern Power Grid Co., Ltd. (031900KC24040022 (GDKJXM20240391)).</p>
</sec>
<sec>
<title>Author Contributions</title>
<p>The authors confirm contribution to the paper as follows: Conceptualization, Lihua Zhong and Xiaoshun Zhang; methodology, Lihua Zhong; validation, Lihua Zhong, Feng Pan and Yuyao Yang; formal analysis, Lihua Zhong; resources, Lei Feng and Jinghe Jiang; data curation, Guo Lin; writing&#x2014;original draft preparation, Lihua Zhong; writing&#x2014;review and editing, Lihua Zhong; visualization, Yuyao Yang; supervision, Xiaoshun Zhang. All authors reviewed the results and approved the final version of the manuscript.</p>
</sec>
<sec sec-type="data-availability">
<title>Availability of Data and Materials</title>
<p>The data presented in this study are available on request from the corresponding author.</p>
</sec>
<sec>
<title>Ethics Approval</title>
<p>Not applicable.</p>
</sec>
<sec sec-type="COI-statement">
<title>Conflicts of Interest</title>
<p>The authors declare no conflicts of interest to report regarding the present study.</p>
</sec>
<glossary content-type="abbreviations" id="glossary-1">
<title>Abbreviations</title>
<def-list>
<def-item>
<term>CEF</term>
<def>
<p>Carbon emissionfactors</p>
</def>
</def-item>
<def-item>
<term>ILU</term>
<def>
<p>Incomplete LU</p>
</def>
</def-item>
<def-item>
<term>BiCGSTAB</term>
<def>
<p>Biconjugate gradient stabilized</p>
</def>
</def-item>
</def-list>
</glossary>
<ref-list content-type="authoryear">
<title>References</title>
<ref id="ref-1"><label>[1]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Cheng</surname> <given-names>Y</given-names></string-name>, <string-name><surname>Zhang</surname> <given-names>N</given-names></string-name>, <string-name><surname>Kang</surname> <given-names>C</given-names></string-name></person-group>. <article-title>Carbon emission flow: from electricity network to multiple energy systems</article-title>. <source>Global Energy Interconnect</source>. <year>2018</year>;<volume>1</volume>(<issue>4</issue>):<fpage>500</fpage>&#x2013;<lpage>6</lpage>. doi:<pub-id pub-id-type="doi">10.14171/j.2096-5117.gei.2018.04.010</pub-id>.</mixed-citation></ref>
<ref id="ref-2"><label>[2]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Song</surname> <given-names>J</given-names></string-name>, <string-name><surname>Chen</surname> <given-names>X</given-names></string-name>, <string-name><surname>Lu</surname> <given-names>C</given-names></string-name>, <string-name><surname>Shi</surname> <given-names>X</given-names></string-name>, <string-name><surname>Yan</surname> <given-names>Y</given-names></string-name>, <string-name><surname>Zhang</surname> <given-names>S</given-names></string-name></person-group>. <article-title>High-speed rail electric traction carbon emission calculation method based on carbon flow theory</article-title>. <source>IEEE Access</source>. <year>2024</year>;<volume>12</volume>:<fpage>102096</fpage>&#x2013;<lpage>110</lpage>. doi:<pub-id pub-id-type="doi">10.1109/access.2024.3425911</pub-id>.</mixed-citation></ref>
<ref id="ref-3"><label>[3]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Wang</surname> <given-names>Y</given-names></string-name>, <string-name><surname>Qiu</surname> <given-names>J</given-names></string-name>, <string-name><surname>Tao</surname> <given-names>Y</given-names></string-name>, <string-name><surname>Zhao</surname> <given-names>J</given-names></string-name></person-group>. <article-title>Carbon-oriented operational planning in coupled electricity and emission trading markets</article-title>. <source>IEEE Trans Power Syst</source>. <year>2020</year>;<volume>35</volume>(<issue>4</issue>):<fpage>3145</fpage>&#x2013;<lpage>57</lpage>. doi:<pub-id pub-id-type="doi">10.1109/tpwrs.2020.2966663</pub-id>.</mixed-citation></ref>
<ref id="ref-4"><label>[4]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Zhang</surname> <given-names>X</given-names></string-name>, <string-name><surname>Guo</surname> <given-names>Z</given-names></string-name>, <string-name><surname>Pan</surname> <given-names>F</given-names></string-name>, <string-name><surname>Yang</surname> <given-names>Y</given-names></string-name>, <string-name><surname>Li</surname> <given-names>C</given-names></string-name></person-group>. <article-title>Dynamic carbon emission factor based interactive control of distribution network by a generalized regression neural network assisted optimization</article-title>. <source>Energy</source>. <year>2023</year>;<volume>283</volume>:<fpage>129132</fpage>. doi:<pub-id pub-id-type="doi">10.1016/j.energy.2023.129132</pub-id>.</mixed-citation></ref>
<ref id="ref-5"><label>[5]</label><mixed-citation publication-type="other"><person-group person-group-type="author"><string-name><surname>Chen</surname> <given-names>X</given-names></string-name>, <string-name><surname>Chao</surname> <given-names>H</given-names></string-name>, <string-name><surname>Shi</surname> <given-names>W</given-names></string-name>, <string-name><surname>Li</surname> <given-names>N</given-names></string-name></person-group>. <article-title>Towards carbon-free electricity: a flow-based framework for power grid carbon accounting and decarbonization</article-title>. <comment>arXiv:2308.03268</comment>. <year>2023</year>.</mixed-citation></ref>
<ref id="ref-6"><label>[6]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Zhu</surname> <given-names>X</given-names></string-name>, <string-name><surname>Liu</surname> <given-names>Z</given-names></string-name>, <string-name><surname>Shen</surname> <given-names>R</given-names></string-name>, <string-name><surname>Wang</surname> <given-names>Q</given-names></string-name>, <string-name><surname>Tang</surname> <given-names>A</given-names></string-name>, <string-name><surname>You</surname> <given-names>X</given-names></string-name>, <etal>et al</etal></person-group>. <article-title>Research on an improved carbon emission flow model considering electric vehicle charging fluctuation and hybrid power transaction</article-title>. <source>Energies</source>. <year>2023</year>;<volume>16</volume>(<issue>19</issue>):<fpage>6835</fpage>. doi:<pub-id pub-id-type="doi">10.3390/en16196835</pub-id>.</mixed-citation></ref>
<ref id="ref-7"><label>[7]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Wang</surname> <given-names>K</given-names></string-name>, <string-name><surname>Ye</surname> <given-names>M</given-names></string-name>, <string-name><surname>Liu</surname> <given-names>Y</given-names></string-name></person-group>. <article-title>Parallel method for establishing the state-space equations of power systems</article-title>. <source>J Zhengzhou Univ (Eng Sci Edit)</source>. <year>2021</year>;<volume>42</volume>(<issue>1</issue>):<fpage>15</fpage>&#x2013;<lpage>20</lpage>. (In Chinese).</mixed-citation></ref>
<ref id="ref-8"><label>[8]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Feng</surname> <given-names>J</given-names></string-name>, <string-name><surname>Li</surname> <given-names>Y</given-names></string-name>, <string-name><surname>Li</surname> <given-names>Z</given-names></string-name>, <string-name><surname>Jia</surname> <given-names>K</given-names></string-name></person-group>. <article-title>BLT fast parallel forward method combining preconditioned BiCGStab and CUDA</article-title>. <source>J Beijing Univ Technol</source>. <year>2017</year>;<volume>43</volume>(<issue>11</issue>):<fpage>1658</fpage>&#x2013;<lpage>65</lpage>. (In Chinese).</mixed-citation></ref>
<ref id="ref-9"><label>[9]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>&#x015A;wirydowicz</surname> <given-names>K</given-names></string-name>, <string-name><surname>Darve</surname> <given-names>E</given-names></string-name>, <string-name><surname>Jones</surname> <given-names>W</given-names></string-name>, <string-name><surname>Maack</surname> <given-names>J</given-names></string-name>, <string-name><surname>Regev</surname> <given-names>S</given-names></string-name>, <string-name><surname>Saunders</surname> <given-names>MA</given-names></string-name>, <etal>et al</etal></person-group>. <article-title>Linear solvers for power grid optimization problems: a review of GPU-accelerated linear solvers</article-title>. <source>Parallel Comput</source>. <year>2022</year>;<volume>111</volume>(<issue>1</issue>):<fpage>102870</fpage>. doi:<pub-id pub-id-type="doi">10.1016/j.parco.2021.102870</pub-id>.</mixed-citation></ref>
<ref id="ref-10"><label>[10]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Li</surname> <given-names>X</given-names></string-name>, <string-name><surname>Li</surname> <given-names>F</given-names></string-name>, <string-name><surname>Yuan</surname> <given-names>H</given-names></string-name>, <string-name><surname>Cui</surname> <given-names>H</given-names></string-name>, <string-name><surname>Hu</surname> <given-names>Q</given-names></string-name></person-group>. <article-title>GPU-based fast decoupled power flow with preconditioned iterative solver and inexact newton method</article-title>. <source>IEEE Trans Power Syst</source>. <year>2017</year>;<volume>32</volume>(<issue>4</issue>):<fpage>2695</fpage>&#x2013;<lpage>703</lpage>. doi:<pub-id pub-id-type="doi">10.1109/pesgm.2017.8274624</pub-id>.</mixed-citation></ref>
<ref id="ref-11"><label>[11]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Qu</surname> <given-names>Y</given-names></string-name>, <string-name><surname>Aage</surname> <given-names>N</given-names></string-name>, <string-name><surname>Li</surname> <given-names>Q</given-names></string-name></person-group>. <article-title>On the effectiveness of multigrid preconditioned iterative methods for large-scale frequency response topology optimization problems</article-title>. <source>Adv Eng Softw</source>. <year>2025</year>;<volume>210</volume>:<fpage>104017</fpage>. doi:<pub-id pub-id-type="doi">10.1016/j.advengsoft.2025.104017</pub-id>.</mixed-citation></ref>
<ref id="ref-12"><label>[12]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Liu</surname> <given-names>Z</given-names></string-name>, <string-name><surname>Guan</surname> <given-names>D</given-names></string-name>, <string-name><surname>Wei</surname> <given-names>W</given-names></string-name>, <string-name><surname>Davis</surname> <given-names>SJ</given-names></string-name>, <string-name><surname>Ciais</surname> <given-names>P</given-names></string-name>, <string-name><surname>Bai</surname> <given-names>J</given-names></string-name>, <etal>et al</etal></person-group>. <article-title>Reduced carbon emission estimates from fossil fuel combustion and cement production in China</article-title>. <source>Nature</source>. <year>2015</year>;<volume>524</volume>(<issue>7565</issue>):<fpage>335</fpage>&#x2013;<lpage>8</lpage>. doi:<pub-id pub-id-type="doi">10.1038/nature14677</pub-id>; <pub-id pub-id-type="pmid">26289204</pub-id></mixed-citation></ref>
<ref id="ref-13"><label>[13]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Shan</surname> <given-names>Y</given-names></string-name>, <string-name><surname>Liu</surname> <given-names>J</given-names></string-name>, <string-name><surname>Liu</surname> <given-names>Z</given-names></string-name>, <string-name><surname>Xu</surname> <given-names>X</given-names></string-name>, <string-name><surname>Shao</surname> <given-names>S</given-names></string-name>, <string-name><surname>Wang</surname> <given-names>P</given-names></string-name>, <etal>et al.</etal></person-group> <article-title>New provincial CO<sub>2</sub> emission inventories in China based on apparent energy consumption data and updated emission factors</article-title>. <source>Appl Energy</source>. <year>2016</year>;<volume>184</volume>:<fpage>742</fpage>&#x2013;<lpage>50</lpage>. doi:<pub-id pub-id-type="doi">10.1016/j.apenergy.2016.03.073</pub-id>.</mixed-citation></ref>
<ref id="ref-14"><label>[14]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Wang</surname> <given-names>L</given-names></string-name>, <string-name><surname>Wang</surname> <given-names>Y</given-names></string-name>, <string-name><surname>Du</surname> <given-names>H</given-names></string-name>, <string-name><surname>Zuo</surname> <given-names>J</given-names></string-name>, <string-name><surname>Li</surname> <given-names>R</given-names></string-name>, <string-name><surname>Zhou</surname> <given-names>Z</given-names></string-name>, <etal>et al.</etal></person-group> <article-title>A comparative life-cycle assessment of hydro-, nuclear and wind power: a China study</article-title>. <source>Appl Energy</source>. <year>2019</year>;<volume>249</volume>:<fpage>37</fpage>&#x2013;<lpage>45</lpage>. doi:<pub-id pub-id-type="doi">10.1016/j.apenergy.2019.04.099</pub-id>.</mixed-citation></ref>
<ref id="ref-15"><label>[15]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><collab>Varun</collab>, <string-name><surname>Prakash</surname> <given-names>R</given-names></string-name>, <string-name><surname>Bhat</surname> <given-names>IK</given-names></string-name></person-group>. <article-title>Life cycle greenhouse gas emissions estimation for small hydropower schemes in India</article-title>. <source>Energy</source>. <year>2012</year>;<volume>44</volume>(<issue>1</issue>):<fpage>498</fpage>&#x2013;<lpage>508</lpage>. doi:<pub-id pub-id-type="doi">10.1016/j.energy.2012.05.052</pub-id>.</mixed-citation></ref>
<ref id="ref-16"><label>[16]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Gemechu</surname> <given-names>E</given-names></string-name>, <string-name><surname>Kumar</surname> <given-names>A</given-names></string-name></person-group>. <article-title>A review of how life cycle assessment has been used to assess the environmental impacts of hydropower energy</article-title>. <source>Renew Sustain Energ Rev</source>. <year>2022</year>;<volume>167</volume>:<fpage>112684</fpage>. doi:<pub-id pub-id-type="doi">10.1016/j.rser.2022.112684</pub-id>.</mixed-citation></ref>
<ref id="ref-17"><label>[17]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Ludin</surname> <given-names>NA</given-names></string-name>, <string-name><surname>Mustafa</surname> <given-names>NI</given-names></string-name>, <string-name><surname>Hanafiah</surname> <given-names>MM</given-names></string-name>, <string-name><surname>Ibrahim</surname> <given-names>MA</given-names></string-name>, <string-name><surname>Asri Mat Teridi</surname> <given-names>M</given-names></string-name>, <string-name><surname>Sepeai</surname> <given-names>S</given-names></string-name>, <etal>et al</etal></person-group>. <article-title>Prospects of life cycle assessment of renewable energy from solar photovoltaic technologies: a review</article-title>. <source>Renew Sustain Energy Rev</source>. <year>2018</year>;<volume>96</volume>:<fpage>11</fpage>&#x2013;<lpage>28</lpage>. doi:<pub-id pub-id-type="doi">10.1016/j.rser.2018.07.048</pub-id>.</mixed-citation></ref>
<ref id="ref-18"><label>[18]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Rahman</surname> <given-names>A</given-names></string-name>, <string-name><surname>Farrok</surname> <given-names>O</given-names></string-name>, <string-name><surname>Haque</surname> <given-names>MM</given-names></string-name></person-group>. <article-title>Environmental impact of renewable energy source based electrical power plants: solar, wind, hydroelectric, biomass, geothermal, tidal, ocean, and osmotic</article-title>. <source>Renew Sustain Energ Rev</source>. <year>2022</year>;<volume>161</volume>:<fpage>112279</fpage>. doi:<pub-id pub-id-type="doi">10.1016/j.rser.2022.112279</pub-id>.</mixed-citation></ref>
<ref id="ref-19"><label>[19]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Proops</surname> <given-names>JL</given-names></string-name>, <string-name><surname>Gay</surname> <given-names>PW</given-names></string-name>, <string-name><surname>Speck</surname> <given-names>S</given-names></string-name>, <string-name><surname>Schroder</surname> <given-names>T</given-names></string-name></person-group>. <article-title>The lifetime pollution implications of various types of electricity generation. An input-output analysis</article-title>. <source>Energy Policy</source>. <year>1996</year>;<volume>24</volume>(<issue>3</issue>):<fpage>229</fpage>&#x2013;<lpage>37</lpage>. doi:<pub-id pub-id-type="doi">10.1016/0301-4215(95)00154-9</pub-id>.</mixed-citation></ref>
<ref id="ref-20"><label>[20]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Hondo</surname> <given-names>H</given-names></string-name></person-group>. <article-title>Life cycle GHG emission analysis of power generation systems: Japanese case</article-title>. <source>Energy</source>. <year>2005</year>;<volume>30</volume>(<issue>11&#x2013;12</issue>):<fpage>2042</fpage>&#x2013;<lpage>56</lpage>. doi:<pub-id pub-id-type="doi">10.1016/j.energy.2004.07.020</pub-id>.</mixed-citation></ref>
<ref id="ref-21"><label>[21]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Amponsah</surname> <given-names>NY</given-names></string-name>, <string-name><surname>Troldborg</surname> <given-names>M</given-names></string-name>, <string-name><surname>Kington</surname> <given-names>B</given-names></string-name>, <string-name><surname>Aalders</surname> <given-names>I</given-names></string-name>, <string-name><surname>Hough</surname> <given-names>RL</given-names></string-name></person-group>. <article-title>Greenhouse gas emissions from renewable energy sources: a review of lifecycle considerations</article-title>. <source>Renew Sustain Energy Rev</source>. <year>2014</year>;<volume>39</volume>(<issue>1</issue>):<fpage>461</fpage>&#x2013;<lpage>75</lpage>. doi:<pub-id pub-id-type="doi">10.1016/j.rser.2014.07.087</pub-id>.</mixed-citation></ref>
<ref id="ref-22"><label>[22]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Saini</surname> <given-names>P</given-names></string-name>, <string-name><surname>Singh</surname> <given-names>S</given-names></string-name>, <string-name><surname>Kajal</surname> <given-names>P</given-names></string-name>, <string-name><surname>Dhar</surname> <given-names>A</given-names></string-name>, <string-name><surname>Khot</surname> <given-names>N</given-names></string-name>, <string-name><surname>Mohamed</surname> <given-names>ME</given-names></string-name>, <etal>et al</etal></person-group>. <article-title>A review of the techno-economic potential and environmental impact analysis through life cycle assessment of parabolic trough collector towards the contribution of sustainable energy</article-title>. <source>Heliyon</source>. <year>2023</year>;<volume>9</volume>(<issue>7</issue>):<fpage>e17626</fpage>. doi:<pub-id pub-id-type="doi">10.1016/j.heliyon.2023.e17626</pub-id>; <pub-id pub-id-type="pmid">37449158</pub-id></mixed-citation></ref>
<ref id="ref-23"><label>[23]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Lenzen</surname> <given-names>M</given-names></string-name></person-group>. <article-title>Life cycle energy and greenhouse gas emissions of nuclear energy: a review</article-title>. <source>Energy Conver Manag</source>. <year>2008</year>;<volume>49</volume>(<issue>8</issue>):<fpage>2178</fpage>&#x2013;<lpage>99</lpage>. doi:<pub-id pub-id-type="doi">10.1016/j.enconman.2008.01.033</pub-id>.</mixed-citation></ref>
</ref-list>
</back></article>