<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.3 20210610//EN" "JATS-journalpublishing1-3-mathml3.dtd">
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ali="http://www.niso.org/schemas/ali/1.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" article-type="research-article" dtd-version="1.3" xml:lang="EN">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">Front. Built Environ.</journal-id>
<journal-title-group>
<journal-title>Frontiers in Built Environment</journal-title>
<abbrev-journal-title abbrev-type="pubmed">Front. Built Environ.</abbrev-journal-title>
</journal-title-group>
<issn pub-type="epub">2297-3362</issn>
<publisher>
<publisher-name>Frontiers Media S.A.</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">1749310</article-id>
<article-id pub-id-type="doi">10.3389/fbuil.2026.1749310</article-id>
<article-version article-version-type="Version of Record" vocab="NISO-RP-8-2008"/>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Original Research</subject>
</subj-group>
</article-categories>
<title-group>
<article-title>A novel simulation framework to estimate dynamic response of a solar panel array under stationary stochastic wind loads</article-title>
<alt-title alt-title-type="left-running-head">Zhang et al.</alt-title>
<alt-title alt-title-type="right-running-head">
<ext-link ext-link-type="uri" xlink:href="https://doi.org/10.3389/fbuil.2026.1749310">10.3389/fbuil.2026.1749310</ext-link>
</alt-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname>Zhang</surname>
<given-names>Hanshu</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<uri xlink:href="https://loop.frontiersin.org/people/3285366"/>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Conceptualization" vocab-term-identifier="https://credit.niso.org/contributor-roles/conceptualization/">Conceptualization</role>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Investigation" vocab-term-identifier="https://credit.niso.org/contributor-roles/investigation/">Investigation</role>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Methodology" vocab-term-identifier="https://credit.niso.org/contributor-roles/methodology/">Methodology</role>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Software" vocab-term-identifier="https://credit.niso.org/contributor-roles/software/">Software</role>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Validation" vocab-term-identifier="https://credit.niso.org/contributor-roles/validation/">Validation</role>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Visualization" vocab-term-identifier="https://credit.niso.org/contributor-roles/visualization/">Visualization</role>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Writing &#x2013; original draft" vocab-term-identifier="https://credit.niso.org/contributor-roles/writing-original-draft/">Writing - original draft</role>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Writing &#x2013; review &#x26; editing" vocab-term-identifier="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/">Writing - review and editing</role>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Li</surname>
<given-names>You-Jia</given-names>
</name>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
<uri xlink:href="https://loop.frontiersin.org/people/3368140"/>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Investigation" vocab-term-identifier="https://credit.niso.org/contributor-roles/investigation/">Investigation</role>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Methodology" vocab-term-identifier="https://credit.niso.org/contributor-roles/methodology/">Methodology</role>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Software" vocab-term-identifier="https://credit.niso.org/contributor-roles/software/">Software</role>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Visualization" vocab-term-identifier="https://credit.niso.org/contributor-roles/visualization/">Visualization</role>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Writing &#x2013; original draft" vocab-term-identifier="https://credit.niso.org/contributor-roles/writing-original-draft/">Writing - original draft</role>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Writing &#x2013; review &#x26; editing" vocab-term-identifier="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/">Writing - review and editing</role>
</contrib>
<contrib contrib-type="author" corresp="yes">
<name>
<surname>DeJong</surname>
<given-names>Matthew J.</given-names>
</name>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
<xref ref-type="corresp" rid="c001">&#x2a;</xref>
<uri xlink:href="https://loop.frontiersin.org/people/2277364"/>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Conceptualization" vocab-term-identifier="https://credit.niso.org/contributor-roles/conceptualization/">Conceptualization</role>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Investigation" vocab-term-identifier="https://credit.niso.org/contributor-roles/investigation/">Investigation</role>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Methodology" vocab-term-identifier="https://credit.niso.org/contributor-roles/methodology/">Methodology</role>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Supervision" vocab-term-identifier="https://credit.niso.org/contributor-roles/supervision/">Supervision</role>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Validation" vocab-term-identifier="https://credit.niso.org/contributor-roles/validation/">Validation</role>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Visualization" vocab-term-identifier="https://credit.niso.org/contributor-roles/visualization/">Visualization</role>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Writing &#x2013; original draft" vocab-term-identifier="https://credit.niso.org/contributor-roles/writing-original-draft/">Writing - original draft</role>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Writing &#x2013; review &#x26; editing" vocab-term-identifier="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/">Writing - review and editing</role>
</contrib>
</contrib-group>
<aff id="aff1">
<label>1</label>
<institution>Department of Physics and Engineering Science, Coastal Carolina University</institution>, <city>Conway</city>, <state>SC</state>, <country country="US">United States</country>
</aff>
<aff id="aff2">
<label>2</label>
<institution>Department of Civil and Environmental Engineering, University of California</institution>, <city>Berkeley</city>, <state>CA</state>, <country country="US">United States</country>
</aff>
<author-notes>
<corresp id="c001">
<label>&#x2a;</label>Correspondence: Matthew J. DeJong, <email xlink:href="mailto:dejong@berkeley.edu">dejong@berkeley.edu</email>
</corresp>
</author-notes>
<pub-date publication-format="electronic" date-type="pub" iso-8601-date="2026-03-03">
<day>03</day>
<month>03</month>
<year>2026</year>
</pub-date>
<pub-date publication-format="electronic" date-type="collection">
<year>2026</year>
</pub-date>
<volume>12</volume>
<elocation-id>1749310</elocation-id>
<history>
<date date-type="received">
<day>18</day>
<month>11</month>
<year>2025</year>
</date>
<date date-type="rev-recd">
<day>20</day>
<month>01</month>
<year>2026</year>
</date>
<date date-type="accepted">
<day>22</day>
<month>01</month>
<year>2026</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#xa9; 2026 Zhang, Li and DeJong.</copyright-statement>
<copyright-year>2026</copyright-year>
<copyright-holder>Zhang, Li and DeJong</copyright-holder>
<license>
<ali:license_ref start_date="2026-03-03">https://creativecommons.org/licenses/by/4.0/</ali:license_ref>
<license-p>This is an open-access article distributed under the terms of the <ext-link ext-link-type="uri" xlink:href="https://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution License (CC BY)</ext-link>. The use, distribution or reproduction in other forums is permitted, provided the original author(s) and the copyright owner(s) are credited and that the original publication in this journal is cited, in accordance with accepted academic practice. No use, distribution or reproduction is permitted which does not comply with these terms.</license-p>
</license>
</permissions>
<abstract>
<p>This paper presents a novel simulation framework for estimating the dynamic response of a full-scale ground-mounted solar panel array under stationary wind loads that are spatially correlated across the length of the solar panel array. Specifically, the framework uses mean pressure coefficient distributions along the length of a 1:10 prototype scale of the solar panel array from smooth inflow derived using the computational fluid dynamics (CFD) simulation software The Wind Engineering with Uncertainty Quantification (WE-UQ). Note that for the CFD simulation, the input wind field across the length of the solar panel array is uniform along the horizontal direction, and the wind field is smooth inflow. Next, the simulated stochastic wind loads are generated from the spatially varying and correlated stationary wind velocities along the full-scale solar panel array using a stochastic wave approach from the spectral representation method (SRM), as well as the mean pressure coefficients derived from the CFD simulation. Further, the simulated stochastic wind loads are applied to a solar panel array finite element model using the Open System for Earthquake Engineering Simulation (OpenSees) to simulate dynamic responses. Displacements of solar panel modules and torque strains on the torque tube are estimated to observe the performance of the solar panel array. The mode shapes and the corresponding frequencies can be identified from the results, and the accuracy can be validated by comparing the frequencies obtained from the solar panel model. Further, strong mean wind velocities are applied in the proposed simulation framework to assess the torsional strain of the torque tube. Consequently, the proposed simulation framework provides a valuable, novel tool for solar panel array analysis that is much more computationally efficient than existing methods.</p>
</abstract>
<kwd-group>
<kwd>aerodynamic torque loads</kwd>
<kwd>coherence function</kwd>
<kwd>computational fluid dynamics (CFD) simulation</kwd>
<kwd>constant mean wind velocities</kwd>
<kwd>detached eddy simulation (DES)</kwd>
<kwd>displacements of solar panel modules</kwd>
<kwd>dynamic response</kwd>
</kwd-group>
<funding-group>
<funding-statement>The author(s) declared that financial support was received for this work and/or its publication. The authors gratefully acknowledge the financial support from the U.S. Department of Energy (DOE) Solar Energy Technology Office (SETO) (project DE-FOA-0002597: Renewables Advancing Community Energy Resilience (RACER)).</funding-statement>
</funding-group>
<counts>
<fig-count count="20"/>
<table-count count="1"/>
<equation-count count="22"/>
<ref-count count="32"/>
<page-count count="15"/>
</counts>
<custom-meta-group>
<custom-meta>
<meta-name>section-at-acceptance</meta-name>
<meta-value>Wind Engineering and Science</meta-value>
</custom-meta>
</custom-meta-group>
</article-meta>
</front>
<body>
<sec sec-type="intro" id="s1">
<label>1</label>
<title>Introduction</title>
<p>Renewable energy sources continue to increase in demand. For the development of solar energy, ensuring the safety of designed solar panel arrays under vibrations is critical. Solar panel arrays are vulnerable to damage under wind loads due to their shape, flexibility, and light-weight structure (<xref ref-type="bibr" rid="B19">Moravej et al., 2015</xref>).</p>
<p>In this context, it is important to assess the safety and resilience of ground-mounted solar panel arrays by analyzing the dynamic response under extreme wind events. Many studies have focused on and analyzed the wind load effects on solar panel arrays based on wind tunnel tests. <xref ref-type="bibr" rid="B18">Miller and Zimmerman (19881)</xref> have initiated wind tunnel tests to discover the experimental net mean pressure distribution on ground-mounted solar panel modules of various angles and under various wind directions. Further, <xref ref-type="bibr" rid="B13">Kopp et al. (2002)</xref> have conducted wind tunnel tests on a scale model of a solar array consisting of six slender, parallel modules, and studied wind-induced loads, especially aerodynamic torque loads. <xref ref-type="bibr" rid="B4">Aly and Bitsuamlak (2013)</xref> assessed the effect of geometric scale on pressure coefficients using wind tunnel testing of ground-mounted solar panels. Furthermore (<xref ref-type="bibr" rid="B22">Schellenberg et al., 2013</xref>), discussed details about computing wind pressures from wind tunnel tests. <xref ref-type="bibr" rid="B28">Stathopoulos et al. (2014)</xref> evaluated peak and area-averaged wind pressures of scaled ground-mounted solar panels, and tested the effect of panel inclination angle and wind direction on force coefficient distributions. <xref ref-type="bibr" rid="B1">Abiola-Ogedengbe et al. (2015)</xref> investigated wind effects on both upper and lower surfaces of solar modules using wind tunnel tests, with various wind directions and module elevation angles. <xref ref-type="bibr" rid="B29">Yemenici and Aksoy (2021)</xref> found out that the ratio between length and width of a module did not significantly affect the pressure coefficient distributions.</p>
<p>Although wind tunnel tests have proven useful, the experimental resources and time are still substantial. In this manner, an alternative simulation approach, computational fluid dynamics (CFD), is widely employed to analyze the effects of wind loads on solar panel arrays, without the need for experimental resources. <xref ref-type="bibr" rid="B23">Shademan and Hangan (2009)</xref> carried out CFD to estimate the wind loads for various wind directions on ground-mounted solar panel arrays. They concluded that the maximum forces on solar panel arrays occurred when the wind inflow is perpendicular to the panels, either from the front or from the back face. <xref ref-type="bibr" rid="B7">Bitsuamlak et al. (2010)</xref> imported solar panel array geometry from Wall of Wind (WoW) testing facility at Florida International University (FIU) to CFD to test the effect of module inclination and wind direction on pressure distributions. Further, <xref ref-type="bibr" rid="B24">Shademan et al. (2014a)</xref> assessed the effect of different flow configurations on wind loads and compared the simulated wind loads to experimental wind loads from wind tunnel tests. <xref ref-type="bibr" rid="B25">Shademan et al. (2014b)</xref> also carried out detached eddy simulation (DES) to analyze the influence of ground clearance on wind loading for an inclined ground-mounted solar panel model. Further, <xref ref-type="bibr" rid="B5">Aly and Bitsuamlak (2014)</xref>, <xref ref-type="bibr" rid="B3">Aly (2016)</xref> validated the effect of geometric scales on ground-mounted solar panel arrays by using CFD, and comparing the pressure distributions on solar panels from CFD with those from wind tunnel tests. <xref ref-type="bibr" rid="B12">Jubayer and Hangan (2016)</xref> provided details about using widely used CFD software OpenFOAM to investigate pressure and force coefficient distributions on ground-mounted solar panel arrays, including various wind directions, and even array spacing.</p>
<p>Both CFD simulation and wind tunnel tests investigated stationary wind load distributions on ground-mounted solar panel arrays by applying constant mean wind velocities and a turbulence model reflected in stationary pressure coefficient time histories. However, these previous studies analyzed wind loads effect on a prototype scale of solar panel models. This would affect the accuracy of obtained wind loads time histories. According to the paper by <xref ref-type="bibr" rid="B4">Aly and Bitsuamlak (2013)</xref>, the geometry scale of solar panels affects the accuracy of pressure coefficient time histories obtained from wind tunnel tests. Specifically, while mean wind loads are not significantly affected by the model size, peak wind loads are sensitive to geometric scales. In addition, these methods do not account for spatially varying wind speeds that can occur across the large horizontal distances characteristic of modern solar fields (note that wind tunnel tests employ uniform wind velocities along the horizontal direction on solar panels). Further, these studies would require substantial computational and experimental resources for CFD simulation and wind tunnel tests, respectively. To address these limitations, a novel simulation framework is proposed to estimate wind loads effects on full-scale solar panels and further estimate and analyze the dynamic response. Specifically, the spatially correlated wind loads are obtained from simulated fluctuating wind velocities and pressure coefficients. The fluctuating wind velocities on solar panel arrays are simulated as a stationary stochastic wind field varying along one direction using the stochastic wave-based spectral representation method (SRM) (<xref ref-type="bibr" rid="B6">Benowitz and Deodatis, 2015</xref>; <xref ref-type="bibr" rid="B20">Peng et al., 2016</xref>; <xref ref-type="bibr" rid="B21">Peng et al., 2017</xref>; <xref ref-type="bibr" rid="B9">Chen et al., 2018</xref>; <xref ref-type="bibr" rid="B31">Zhao et al., 2023</xref>). Next, only mean pressure coefficient distributions of a 1:10 prototype scale solar panel arrays from the smooth inflow, obtained from CFD simulation software The Wind Engineering with Uncertainty Quantification (WE-UQ) (<xref ref-type="bibr" rid="B15">McKenna et al., 2025</xref>; <xref ref-type="bibr" rid="B10">Deierlein et al., 2020</xref>), are required as input. Note that, for a solar panel array with thin modules, when the mean wind profile is identical and the time window is sufficiently long, the mean pressure coefficients have low sensitivity to detailed inflow-turbulence content. This means the difference between mean pressure coefficient distributions derived from the smooth inflow and turbulence inflow is not significant, while using smooth inflow significantly improves the simulation efficiency. However, for solar panel arrays, turbulence intensity still affects the pressure coefficients by materially changing the torsional aeroelastic instability (<xref ref-type="bibr" rid="B30">Zhang et al., 2023</xref>). In this manner, the pressure coefficients obtained from smooth inflow should be interpreted as an efficient-driven baseline approach which cannot capture the coupling effects from turbulence intensity change. The framework proposed a novel coupling of spatially correlated stochastic wind velocities with mean pressure coefficients from smooth inflow. Compared to existing methods, this framework enables computationally efficient and physically consistent generation of stochastic wind load time series on solar panel arrays. To demonstrate the proposed framework, an example solar panel geometry is employed, and its dynamic response under stochastic wind loads is simulated. This novel framework is evaluated by comparing the time-frequency content of results to the mode shapes and frequencies of the solar panel array model.</p>
</sec>
<sec id="s2">
<label>2</label>
<title>Simulation of spatially correlated stationary wind loads</title>
<sec id="s2-1">
<label>2.1</label>
<title>Spatially correlated stationary wind velocities simulation</title>
<p>In wind tunnel tests, pressures are usually measured at each pressure tap on a prototype scale model of a solar panel array with wind azimuth direction and tilt angle of modules. At each pressure tap, the time history of the pressure coefficient <inline-formula id="inf1">
<mml:math id="m1">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> can be obtained as <xref ref-type="disp-formula" rid="e1">Equation 1</xref> (<xref ref-type="bibr" rid="B1">Abiola-Ogedengbe et al., 2015</xref>; <xref ref-type="bibr" rid="B14">Letchford et al., 1993</xref>; <xref ref-type="bibr" rid="B11">Holmes, 2007</xref>; <xref ref-type="bibr" rid="B26">Simiu and Yeo, 2019</xref>):<disp-formula id="e1">
<mml:math id="m2">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x221e;</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mn>0.5</mml:mn>
<mml:mi>&#x3c1;</mml:mi>
<mml:msubsup>
<mml:mrow>
<mml:mi>V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x221e;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfrac>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(1)</label>
</disp-formula>where <inline-formula id="inf2">
<mml:math id="m3">
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> is the instantaneous pressure at the pressure tap, <inline-formula id="inf3">
<mml:math id="m4">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x221e;</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the atmospheric pressure, <inline-formula id="inf4">
<mml:math id="m5">
<mml:mrow>
<mml:mi>&#x3c1;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is the air density, and <inline-formula id="inf5">
<mml:math id="m6">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x221e;</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the mean wind velocity. Although wind tunnel tests provide wind-induced pressure measurements, these pressures are obtained from prototype scale solar panel array models with substantial experimental resources. While mean wind loads are generally not significantly affected by geometric scales, peak wind loads are sensitive to geometric scales (<xref ref-type="bibr" rid="B4">Aly and Bitsuamlak, 2013</xref>). This may result, in certain cases, in unsatisfactory estimation of wind load time histories and dynamic responses of the solar panel array. Further, wind tunnel tests typically do not account for the spatial correlation along the horizontal length of the solar panel array, which would affect the dynamic response of the solar modules, and in particular the excitation of certain modes.</p>
<p>In this regard, a novel simulation framework is proposed to overcome the limitation of wind loads generation in wind tunnel tests that is affected by the geometric do not account for the spatial correlation. Specifically, instead of employing constant mean wind velocities in <xref ref-type="disp-formula" rid="e1">Equation 1</xref>, stochastic wind velocities that vary in one spatial dimension are modeled as a stochastic wave that is continuous in both space and time (<xref ref-type="bibr" rid="B6">Benowitz and Deodatis, 2015</xref>; <xref ref-type="bibr" rid="B9">Chen et al., 2018</xref>) as follows. The frequency-wavenumber spectrum can be expressed in <xref ref-type="disp-formula" rid="e2">Equation 2</xref> as<disp-formula id="e2">
<mml:math id="m7">
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>&#x3c9;</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>&#x3ba;</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>&#x3c0;</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:msubsup>
<mml:mrow>
<mml:mo>&#x222b;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>&#x221e;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x221e;</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mi>S</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>&#x3c9;</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x22c5;</mml:mo>
<mml:mi>&#x3b3;</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>&#x3be;</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>&#x3c9;</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:msup>
<mml:mrow>
<mml:mi>e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>&#x3ba;</mml:mi>
<mml:mi>&#x3be;</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mi>d</mml:mi>
<mml:mi>&#x3be;</mml:mi>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(2)</label>
</disp-formula>where <inline-formula id="inf6">
<mml:math id="m8">
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>&#x3c9;</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>&#x3ba;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> is the power spectrum, <inline-formula id="inf7">
<mml:math id="m9">
<mml:mrow>
<mml:mi>&#x3b3;</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>&#x3be;</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>&#x3c9;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> is the coherence function, <inline-formula id="inf8">
<mml:math id="m10">
<mml:mrow>
<mml:mi>&#x3c9;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is the frequency, <inline-formula id="inf9">
<mml:math id="m11">
<mml:mrow>
<mml:mi>&#x3be;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is the spatial distance, and <inline-formula id="inf10">
<mml:math id="m12">
<mml:mrow>
<mml:mi>&#x3ba;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is the wavenumber. This paper employs the Kaimal two-sided spectrum (<xref ref-type="bibr" rid="B6">Benowitz and Deodatis, 2015</xref>; <xref ref-type="bibr" rid="B9">Chen et al., 2018</xref>; <xref ref-type="bibr" rid="B31">Zhao et al., 2023</xref>) for wind velocity simulation, defined as:<disp-formula id="e3">
<mml:math id="m13">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>&#x3c9;</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x22c5;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>200</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>&#x3c0;</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x22c5;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2217;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x22c5;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>z</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>U</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>z</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x22c5;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>50</mml:mn>
<mml:mfrac>
<mml:mrow>
<mml:mi>&#x3c9;</mml:mi>
<mml:mi>z</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>&#x3c0;</mml:mi>
<mml:mi>U</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>z</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mn>5</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mfrac>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(3)</label>
</disp-formula>where <inline-formula id="inf11">
<mml:math id="m14">
<mml:mrow>
<mml:mi>z</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is the height above the ground, <inline-formula id="inf12">
<mml:math id="m15">
<mml:mrow>
<mml:mi>U</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>z</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> is the average wind velocity at height <inline-formula id="inf13">
<mml:math id="m16">
<mml:mrow>
<mml:mi>z</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, and <inline-formula id="inf14">
<mml:math id="m17">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2217;</mml:mo>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the velocity friction component defined as<disp-formula id="e4">
<mml:math id="m18">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2217;</mml:mo>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mi>U</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>z</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>ln</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mi>z</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>z</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfrac>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(4)</label>
</disp-formula>
</p>
<p>In <xref ref-type="disp-formula" rid="e4">Equation 4</xref>, <inline-formula id="inf15">
<mml:math id="m19">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> represents von Karman&#x2019;s constant and <inline-formula id="inf16">
<mml:math id="m20">
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0.4</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> in this paper, <inline-formula id="inf17">
<mml:math id="m21">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>z</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> represents ground roughness, specified as 0.01&#xa0;m since the solar panel site at MI RTC is open terrain. Similarly, the Davenport coherence function, which is popular in wind engineering, is selected and defined as<disp-formula id="e5">
<mml:math id="m22">
<mml:mrow>
<mml:mi>&#x3b3;</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>&#x3be;</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>&#x3c9;</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>&#x3bb;</mml:mi>
<mml:mi>&#x3c9;</mml:mi>
<mml:mi>&#x3be;</mml:mi>
<mml:mo>/</mml:mo>
<mml:mn>2</mml:mn>
<mml:mi>&#x3c0;</mml:mi>
<mml:mi>U</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>z</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:msup>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(5)</label>
</disp-formula>
</p>
<p>where <inline-formula id="inf18">
<mml:math id="m23">
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is a decay parameter, often chosen to be between 7 and 10 (<xref ref-type="bibr" rid="B6">Benowitz and Deodatis, 2015</xref>; <xref ref-type="bibr" rid="B9">Chen et al., 2018</xref>). In this paper, <inline-formula id="inf19">
<mml:math id="m24">
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>10</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> is chosen. Further, using <xref ref-type="disp-formula" rid="e3">Equations 3</xref>, <xref ref-type="disp-formula" rid="e5">5</xref>, the frequency-wavenumber spectrum <inline-formula id="inf20">
<mml:math id="m25">
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>&#x3c9;</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>&#x3be;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> can be expressed in <xref ref-type="disp-formula" rid="e6">Equation 6</xref> as<disp-formula id="e6">
<mml:math id="m26">
<mml:mrow>
<mml:mtable class="aligned">
<mml:mtr>
<mml:mtd columnalign="right">
<mml:mi>S</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>&#x3c9;</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>&#x3ba;</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
<mml:mtd columnalign="left">
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x22c5;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>200</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>&#x3c0;</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x22c5;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2217;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x22c5;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>z</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>U</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>z</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x22c5;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>50</mml:mn>
<mml:mfrac>
<mml:mrow>
<mml:mi>&#x3c9;</mml:mi>
<mml:mi>z</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>&#x3c0;</mml:mi>
<mml:mi>U</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>z</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mn>5</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mfrac>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="right"/>
<mml:mtd columnalign="left">
<mml:mspace width="1em"/>
<mml:mo>&#x22c5;</mml:mo>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
<mml:mi>&#x3c9;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x3c0;</mml:mi>
<mml:mi>U</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>z</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>&#x3ba;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
<mml:mi>&#x3c9;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>&#x3c0;</mml:mi>
<mml:mi>U</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>z</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mfenced>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
<label>(6)</label>
</disp-formula>
</p>
<p>The Spectral Representation Method (SRM) can then be used to simulate sample realizations of a stochastic wave from its frequency-wavenumber spectrum (<xref ref-type="bibr" rid="B6">Benowitz and Deodatis, 2015</xref>; <xref ref-type="bibr" rid="B20">Peng et al., 2016</xref>; <xref ref-type="bibr" rid="B21">Peng et al., 2017</xref>; <xref ref-type="bibr" rid="B9">Chen et al., 2018</xref>; <xref ref-type="bibr" rid="B31">Zhao et al., 2023</xref>) as follows:<disp-formula id="e7">
<mml:math id="m27">
<mml:mrow>
<mml:mtable class="aligned">
<mml:mtr>
<mml:mtd columnalign="right">
<mml:mi>u</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
<mml:mtd columnalign="left">
<mml:mo>&#x3d;</mml:mo>
<mml:msqrt>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msqrt>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x3ba;</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munderover>
</mml:mstyle>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x3c9;</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munderover>
</mml:mstyle>
<mml:msqrt>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>&#x22c5;</mml:mo>
<mml:mi>S</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3c9;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3ba;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mi mathvariant="normal">&#x394;</mml:mi>
<mml:mi>&#x3ba;</mml:mi>
<mml:mi mathvariant="normal">&#x394;</mml:mi>
<mml:mi>&#x3c9;</mml:mi>
</mml:mrow>
</mml:msqrt>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="right"/>
<mml:mtd columnalign="left">
<mml:mo>&#x22c5;</mml:mo>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:mi>cos</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3ba;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi>x</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3c9;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi>t</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3c6;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>cos</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3ba;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi>x</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3c9;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi>t</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3c6;</mml:mi>
</mml:mrow>
<mml:mo>&#x303;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
<mml:mo>,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
<label>(7)</label>
</disp-formula>
</p>
<p>where <inline-formula id="inf21">
<mml:math id="m28">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x3ba;</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the wave number; <inline-formula id="inf22">
<mml:math id="m29">
<mml:mrow>
<mml:mi mathvariant="normal">&#x394;</mml:mi>
<mml:mi>&#x3ba;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3ba;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>/</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x3ba;</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, where <inline-formula id="inf23">
<mml:math id="m30">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3ba;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the cut-off wave number; <inline-formula id="inf24">
<mml:math id="m31">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x3c9;</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the number of discretized frequency; <inline-formula id="inf25">
<mml:math id="m32">
<mml:mrow>
<mml:mi mathvariant="normal">&#x394;</mml:mi>
<mml:mi>&#x3c9;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3c9;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>/</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x3c9;</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, where <inline-formula id="inf26">
<mml:math id="m33">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3c9;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the cut-off frequency; <inline-formula id="inf27">
<mml:math id="m34">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3c6;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf28">
<mml:math id="m35">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3c6;</mml:mi>
</mml:mrow>
<mml:mo>&#x303;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> are two independent sets of random phase angles uniformly distributed over <inline-formula id="inf29">
<mml:math id="m36">
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:mrow>
<mml:mn>0,2</mml:mn>
<mml:mi>&#x3c0;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">]</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>. In this paper, the following values are selected: <inline-formula id="inf30">
<mml:math id="m37">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x3ba;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>8192</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf31">
<mml:math id="m38">
<mml:mrow>
<mml:mi mathvariant="normal">&#x394;</mml:mi>
<mml:mi>&#x3ba;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0.004</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> <inline-formula id="inf32">
<mml:math id="m39">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mtext>m</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf33">
<mml:math id="m40">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3ba;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>32.99</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> <inline-formula id="inf34">
<mml:math id="m41">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mtext>m</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf35">
<mml:math id="m42">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x3c9;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1048</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf36">
<mml:math id="m43">
<mml:mrow>
<mml:mi mathvariant="normal">&#x394;</mml:mi>
<mml:mi>&#x3c9;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0.024</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> rad/s, <inline-formula id="inf37">
<mml:math id="m44">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3c9;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>8</mml:mn>
<mml:mi>&#x3c0;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> rad/s.</p>
<p>Further, based on the frequency and wave number values, the time duration is <inline-formula id="inf38">
<mml:math id="m45">
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>2</mml:mn>
<mml:mi>&#x3c0;</mml:mi>
<mml:mo>/</mml:mo>
<mml:mi mathvariant="normal">&#x394;</mml:mi>
<mml:mi>&#x3c9;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>261.75</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>s, the number of time step is <inline-formula id="inf39">
<mml:math id="m46">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo>&#x2217;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x3c9;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>2096</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, and the time step is <inline-formula id="inf40">
<mml:math id="m47">
<mml:mrow>
<mml:mi mathvariant="normal">&#x394;</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>T</mml:mi>
<mml:mo>/</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0.1249</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> s.</p>
<p>Further, the horizontal domain is discretized for spatial correlation consideration. In this paper, the number of space <inline-formula id="inf41">
<mml:math id="m48">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo>&#x2217;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>16384</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, and <inline-formula id="inf42">
<mml:math id="m49">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">&#x394;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>L</mml:mi>
<mml:mo>/</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0.002</mml:mn>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, where <inline-formula id="inf43">
<mml:math id="m50">
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is the horizontal length of the solar panel array. Note that only the grid points located on the module surface are retained for stochastic wind loads estimation.</p>
<p>
<xref ref-type="disp-formula" rid="e7">Equation 7</xref> requires substantial computational resources. However, the Fast Fourier Transform (FFT) can be employed to dramatically increase the computational efficiency of simulation (<xref ref-type="bibr" rid="B6">Benowitz and Deodatis, 2015</xref>; <xref ref-type="bibr" rid="B31">Zhao et al., 2023</xref>). To achieve this, sample realizations produced by <xref ref-type="disp-formula" rid="e7">Equation 7</xref> can instead be expressed as<disp-formula id="e8">
<mml:math id="m51">
<mml:mrow>
<mml:mtable class="aligned">
<mml:mtr>
<mml:mtd columnalign="right">
<mml:mi>u</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mtext>Re</mml:mtext>
<mml:mfenced open="" close="">
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mspace width="-0.17em"/>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
<mml:mtd columnalign="left">
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x3ba;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:munderover>
</mml:mstyle>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x3c9;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:munderover>
</mml:mstyle>
<mml:mfenced open="(" close="">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>B</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mi>m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>exp</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3c9;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi>t</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>i</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3ba;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="right"/>
<mml:mtd columnalign="left">
<mml:mfenced open="" close="">
<mml:mrow>
<mml:mfenced open="" close=")">
<mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>B</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mi>m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>exp</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>i</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3c9;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi>t</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>i</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3ba;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
<mml:mo>]</mml:mo>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
<label>(8)</label>
</disp-formula>
</p>
<p>In <xref ref-type="disp-formula" rid="e8">Equation 8</xref>, <inline-formula id="inf44">
<mml:math id="m52">
<mml:mrow>
<mml:mtext>Re</mml:mtext>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:mrow>
<mml:mo>&#x22c5;</mml:mo>
</mml:mrow>
<mml:mo stretchy="false">]</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> is the real part of the realizations, and<disp-formula id="e9">
<mml:math id="m53">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>B</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mi>m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>2</mml:mn>
<mml:msqrt>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3c9;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3ba;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x22c5;</mml:mo>
<mml:mi mathvariant="normal">&#x394;</mml:mi>
<mml:mi>&#x3c9;</mml:mi>
<mml:mi mathvariant="normal">&#x394;</mml:mi>
<mml:mi>&#x3ba;</mml:mi>
</mml:mrow>
</mml:msqrt>
<mml:mspace width="0.3333em"/>
<mml:msup>
<mml:mrow>
<mml:mi>e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3d5;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mi>m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:msup>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(9)</label>
</disp-formula>
</p>
<p>
<xref ref-type="disp-formula" rid="e8">Equation 8</xref> can then be re-written as<disp-formula id="e10">
<mml:math id="m54">
<mml:mrow>
<mml:mtable class="aligned">
<mml:mtr>
<mml:mtd columnalign="right">
<mml:mi>u</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
<mml:mtd columnalign="left">
<mml:mo>&#x3d;</mml:mo>
<mml:mtext>Re</mml:mtext>
<mml:mfenced open="[" close="">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mtext>FFT</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x3ba;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mtext>FFT</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x3c9;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">B</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="right"/>
<mml:mtd columnalign="left">
<mml:mspace width="1em"/>
<mml:mo>&#x2b;</mml:mo>
<mml:mfenced open="" close="]">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mtext>FFT</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x3ba;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mtext>IFFT</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x3c9;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="bold-italic">B</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
<label>(10)</label>
</disp-formula>where <inline-formula id="inf45">
<mml:math id="m55">
<mml:mrow>
<mml:mtext>FFT</mml:mtext>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mo>&#x22c5;</mml:mo>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf46">
<mml:math id="m56">
<mml:mrow>
<mml:mtext>IFFT</mml:mtext>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mo>&#x22c5;</mml:mo>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> are the Fast Fourier Transform and Inverse Fast Fourier Transform, respectively. Further, the total wind velocities simulated on a solar panel array can be expressed as<disp-formula id="e11">
<mml:math id="m57">
<mml:mrow>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
<mml:mo>&#x303;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>U</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>z</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>u</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(11)</label>
</disp-formula>
</p>
<p>In this section, the constant mean wind velocity at the reference height of the solar panel array is assumed to be 9&#xa0;m/s at the reference height of horizontal center-line of solar panels, and the wind velocity profile follows the wind power law, as it was in <xref ref-type="sec" rid="s2-1">Section 2.1</xref>. Sample realizations of wind velocities in both space and time are shown in <xref ref-type="fig" rid="F1">Figure 1</xref>. Further, the accuracy of the simulated wind velocity can be validated by comparing the power spectrum of the simulated wind velocity to the Kaimal spectrum. The power spectrum of the simulated <inline-formula id="inf47">
<mml:math id="m58">
<mml:mrow>
<mml:mi>u</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> can be estimated from (<xref ref-type="bibr" rid="B6">Benowitz and Deodatis, 2015</xref>)<disp-formula id="e12">
<mml:math id="m59">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>&#x3c9;</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mo>&#x222b;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mi>u</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:msup>
<mml:mrow>
<mml:mi>e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>i</mml:mi>
<mml:mi>&#x3c9;</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mi>d</mml:mi>
<mml:mi>t</mml:mi>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">&#x7c;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>&#x3c0;</mml:mi>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(12)</label>
</disp-formula>where <inline-formula id="inf48">
<mml:math id="m60">
<mml:mrow>
<mml:mi>u</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> denotes the simulated wind velocities at location <inline-formula id="inf49">
<mml:math id="m61">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> m, and <inline-formula id="inf50">
<mml:math id="m62">
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> denotes the duration of time. <xref ref-type="fig" rid="F2">Figure 2</xref> shows that the estimated power spectrum from <xref ref-type="disp-formula" rid="e12">Equation 12</xref> matches the desired Kaimal spectrum from <xref ref-type="disp-formula" rid="e3">Equation 3</xref>. Additionally, the accuracy of the simulated wind can be validated by comparing the estimated and target cross spectra. For sample realizations <inline-formula id="inf51">
<mml:math id="m63">
<mml:mrow>
<mml:mi>u</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf52">
<mml:math id="m64">
<mml:mrow>
<mml:mi>u</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>, cross spectra cross spectra can be obtained from <xref ref-type="disp-formula" rid="e13">Equation 13</xref> shown as<disp-formula id="e13">
<mml:math id="m65">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>&#x3c9;</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mo>&#x222b;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mi>u</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:msup>
<mml:mrow>
<mml:mi>e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>i</mml:mi>
<mml:mi>&#x3c9;</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mi>d</mml:mi>
<mml:mi>t</mml:mi>
<mml:msubsup>
<mml:mrow>
<mml:mo>&#x222b;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mi>u</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:msup>
<mml:mrow>
<mml:mi>e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>i</mml:mi>
<mml:mi>&#x3c9;</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mi>d</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>&#x3c0;</mml:mi>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(13)</label>
</disp-formula>
</p>
<fig id="F1" position="float">
<label>FIGURE 1</label>
<caption>
<p>Sample realization of wind velocities in space and time. <bold>(a)</bold> Fluctuating component of wind velocity, <inline-formula id="inf53">
<mml:math id="m66">
<mml:mrow>
<mml:mi>u</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>. <bold>(b)</bold> Total wind velocities, <inline-formula id="inf54">
<mml:math id="m67">
<mml:mrow>
<mml:mi>u</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
</caption>
<graphic xlink:href="fbuil-12-1749310-g001.tif">
<alt-text content-type="machine-generated">Panel (a) contains three line graphs showing wind velocities in meters per second over time at positions x equals three, eight, and seventeen meters, each exhibiting fluctuating trends. Panel (b) is the wind velocity with summation of mean wind speed and turbulence. In this case, there is no height variation, it is distinct lines for each horizontal location.</alt-text>
</graphic>
</fig>
<fig id="F2" position="float">
<label>FIGURE 2</label>
<caption>
<p>Example comparison of the estimated and target Kaimal spectrum: <bold>(a)</bold> <inline-formula id="inf55">
<mml:math id="m68">
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> m and <bold>(b)</bold> <inline-formula id="inf56">
<mml:math id="m69">
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>8</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> m.</p>
</caption>
<graphic xlink:href="fbuil-12-1749310-g002.tif">
<alt-text content-type="machine-generated">Panel (a) and panel (b) each display a log-log line graph comparing target and estimated power spectral densities as functions of frequency from zero to three hertz, showing close agreement between the two curves.</alt-text>
</graphic>
</fig>
<p>and the coherence functions are estimated as<disp-formula id="e14">
<mml:math id="m70">
<mml:mrow>
<mml:mi>&#x3b3;</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3be;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi>&#x3c9;</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>&#x3c9;</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>&#x3c9;</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:msub>
<mml:mrow>
<mml:mi>S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>&#x3c9;</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfrac>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(14)</label>
</disp-formula>
</p>
<p>In this section, three locations (<inline-formula id="inf57">
<mml:math id="m71">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> m, <inline-formula id="inf58">
<mml:math id="m72">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>8</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> m, and <inline-formula id="inf59">
<mml:math id="m73">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>17</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> m) are used to assess the estimated cross spectra. Therefore, the separation distances are <inline-formula id="inf60">
<mml:math id="m74">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3be;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>12</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>5</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> m, <inline-formula id="inf61">
<mml:math id="m75">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3be;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>13</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>14</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> m, <inline-formula id="inf62">
<mml:math id="m76">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3be;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>23</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>9</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> m. Estimated coherence functions in <xref ref-type="disp-formula" rid="e14">Equation 14</xref> and target coherence functions in <xref ref-type="disp-formula" rid="e5">Equation 5</xref> are shown in <xref ref-type="fig" rid="F3">Figure 3</xref>. As it can be seen, the agreement between estimated and target coherence functions can be satisfied. Note that the vertical spatial correlation is not considered because the module height is only 1.012&#xa0;m. In this manner, variations in vertical coherence are expected to be limited compared with the along-row correlation in this study.</p>
<fig id="F3" position="float">
<label>FIGURE 3</label>
<caption>
<p>Comparison of the estimated coherence function and the target Davenport coherence function at three different location spacings. <bold>(a)</bold> <inline-formula id="inf63">
<mml:math id="m77">
<mml:mrow>
<mml:mi>&#x3b3;</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>&#x3c9;</mml:mi>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3be;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>12</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>5</mml:mn>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>m</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>. <bold>(b)</bold> <inline-formula id="inf64">
<mml:math id="m78">
<mml:mrow>
<mml:mi>&#x3b3;</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>&#x3c9;</mml:mi>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3be;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>13</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>14</mml:mn>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>m</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>. <bold>(c)</bold> <inline-formula id="inf65">
<mml:math id="m79">
<mml:mrow>
<mml:mi>&#x3b3;</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>&#x3c9;</mml:mi>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3be;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>23</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>9</mml:mn>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>m</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
</caption>
<graphic xlink:href="fbuil-12-1749310-g003.tif">
<alt-text content-type="machine-generated">Three side-by-side line graphs labeled a, b, and c compare estimated and target values of &#x3B3;(&#x3C9;,&#x3BE;) versus frequency in hertz from zero to three. Each panel shows the blue estimated line closely following the orange dashed target line, both rapidly declining from about one to near zero as frequency increases. Subtle differences between panels are visible in the lower frequencies, and each chart displays a legend indicating the plotted lines as &#x201C;Estimated&#x201D; and &#x201C;Target.&#x201D;.</alt-text>
</graphic>
</fig>
</sec>
<sec id="s2-2">
<label>2.2</label>
<title>Mean pressure coefficients derivation</title>
<p>Next, a refinement of dynamic wind pressure estimation from <xref ref-type="disp-formula" rid="e1">Equation 1</xref> is proposed to further increase computation efficiency. Specifically, the mean pressure coefficient distributions on the solar panel array can be obtained from pressure coefficient time histories. However, this still needs experimental resources to conduct wind tunnel tests. In this regard, an alternative computational fluid dynamics (CFD) simulation is used to generate mean pressure coefficient distributions on solar panel arrays. Specifically, the CFD is performed large-eddy simulation (LES) with standard Smagorinsky Sub-grid Scale (SGS) model (<xref ref-type="bibr" rid="B27">Smagorinsky, 1963</xref>). LES can adopt the inflow perfectly (<xref ref-type="bibr" rid="B32">Zhu et al., 2020</xref>), and the standard Smagorinsky SGS model is adopted due to its straightforward implementation and relative low computational cos. In addition, prior studies have reported that the mean quantities are not sensitive of the choice among Smagorinsky, dynamic Smagorinsky, or WALE SGS models (<xref ref-type="bibr" rid="B8">Cant and Lee, 2017</xref>).</p>
<p>Assuming the wind flow around the solar panel arrays as an incompressible fluid, the filtered Navier&#x2013;Stokes equations that govern the motion of the large-scale eddies can be written in <xref ref-type="disp-formula" rid="e15">Equations 15</xref>, <xref ref-type="disp-formula" rid="e16">16</xref> as (<xref ref-type="bibr" rid="B17">Melaku et al., 2022</xref>; <xref ref-type="bibr" rid="B16">Melaku and Bitsuamlak, 2024</xref>)<disp-formula id="e15">
<mml:math id="m80">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mi>&#x2202;</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
<mml:mo>&#x303;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x2202;</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(15)</label>
</disp-formula>
</p>
<p>and<disp-formula id="e16">
<mml:math id="m81">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mi>&#x2202;</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
<mml:mo>&#x303;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x2202;</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>&#x2202;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x2202;</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
<mml:mo>&#x303;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
<mml:mo>&#x303;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x3c1;</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mfrac>
<mml:mrow>
<mml:mi>&#x2202;</mml:mi>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>p</mml:mi>
</mml:mrow>
<mml:mo>&#x303;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x2202;</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>&#x3bd;</mml:mi>
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>&#x2202;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
<mml:mo>&#x303;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x2202;</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi>&#x2202;</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>&#x2202;</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x2202;</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(16)</label>
</disp-formula>
</p>
<p>where <inline-formula id="inf66">
<mml:math id="m82">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
<mml:mo>&#x303;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the <inline-formula id="inf67">
<mml:math id="m83">
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>th component of the filtered velocity, <inline-formula id="inf68">
<mml:math id="m84">
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>p</mml:mi>
</mml:mrow>
<mml:mo>&#x303;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:math>
</inline-formula> is the filtered pressure, <inline-formula id="inf69">
<mml:math id="m85">
<mml:mrow>
<mml:mi>&#x3bd;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is the kinematic viscosity, and <inline-formula id="inf70">
<mml:math id="m86">
<mml:mrow>
<mml:mi>&#x3c1;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is the air density of the wind. In this section, the properties of air <inline-formula id="inf71">
<mml:math id="m87">
<mml:mrow>
<mml:mi>&#x3c1;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1.225</mml:mn>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi mathvariant="normal">k</mml:mi>
<mml:mi mathvariant="normal">g</mml:mi>
<mml:mo>/</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="normal">m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn mathvariant="normal">3</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf72">
<mml:math id="m88">
<mml:mrow>
<mml:mi>&#x3bd;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1.5</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:mn>1</mml:mn>
<mml:msup>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>5</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mtext>&#x2009;</mml:mtext>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="normal">m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn mathvariant="normal">2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>/</mml:mo>
<mml:mi mathvariant="normal">s</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> are applied. Further, <inline-formula id="inf73">
<mml:math id="m89">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the shear stress on small-scale eddies and is expressed as (<xref ref-type="bibr" rid="B17">Melaku et al., 2022</xref>; <xref ref-type="bibr" rid="B16">Melaku and Bitsuamlak, 2024</xref>)<disp-formula id="e17">
<mml:math id="m90">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>&#x303;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
<mml:mo>&#x303;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
<mml:mo>&#x303;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(17)</label>
</disp-formula>
</p>
<p>The shear stress in <xref ref-type="disp-formula" rid="e17">Equation 17</xref> is expressed as subgrid-scale (SGS) stress and is often modeled using the eddy-viscosity hypothesis. In this study, the standard Smagorinsky SGS model can be adopted in <xref ref-type="disp-formula" rid="e18">Equations 18</xref>, <xref ref-type="disp-formula" rid="e19">19</xref> as<disp-formula id="e18">
<mml:math id="m91">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:mfrac>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b4;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>2</mml:mn>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3bd;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>S</mml:mi>
</mml:mrow>
<mml:mo>&#x303;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(18)</label>
</disp-formula>
</p>
<p>with<disp-formula id="e19">
<mml:math id="m92">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>S</mml:mi>
</mml:mrow>
<mml:mo>&#x303;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:mfrac>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mi>&#x2202;</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
<mml:mo>&#x303;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x2202;</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>&#x2202;</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
<mml:mo>&#x303;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x2202;</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mfenced>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(19)</label>
</disp-formula>
</p>
<p>where <inline-formula id="inf74">
<mml:math id="m93">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b4;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the Kronecker delta, <inline-formula id="inf75">
<mml:math id="m94">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>S</mml:mi>
</mml:mrow>
<mml:mo>&#x303;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the strain rate tensor of the resolved velocities, and <inline-formula id="inf76">
<mml:math id="m95">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3bd;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the turbulent eddy-viscosity that can be expressed in <xref ref-type="disp-formula" rid="e20">Equation 20</xref> as (<xref ref-type="bibr" rid="B17">Melaku et al., 2022</xref>; <xref ref-type="bibr" rid="B16">Melaku and Bitsuamlak, 2024</xref>)<disp-formula id="e20">
<mml:math id="m96">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3bd;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi mathvariant="normal">&#x394;</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>S</mml:mi>
</mml:mrow>
<mml:mo>&#x303;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(20)</label>
</disp-formula>
</p>
<p>In this equation, <inline-formula id="inf77">
<mml:math id="m97">
<mml:mrow>
<mml:mi mathvariant="normal">&#x394;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is the filter width defined as the cube-root of the cell volume, and the coefficient <inline-formula id="inf78">
<mml:math id="m98">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> represents Smagorinsky&#x2019;s constant and can be expressed in <xref ref-type="disp-formula" rid="e21">Equation 21</xref> as (<xref ref-type="bibr" rid="B27">Smagorinsky, 1963</xref>)<disp-formula id="e21">
<mml:math id="m99">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msqrt>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x3b5;</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:msqrt>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>/</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(21)</label>
</disp-formula>
</p>
<p>where the coefficient <inline-formula id="inf79">
<mml:math id="m100">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf80">
<mml:math id="m101">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x3b5;</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> are model constants. <inline-formula id="inf81">
<mml:math id="m102">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf82">
<mml:math id="m103">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x3b5;</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> with typical values of 0.094 and 1.048 are applied in this study, respectively, yielding Smagorinsky&#x2019;s constant <inline-formula id="inf83">
<mml:math id="m104">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0.1678</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
<p>Note that the mean pressure coefficients from only the smooth flow atmospheric boundary layer (ABL) conditions need to be obtained. There are two reasons to propose this novel idea. First, it is observed that over a sufficiently long time period, the mean pressure coefficient distributions under different turbulence intensities exhibit similar patterns (<xref ref-type="bibr" rid="B4">Aly and Bitsuamlak, 2013</xref>). Second, substantial computational resources and time are needed to use CFD simulation to generate pressure coefficient time histories of turbulence inflow, and the duration of the pressure coefficient time histories is usually not sufficient to obtain reliable mean pressure coefficient values. However, CFD simulation based on smooth inflow does not require long time period to derive useful mean pressure coefficient values, which also reduces required computational resources.</p>
<p>To apply LES modeling with smooth inflow ABL conditions on a solar panel array model, a CFD simulation software called the Wind Engineering with Uncertainty Quantification (WE-UQ) is applied to estimate the mean pressure coefficient distributions.</p>
<p>WE-UQ has a user-friendly Graphical User Interface (GUI), which provides basic procedures and modeling the virtual wind tunnel and run CFD simulation (<xref ref-type="bibr" rid="B16">Melaku and Bitsuamlak, 2024</xref>). In this paper, the basic geometries of a 1:10 scale of the solar panel array model at Michigan Solar Regional Test Center (MI RTC), can be modeled and imported to WE-UQ for visualization, and the domain size of the wind tunnel can also be defined and visualized. Note that, although mean pressure coefficients are not significantly affected by geometry scale (<xref ref-type="bibr" rid="B4">Aly and Bitsuamlak, 2013</xref>), changing the scale may affect the Reynold number, which may still influence mean pressure coefficient values to some extent. Then, WE-UQ can define and visualize the domain size of the wind tunnel and establish the mesh, including boundary mesh on the virtual wind tunnel and mesh surrounding the imported model in the wind tunnel, as shown on the right side of <xref ref-type="fig" rid="F4">Figure 4</xref>. Next, the boundary conditions of the wind tunnel can be configured and shown in <xref ref-type="fig" rid="F5">Figure 5a</xref> to replicate the environmental conditions observed at the MI RTC solar panel array site, ensuring consistency between the CFD simulation and the actual testing environment. The constant mean wind velocity is 9&#xa0;m/s at the reference height, which is the horizontal center-line of the solar panel array; the ground roughness is 0.01&#xa0;m, which can make sure the power law constant mean wind profile imported to WE-UQ is identical with that from the stationary wind speed estimation from <xref ref-type="sec" rid="s2-1">Section 2.1</xref> and the identical with mean wind speed condition from wind tunnel tests in <xref ref-type="sec" rid="s2-1">Section 2.1</xref>. Air density <inline-formula id="inf84">
<mml:math id="m105">
<mml:mrow>
<mml:mi>&#x3c1;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1.225</mml:mn>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi mathvariant="normal">k</mml:mi>
<mml:mi mathvariant="normal">g</mml:mi>
<mml:mo>/</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="normal">m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn mathvariant="normal">3</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> and kinematic viscosity of the air <inline-formula id="inf85">
<mml:math id="m106">
<mml:mrow>
<mml:mi>&#x3bd;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1.5</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:mn>1</mml:mn>
<mml:msup>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>5</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mtext>&#x2009;</mml:mtext>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="normal">m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn mathvariant="normal">2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>/</mml:mo>
<mml:mi mathvariant="normal">s</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> are applied in this simulation. Then, in numerical setup section from WE-UQ in <xref ref-type="fig" rid="F5">Figure 5b</xref>, large-eddy simulation (LES) with Smagorinsky Sub-grid Scale (SGS) model with coefficients is selected for numerical simulation. Next, the CFD simulations are performed using the pimpleFoam solver. This solver is selected for its ability to maintain numerical stability and ensure accurate wind load predictions while allowing for relatively larger time steps in transient simulations. Since induced wind is specified as smooth inflow, a small time step of 0.0001&#xa0;s is adopted to capture transient effects with high resolution. Next, several maximum Courant numbers <inline-formula id="inf86">
<mml:math id="m107">
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>o</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> are tested for computing mean pressure coefficient distributions, as shown in <xref ref-type="fig" rid="F6">Figure 6</xref>. As it can be seen, the mean pressure coefficient distributions are similar for all selected <inline-formula id="inf87">
<mml:math id="m108">
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>o</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> values. Because <inline-formula id="inf88">
<mml:math id="m109">
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>o</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> is more computationally expensive than <inline-formula id="inf89">
<mml:math id="m110">
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>o</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf90">
<mml:math id="m111">
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>o</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>5</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf91">
<mml:math id="m112">
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>o</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>5</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> is chosen for efficient computation, further control of solver convergence, and numerical stability. Since smooth inflow has higher numerical stability in a transient simulation, pimpleFoam will exhibit fast convergence behavior. Then, the pressure coefficient time histories from smooth inflow is obtained, and one sample is shown in <xref ref-type="fig" rid="F7">Figure 7</xref>. After an initial transient of 0.3&#xa0;s, the time history becomes stationary. In this manner, the simulation duration is limited to 3&#xa0;s, which provides an adequate averaging window to obtain mean pressure coefficient distributions.</p>
<fig id="F4" position="float">
<label>FIGURE 4</label>
<caption>
<p>WE-UQ user interface and wind tunnel visualization.</p>
</caption>
<graphic xlink:href="fbuil-12-1749310-g004.tif">
<alt-text content-type="machine-generated">Screenshot of the WE-UQ: Wind Engineering with Uncertainty Quantification software showing the EVT tab, detailing steps for a CFD wind load simulation on a building, with a mesh visualization on the right.</alt-text>
</graphic>
</fig>
<fig id="F5" position="float">
<label>FIGURE 5</label>
<caption>
<p>Boundary Conditions and simulation type of the smooth flow. <bold>(a)</bold> Boundary conditions. <bold>(b)</bold> Simulation type for smooth flow.</p>
</caption>
<graphic xlink:href="fbuil-12-1749310-g005.tif">
<alt-text content-type="machine-generated">Two screenshots from a computational fluid dynamics (CFD) software interface for wind load analysis on isolated buildings. Panel (a) shows sections for wind characteristics, boundary conditions with a labeled diagram, and inflow generation settings. Panel (b) displays sections for turbulence modeling, solver selection, simulation duration, timestep configuration, and parallelization options. Each interface provides editable fields, dropdown menus, and calculation buttons for simulation parameter input.</alt-text>
</graphic>
</fig>
<fig id="F6" position="float">
<label>FIGURE 6</label>
<caption>
<p>Mean pressure coefficient distributions from different maximum Courant numbers: <bold>(a)</bold> <inline-formula id="inf92">
<mml:math id="m113">
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>o</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, <bold>(b)</bold> <inline-formula id="inf93">
<mml:math id="m114">
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>o</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, and <bold>(c)</bold> <inline-formula id="inf94">
<mml:math id="m115">
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>o</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>5</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
</caption>
<graphic xlink:href="fbuil-12-1749310-g006.tif">
<alt-text content-type="machine-generated">Three contour plots labeled (a), (b), and (c) display the horizontal location of pressure coefficients on a solar panel, with color gradients from blue to yellow representing increasing values from 0.6 to 1.6; each plot has similar axes labeled with lower frame, lower purlin, horizontal center-line or axis, upper purlin, and upper frame, showing variations in pressure distribution across eighteen measurement points on the panel.</alt-text>
</graphic>
</fig>
<fig id="F7" position="float">
<label>FIGURE 7</label>
<caption>
<p>One sample of <inline-formula id="inf95">
<mml:math id="m116">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> generated from smooth inflow.</p>
</caption>
<graphic xlink:href="fbuil-12-1749310-g007.tif">
<alt-text content-type="machine-generated">Line graph showing C subscript P versus time in seconds, with a sharp initial drop from around 4000 to near zero, then remaining approximately steady close to zero for the rest of the 3-second interval.</alt-text>
</graphic>
</fig>
<p>Further, CFD simulations under a smooth flow ABL condition are conducted to examine whether changes in wind speed influence the mean pressure coefficients. Specifically, constant mean wind velocities of 9&#xa0;m/s and 38&#xa0;m/s at the reference height (the horizontal centerline of the solar panel array) are considered. Using the WE-UQ software for CFD simulation, the distributions of mean pressure coefficients from 38&#xa0;m/s inflow wind speed on the solar panel model are obtained and presented in <xref ref-type="fig" rid="F8">Figure 8a</xref>. Additionally, the ratio of mean pressure coefficient distributions between mean wind speeds 9&#xa0;m/s and 38&#xa0;m/s is calculated and presented in <xref ref-type="fig" rid="F8">Figure 8b</xref>. This is done to assess whether the difference is significant. As it can be seen from <xref ref-type="fig" rid="F8">Figures 8a,b</xref>, the mean pressure coefficient distributions along the solar panel arrays remain close under different values of inflow wind speed. This indicates that in CFD simulation for smooth flow ABL conditions, the change of inflow mean wind speed does not change the mean pressure coefficients significantly, and the slight difference of the pressure coefficients between two inflow speeds attribute the uncertainties generated by the mesh of the solar panel array in WE-UQ.</p>
<fig id="F8" position="float">
<label>FIGURE 8</label>
<caption>
<p>Mean pressure coefficient distributions on the solar panel model by CFD simulation: <bold>(a)</bold> 9&#xa0;m/s inflow, and <bold>(b)</bold> 38&#xa0;m/s inflow.</p>
</caption>
<graphic xlink:href="fbuil-12-1749310-g008.tif">
<alt-text content-type="machine-generated">Two side-by-side contour plots labeled (a) and (b) display variations in pressure coefficient across eighteen horizontal locations on a solar panel, with color gradients from blue to yellow indicating values from zero point six to one point six. The vertical axis labels key structural features: lower frame, lower purlin, horizontal center-line, upper purlin, and upper frame. A color bar on the right provides a visual key for pressure coefficient values.</alt-text>
</graphic>
</fig>
<p>Additionally, as mentioned in <xref ref-type="sec" rid="s1">Section 1</xref>, peak pressure coefficients are significantly influenced by the geometric scale of the solar panel array, while mean pressure coefficients are not significantly influenced by model size. Thus, the use of mean pressure coefficients rather than time histories reduces potential scaling errors. Using mean pressure coefficients, the dynamic wind pressure can be computed as<disp-formula id="e22">
<mml:math id="m117">
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0.5</mml:mn>
<mml:mi>&#x3c1;</mml:mi>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>u</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mo>&#x304;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3c1;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x221e;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(22)</label>
</disp-formula>where <inline-formula id="inf96">
<mml:math id="m118">
<mml:mrow>
<mml:mi>u</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> is again the simulated stationary stochastic wind velocity and <inline-formula id="inf97">
<mml:math id="m119">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mo>&#x304;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the mean pressure coefficient, both at a given location. In this context, a simple scheme can be built to estimate stationary wind loads based on spatially correlated stochastic wind speed and mean pressure coefficient distributions on the solar panel model:<list list-type="roman-upper">
<list-item>
<p>Select the appropriate power spectrum of stationary wind turbulence. Kaimal spectrum is selected in this paper.</p>
</list-item>
<list-item>
<p>Use the stochastic wave-based spectral representation method (SRM) in <xref ref-type="disp-formula" rid="e9">Equations 9</xref>, <xref ref-type="disp-formula" rid="e10">10</xref> to estimate stationary wind turbulence on a full-scale solar panel array model.</p>
</list-item>
<list-item>
<p>Use <xref ref-type="disp-formula" rid="e11">Equation 11</xref> to obtain total stationary wind speed by adding constant mean wind speed and wind turbulence estimated from stochastic wave-based SRM.</p>
</list-item>
<list-item>
<p>Import the 1:10 scale geometry model of the solar panel array to WE-UQ and use WE-UQ to estimate the mean pressure coefficient distributions under ABL with smooth inflow conditions.</p>
</list-item>
<list-item>
<p>Use stationary total wind speed and mean pressure coefficients to generate stochastic stationary wind loads acting on the full-scale solar panel array model by applying <xref ref-type="disp-formula" rid="e22">Equation 22</xref>.</p>
</list-item>
</list>
</p>
</sec>
</sec>
<sec id="s3">
<label>3</label>
<title>Dynamic analysis of a solar panel array</title>
<p>In this section, the stationary wind loads are used to evaluate the deformation of field solar panel arrays. In this context, the geometry of the solar panel array located at the Michigan Solar Regional Test Center (MI RTC), shown in <xref ref-type="fig" rid="F9">Figure 9</xref>, was used to create a simulation model. This site has 10 rows of solar panel arrays, each with a length of 22.2&#xa0;m and a height of 1.83&#xa0;m. The spacing between adjacent arrays is 5.18&#xa0;m. Each array has 18 panels, each of which is 2.024&#xa0;m by 1.002&#xa0;m in size. On each row, a compression spring and a hydraulic damper are attached to the left end of the torque tube of the solar panel array in <xref ref-type="fig" rid="F9">Figure 9</xref>, while the right end of the torque tube is fixed to the tracker motor, and assumed unable to rotate in the simulations below. In this study, all modules are tilted at a <inline-formula id="inf98">
<mml:math id="m120">
<mml:mrow>
<mml:mn>30</mml:mn>
<mml:mo>&#xb0;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> angle relative to the horizontal plane. In <xref ref-type="fig" rid="F9">Figure 9</xref>, only the outermost row is included in the dynamic analysis; interior rows are not modeled. This indicates that the framework only works is limited to edge-row loading conditions and does not account for the panel-to-panel aerodynamic interference and wake effect, which can alter the pressure distributions and dynamic response of interior rows.</p>
<fig id="F9" position="float">
<label>FIGURE 9</label>
<caption>
<p>MI solar regional test center (MI RTC) in Michigan.</p>
</caption>
<graphic xlink:href="fbuil-12-1749310-g009.tif">
<alt-text content-type="machine-generated">Aerial photograph of a solar panel testing facility shows multiple rows of ground-mounted solar panels in the center, labeled &#x201C;5&#x201D;, with various solar panel arrays on metal frameworks labeled &#x201C;4&#x201D;. Numbered black rectangles indicate areas throughout the site: &#x201C;1&#x201D; at the top near a road, &#x201C;2&#x201D; on a small container building, &#x201C;3&#x201D; near equipment and forest, and &#x201C;6&#x201D; in the bottom right corner. Construction vehicles, storage containers, and a main building are visible in the background, with sparse vegetation surrounding the utility yard.</alt-text>
</graphic>
</fig>
<p>Further, a finite element (FE) model of the outermost single-axis solar panel array was built in OpenSees, as shown in <xref ref-type="fig" rid="F10">Figure 10</xref>. <xref ref-type="fig" rid="F10">Figure 10</xref> also identifies specific locations that will be used to present and analyze the results in this paper. Specifically, torsional time histories on the torque tube (T1-T3) are obtained to interpret the displacements of the entire solar panel array, and are used to compute torsional strains on orange collar dots and green color lines highlighted in <xref ref-type="fig" rid="F10">Figure 10</xref>. Further, the model primarily consists of beam-column elements used to represent the structural components shown in <xref ref-type="table" rid="T1">Table 1</xref>. The Young&#x2019;s modulus for steel and glass are specified as 200&#xa0;GPa and 68.3&#xa0;GPa, respectively. Meanwhile, the panels themselves were modeled as &#x2018;Elastic Membrane Plate&#x2019; elements. Since the deformation of the solar panel array remain in the elastic range, Rayleigh damping with a damping ratio of 0.01 is chosen to account for the light damping and stiffness of the solar panel array. The Rayleigh damping coefficients <inline-formula id="inf99">
<mml:math id="m121">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>M</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf100">
<mml:math id="m122">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>K</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> are computed based on the first and fourth natural frequencies of the solar panel array to ensure adequate damping across both low-frequency global modes and higher-frequency local modes. This selection captures both the dominant structural response and the influence of higher-order dynamic effects while minimizing overdamping in intermediate modes. Furthermore, the dynamic characteristics of the FE model are evaluated by identifying the modes that may be relevant for interpreting wind loading response. The first four natural frequencies are <inline-formula id="inf101">
<mml:math id="m123">
<mml:mrow>
<mml:mn>2.616</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>3.517</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>4.134</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, and 4.9&#xa0;Hz, respectively. Some mode shape plots are shown in <xref ref-type="fig" rid="F11">Figure 11</xref>. The mode shapes look as expected, with bending of the columns and torsion of the torque tube dominating the first four mode shapes. For higher modes, such as Mode 10 (6.05&#xa0;Hz), more localized deformations dominate, exemplified by local bending at the end of the torque tube in Mode 10.</p>
<fig id="F10" position="float">
<label>FIGURE 10</label>
<caption>
<p>OpenSees rendering of the solar panel array model. Specific locations used for presenting results are highlighted with symbols and labels.</p>
</caption>
<graphic xlink:href="fbuil-12-1749310-g010.tif">
<alt-text content-type="machine-generated">Structural diagram showing a connected grid framework with blue lattice beams, circular orange markers labeled Lower Frame at five locations L1 to L5, cyan segments labeled Torque Tube at T1, T2, and T3, and vertical struts ending at magenta squares.</alt-text>
</graphic>
</fig>
<table-wrap id="T1" position="float">
<label>TABLE 1</label>
<caption>
<p>OpenSees model properties.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center">Elements</th>
<th align="center">Discription</th>
<th align="center">Size</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">Torque tube</td>
<td align="left">One steel octagon main axis that runs through the array and supports the panels<break/>
</td>
<td align="left">Side length: 1.75&#x201d; Thickness: 1/4&#x201d; Total length: 874.02&#x201d;</td>
</tr>
<tr>
<td align="center">Support column</td>
<td align="left">A total of six steel columns, each with a height of 1.83&#xa0;m. fixed end boundary conditions for all columns to the ground<break/>
</td>
<td align="left">Depth: 6&#x201d; Flange thickness: 0.25&#x201d; Flange width: 4&#x201d; Web thickness: 3/8&#x201d; </td>
</tr>
<tr>
<td align="center">Module</td>
<td align="left">Total of 18 modules, each modeled with shell elements with glass material properties - ShellMITC4 in OpenSees</td>
<td align="left">Thickness: 0.16&#x201d; Panel length: 79.69&#x201d; Panel width: 39.45</td>
</tr>
<tr>
<td align="center">Frame</td>
<td align="left">Rectangular tubes made of aluminum that hold the modules in place. Each module is held by 4 frames</td>
<td align="left">Cross section: 1.18&#x201d; <inline-formula id="inf102">
<mml:math id="m124">
<mml:mrow>
<mml:mo>&#xd7;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.47&#x201d; (including hollow section: 0.925&#x201d; <inline-formula id="inf103">
<mml:math id="m125">
<mml:mrow>
<mml:mo>&#xd7;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.44&#x201d;)</td>
</tr>
<tr>
<td align="left">Purlin/Connector</td>
<td align="left">Steel purlins are the connection between the torque tube and the frame. Purlins are C-shape</td>
<td align="left">Length: 12&#x201d;</td>
</tr>
</tbody>
</table>
</table-wrap>
<fig id="F11" position="float">
<label>FIGURE 11</label>
<caption>
<p>Mode shapes of the solar panel array model. <bold>(a)</bold> Mode 2. <bold>(b)</bold> Mode 4. <bold>(c)</bold> Mode 10.</p>
</caption>
<graphic xlink:href="fbuil-12-1749310-g011.tif">
<alt-text content-type="machine-generated">Three 3D renderings labeled a, b, and c each show a rectangular grid structure supported by thin vertical columns. Panel a displays a flat, regular surface. Panel b introduces mild bending and surface irregularities along the grid. Panel c features pronounced, wavy deformations with significant twisting along the length of the structure.</alt-text>
</graphic>
</fig>
</sec>
<sec sec-type="results|discussion" id="s4">
<label>4</label>
<title>Results and discussions</title>
<p>In this section, using the algorithm in <xref ref-type="sec" rid="s2">Section 2</xref> based on 9&#xa0;m/s and 38&#xa0;m/s mean wind speed, one stochastic sample of stationary wind pressure time histories of both cases and corresponding power spectra on the solar panel array model can be generated, and are shown in <xref ref-type="fig" rid="F12">Figure 12</xref>. As it can be seen, although the mean pressure coefficient distributions from 9&#xa0;m/s and 38&#xa0;m/s mean wind speeds at the reference height are close, the pressure time histories from 38&#xa0;m/s wind speed are much larger than those from 9&#xa0;m/s wind speed. This can be attributed to the fact that the turbulence generated from the stochastic wave-based SRM based on 38&#xa0;m/s is much larger than the turbulence based on 9&#xa0;m/s. In addition, the corresponding power spectra from 38&#xa0;m/s wind speed are also much larger than the power spectra from 9&#xa0;m/s wind speed, indicating that 38&#xa0;m/s mean wind speed can generate much more powerful wind pressure than 9&#xa0;m/s mean wind speed.</p>
<fig id="F12" position="float">
<label>FIGURE 12</label>
<caption>
<p>Sample pressure time histories and power spectra for the proposed framework from <bold>(a)</bold> 9 m/s and <bold>(b)</bold> 38 m/s wind speed, respectively.</p>
</caption>
<graphic xlink:href="fbuil-12-1749310-g012.tif">
<alt-text content-type="machine-generated">Two related line graphs compare wind pressure data for wind speeds of nine meters per second and thirty-eight meters per second, both distinguished by color. The left graph displays fluctuating pressure in pascals over one hundred and fifty seconds, with higher values for the faster wind speed. The right graph shows a log-log plot of power spectral density versus frequency in hertz, where the spectral density is consistently higher for the faster wind speed. Both graphs include a legend identifying wind speeds.</alt-text>
</graphic>
</fig>
<sec id="s4-1">
<label>4.1</label>
<title>Lower frame</title>
<sec id="s4-1-1">
<label>4.1.1</label>
<title>Spectrogram</title>
<p>The spectrograms of the displacements at L1 in <xref ref-type="fig" rid="F10">Figure 10</xref> under 9&#xa0;m/s and 38&#xa0;m/s mean wind speed are shown in <xref ref-type="fig" rid="F13">Figure 13</xref>. <xref ref-type="fig" rid="F13">Figure 13</xref> illustrates the time-varying frequency content of the response; the dashed-dot black lines denote the standard deviation of frequency values. As it can be observed, higher modes respond more when simulated stochastic wind loads from 38&#xa0;m/s mean wind speed, while higher modes respond less to wind loads from 9&#xa0;m/s mean wind speed. The standard deviation indicates that the modules under 38&#xa0;m/s mean wind speed experiences more oscillated displacements.</p>
<fig id="F13" position="float">
<label>FIGURE 13</label>
<caption>
<p>Spectrogram of the lower frame edge (location L1 in <xref ref-type="fig" rid="F10">Figure 10</xref>). <bold>(a)</bold> 9&#xa0;m/s mean wind speed. <bold>(b)</bold> 38&#xa0;m/s mean wind speed.</p>
</caption>
<graphic xlink:href="fbuil-12-1749310-g013.tif">
<alt-text content-type="machine-generated">Two spectrogram panels labeled (a) and (b) compare power spectral density in decibels and standard deviation of frequency over time. Both panels plot frequency on the y-axis, time on the x-axis, and display a color gradient from blue to red representing power. Overlayed dashed lines show the standard deviation of frequency with a corresponding orange y-axis. Panel (a) shows relatively stable standard deviation and lower power variation, while panel (b) exhibits higher variability in standard deviation and a more intense color gradient indicating greater power fluctuations. Both include legends and axis labels.</alt-text>
</graphic>
</fig>
<p>Further, the spectrograms of the lower frame displacement response at locations L2 - L4 in <xref ref-type="fig" rid="F10">Figure 10</xref> from 9&#xa0;m/s and 38&#xa0;m/s mean wind speed are shown in <xref ref-type="fig" rid="F14">Figure 14</xref>. The frequency content varies between the end and middle locations along the length of the solar array, with the middle sections (L3 exhibiting higher frequency content than L2 and L4 in both cases. This is because the higher modes that are excited contain larger amplitudes near L3. Referring to <xref ref-type="fig" rid="F11">Figure 11C</xref>, this effect becomes more understandable: during higher modes <inline-formula id="inf104">
<mml:math id="m126">
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:msup>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mtext>th</mml:mtext>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>, the local movement near location L3 is very large. Furthermore, this effect is more pronounced from 38&#xa0;m/s mean wind speed.</p>
<fig id="F14" position="float">
<label>FIGURE 14</label>
<caption>
<p>Spectrograms of the lower frame edge at different locations. <bold>(a)</bold> At L2 from 9&#xa0;m/s mean wind speed. <bold>(b)</bold> At L3 from 9&#xa0;m/s mean wind speed. <bold>(c)</bold> At L4 from 9&#xa0;m/s mean wind speed. <bold>(d)</bold> At L2 from 38&#xa0;m/s mean wind speed. <bold>(e)</bold> At L3 from 38&#xa0;m/s mean wind speed. <bold>(f)</bold> At L4 from 38&#xa0;m/s mean wind speed.</p>
</caption>
<graphic xlink:href="fbuil-12-1749310-g014.tif">
<alt-text content-type="machine-generated">Six-panel figure showing spectrograms labeled a through f, each with frequency on the y-axis, time on the x-axis, and color indicating power in decibels. Panels d, e, and f show higher power, represented by more red, compared to panels a, b, and c which are dominated by green and blue areas, indicating lower power. All spectrograms display frequency bands up to twenty hertz over one hundred forty seconds.</alt-text>
</graphic>
</fig>
<p>Furthermore, 200 samples of stationary stochastic wind velocities were simulated to observe the ensemble average values of dynamic responses. The ensemble average values of the spectrograms of the panel displacements are shown in <xref ref-type="fig" rid="F15">Figure 15</xref>. As it can be seen, the power distribution of panel displacements along the time and frequency in <xref ref-type="fig" rid="F15">Figure 15</xref> exhibits similar trend as the power distribution in <xref ref-type="fig" rid="F14">Figure 14</xref>. Compared to the power distribution in <xref ref-type="fig" rid="F14">Figure 14</xref>, the power distribution in 15 along the time and frequency is slightly more smooth and clear, which can validate the frequencies where modes are excited.</p>
<fig id="F15" position="float">
<label>FIGURE 15</label>
<caption>
<p>Spectrograms of the lower frame edge at different locations. <bold>(a)</bold> At L2 from 9&#xa0;m/s mean wind speed. <bold>(b)</bold> At L3 from 9&#xa0;m/s mean wind speed. <bold>(c)</bold> At L4 from 9&#xa0;m/s mean wind speed. <bold>(d)</bold> At L2 from 38&#xa0;m/s mean wind speed. <bold>(e)</bold> At L3 from 38&#xa0;m/s mean wind speed. <bold>(f)</bold> At L4 from 38&#xa0;m/s mean wind speed.</p>
</caption>
<graphic xlink:href="fbuil-12-1749310-g015.tif">
<alt-text content-type="machine-generated">Six-panel figure of spectrograms shows frequency (hertz) versus time (seconds) for panels labeled a, b, c on the top row and d, e, f on the bottom. Power (decibels) is color-coded from blue (lowest) to red (highest). Top row panels display lower average power than the more intense red gradient in the bottom row. Panel labels are clearly indicated below each spectrogram.</alt-text>
</graphic>
</fig>
</sec>
<sec id="s4-1-2">
<label>4.1.2</label>
<title>Power time series</title>
<p>Next, the power (dB values) of the first 4 modes plus the <inline-formula id="inf105">
<mml:math id="m127">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:msup>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mtext>th</mml:mtext>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> mode are extracted from the spectrogram and plotted with respect to time in <xref ref-type="fig" rid="F16">Figure 16</xref>. As it can be seen, the power time series from 9&#xa0;m/s mean wind speed is significantly lower than those from 38&#xa0;m/s mean wind speed. This indicates that at modes high wind speed is more excited than low wind speed.</p>
<fig id="F16" position="float">
<label>FIGURE 16</label>
<caption>
<p>Power time series of the lower frame edge. <bold>(a)</bold> Mode 1. <bold>(b)</bold> Mode 2. <bold>(c)</bold> Mode 3. <bold>(d)</bold> Mode 4. <bold>(e)</bold> Mode 10.</p>
</caption>
<graphic xlink:href="fbuil-12-1749310-g016.tif">
<alt-text content-type="machine-generated">Five line graphs labeled a through e display power in decibels over time in seconds for two wind speeds, nine meters per second and thirty-eight meters per second. Blue and green lines represent the two speeds, with the higher speed consistently showing higher power values. Each plot compares the same variables with minor variations in fluctuations and ranges.</alt-text>
</graphic>
</fig>
</sec>
</sec>
<sec id="s4-2">
<label>4.2</label>
<title>Torque tube</title>
<p>Further, the torque tube in the solar panel array is used to rotate the modules with respect to the position of the sun. So it must be designed to withstand the torque induced by twisting during heavy winds. Additionally, the distribution of twist along the torque tube gives an indication of the global response of the structure. Monitoring the torsional movement of the torque tube under wind loads is useful to ensure that the torque tube can prevent system failures and the dynamic response can be further understood.</p>
<p>In this regard, by applying the proposed simulation framework in section 2, 9&#xa0;m/s and 38&#xa0;m/s mean wind speed at the same reference height are used to estimate the torsional strain of the torque tube under different wind conditions, and the results are shown in <xref ref-type="fig" rid="F17">Figure 17</xref>. As it can be seen, compared to the proposed framework based on 9&#xa0;m/s mean wind speed, 38&#xa0;m/s mean wind speed generates much larger torsional strain time series. Then, the maximum strains in <xref ref-type="fig" rid="F17">Figure 17c</xref> from 9&#xa0;m/s and 38&#xa0;m/s mean wind speed are used respectively to calculate the twisting angle of the torque tube at location T3 shown in <xref ref-type="fig" rid="F10">Figure 10</xref>. At 9&#xa0;m/s, the twist angle is <inline-formula id="inf106">
<mml:math id="m128">
<mml:mrow>
<mml:mn>0.04</mml:mn>
<mml:mo>&#xb0;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>; at 38&#xa0;m/s, the twist angle is <inline-formula id="inf107">
<mml:math id="m129">
<mml:mrow>
<mml:mn>0.84</mml:mn>
<mml:mo>&#xb0;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>. Then, the peak differential displacements between the two ends of the upper frame of the right end solar panel module which is attached to T3 are derived respectively. At 9&#xa0;m/s, the peak displacement is 1.3&#xa0;mm; at 38&#xa0;m/s, the peak displacement is 29&#xa0;mm. This indicates that the deformation of the solar panel module under strong wind conditions may induce permanent damage to the module and detach the module from the torque tube.</p>
<fig id="F17" position="float">
<label>FIGURE 17</label>
<caption>
<p>Comparison between torsional strains between 9&#xa0;m/s mean wind speed and 38&#xa0;m/s mean wind speed. <bold>(a)</bold> T1. <bold>(b)</bold> T2. <bold>(c)</bold> T3.</p>
</caption>
<graphic xlink:href="fbuil-12-1749310-g017.tif">
<alt-text content-type="machine-generated">Three side-by-side line charts compare strain versus time for two wind speeds: 9 meters per second (green line) and 38 meters per second (red dashed line). In chart (a), both lines cluster near zero strain with minimal fluctuation. In chart (b), the 38 meters per second line exhibits significantly increased strain variation and amplitude, while the 9 meters per second line remains stable. Chart (c) displays further amplitude increase for the 38 meters per second line, while the 9 meters per second line still shows minimal change.</alt-text>
</graphic>
</fig>
<p>Further, to account for the effect of spatial variation on dynamic response of the torque tube, the peak differential settlement of the module under wind velocity without spatial variation is derived. Specifically, the fundamental spectral representation method (SRM) is used to generate stationary wind velocity time histories that are applied uniformly across the horizontal domain (<xref ref-type="bibr" rid="B2">Abrous and Wamkeue, 2015</xref>). In this case, the peak differential displacement is only 0.4&#xa0;mm, indicating that neglecting spatial variation can substantially underestimate the dynamic response of the solar panel array.</p>
<p>Next, the dominant frequency components contributing to the highest strain in the time series data are evaluated. This is done by applying the Inverse Fast Fourier Transform (IFFT) to reconstruct the signals corresponding to certain frequencies, and applying frequency domain decomposition of the strain time series. Results for an example strain time history simulated at location T3 are shown in <xref ref-type="fig" rid="F18">Figure 18</xref>. <xref ref-type="fig" rid="F18">Figure 18</xref> shows that more excitation of higher modes from 38&#xa0;m/s mean wind speed is again demonstrated.</p>
<fig id="F18" position="float">
<label>FIGURE 18</label>
<caption>
<p>Reconstructed signal of the torsional strain at location T3. <bold>(a)</bold> 9&#xa0;m/s mean wind speed. <bold>(b)</bold> 38&#xa0;m/s mean wind speed.</p>
</caption>
<graphic xlink:href="fbuil-12-1749310-g018.tif">
<alt-text content-type="machine-generated">Two side-by-side line graphs compare strain versus time for five vibration modes, labeled Mode 1, 2, 3, 4, and 10. Graph (a) shows strain values between negative ten and ten microstrain, while graph (b) shows a broader range from negative four hundred to four hundred microstrain. Both graphs indicate that Mode 1 exhibits higher amplitude oscillations than the other modes, which stay near zero. Each line style and color matches its mode as shown in the legend.</alt-text>
</graphic>
</fig>
<p>Further, the dynamic characteristics of the torsional strains are also needed for design purposes. In this manner, it is appropriate to observe the time-varying frequency content of the response of the torsional strain under a representative stochastic wind load sample from each case described in <xref ref-type="sec" rid="s2">Section 2</xref>. Since the torsional strains at location T3 are greater than at other positions on the torque tube, this makes the characteristics of torsional strains more distinguishable for analysis. Therefore, the spectrograms of torsional strain at T3 in <xref ref-type="fig" rid="F10">Figure 10</xref>, under the two cases of induced wind loading, are selected and shown in <xref ref-type="fig" rid="F19">Figure 19</xref>. In <xref ref-type="fig" rid="F19">Figure 19</xref>, the dashed-dot black lines represent standard deviation of frequency values. As it can be observed from <xref ref-type="fig" rid="F19">Figures 19a,b</xref>, the time-frequency content from 38&#xa0;m/s mean wins speed is generally much more powerful than the content from 9&#xa0;m/s mean wind speed, which causes the modes to be more excited. Further, <xref ref-type="fig" rid="F19">Figure 19c</xref> shows that with the high mean wind speed, the torsional strain is much more powerful than the torsional strain in <xref ref-type="fig" rid="F19">Figure 19b</xref>, and modes can be much more excited and visualized in spectrogram.</p>
<fig id="F19" position="float">
<label>FIGURE 19</label>
<caption>
<p>Spectrogram of the torsional strain (location T3 in <xref ref-type="fig" rid="F10">Figure 10</xref>). <bold>(a)</bold> 9&#xa0;m/s mean wind speed. <bold>(b)</bold> 38&#xa0;m/s mean wind speed.</p>
</caption>
<graphic xlink:href="fbuil-12-1749310-g019.tif">
<alt-text content-type="machine-generated">Two spectrogram panels labeled (a) and (b) display frequency in hertz against time in seconds. Color bars represent power in decibels, while overlaid black lines indicate mean frequency and standard deviation of frequency. Standard deviation is also marked on the right vertical axis in orange text. Panel (a) has a color bar ranging from negative twenty to thirty decibels, and panel (b) ranges from negative twenty to fifty decibels. Both plots use similar color transitions from blue to red.</alt-text>
</graphic>
</fig>
<p>Next, from <xref ref-type="sec" rid="s2">Section 2</xref>, 200 samples of stationary wind velocities based on 9&#xa0;m/s mean wind speed and 38&#xa0;m/s mean wind speed are used to simulate corresponding samples of torsional strain time series, respectively. Then, the ensemble average of the spectrogram values of the strains is shown in <xref ref-type="fig" rid="F20">Figure 20</xref>. As it can be seen, the dominant frequencies at which the structural modes are excited still remain obvious in both cases, which can validate the accuracy of the proposed framework to identify the mode excitation. <xref ref-type="fig" rid="F20">Figure 20</xref> also shows that the time-frequency content from 38&#xa0;m/s mean wins speed is still generally much more powerful than the content from 9&#xa0;m/s mean wind speed.</p>
<fig id="F20" position="float">
<label>FIGURE 20</label>
<caption>
<p>Ensemble average of spectrogram values of torsional strain at T3: <bold>(a)</bold> from 9&#xa0;m/s mean wind speed, and <bold>(b)</bold> from 38&#xa0;m/s mean wind speed.</p>
</caption>
<graphic xlink:href="fbuil-12-1749310-g020.tif">
<alt-text content-type="machine-generated">Two color spectrograms comparing frequency over time, annotated with mean frequency and standard deviation. Both display frequency in hertz, time in seconds, a color bar for power in decibels, and secondary y-axes for standard deviation. Each image includes a legend in the upper left showing mean and standard deviation lines, with plot (a) on the left and plot (b) on the right, both using similar color schemes to visualize spectral differences.</alt-text>
</graphic>
</fig>
</sec>
</sec>
<sec id="s5">
<label>5</label>
<title>Concluding remarks</title>
<p>In this paper, the problem of simulating the dynamic response of solar panel arrays under stationary stochastic wind loads is addressed. To address this challenge, wind tunnel tests were previously conducted to investigated the pressure coefficient time histories from the pressure taps installed on scaled solar panel array models. However, wind tunnel tests require substantial experimental resources, and the induced wind loads do not capture the spatial correlation along the length of the full-scale solar panel model. In addition, using scaled models introduces scaling effects that affects the accuracy of the peak wind pressures, whereas scaling effects do not affect the accuracy of mean wind pressures significantly. In this regard, a novel simulation framework is proposed to efficiently estimate induced wind pressures by combining the simulation spatially correlated stationary wind speed along the length of the full-scale solar panel array model by the wave-based spectral representation method (SRM), and the mean pressure coefficient distributions on 1:10 scaled solar panels under smooth wind inflow ABL conditions which are simulated by using CFD simulation software WE-UQ. Furthermore, an example full-scale array model from MI RTC is modeled using finite element software OpenSees, and dynamic responses under induced wind loads based on 9&#xa0;m/s and 38&#xa0;m/s mean wind speed at the reference height are further simulated, respectively. It is observed that the proposed framework requires significantly less computation time and experimental resources since wind tunnel tests are not required. Further, the results show that under strong wind conditions, the induced wind pressure and the corresponding torsional strain of the torque tube are much larger and more powerful. These indicate that a useful and efficient simulation framework is provided to induce spatially correlated stationary wind pressure time histories across the length of full-scale solar panel arrays, and therefore can accurately capture the excitation of higher modes that might be important in safety design of torque tube. In the future, the wind tunnel tests on the solar panel model will be conducted to obtain pressure coefficients time histories distributed along the solar panel array. This will be done to compare the results to the results from this paper to assess and validate the accuracy of the novel framework.</p>
</sec>
</body>
<back>
<sec sec-type="data-availability" id="s6">
<title>Data availability statement</title>
<p>The raw data supporting the conclusions of this article will be made available by the authors, without undue reservation.</p>
</sec>
<sec sec-type="author-contributions" id="s7">
<title>Author contributions</title>
<p>HZ: Conceptualization, Investigation, Methodology, Software, Validation, Visualization, Writing &#x2013; original draft, Writing &#x2013; review and editing. Y-JL: Investigation, Methodology, Software, Visualization, Writing &#x2013; original draft, Writing &#x2013; review and editing. MD: Conceptualization, Investigation, Methodology, Supervision, Validation, Visualization, Writing &#x2013; original draft, Writing &#x2013; review and editing.</p>
</sec>
<ack>
<title>Acknowledgements</title>
<p>The authors also gratefully acknowledge the guidance of the WE-UQ application by Abiy Melaku from the SimCenter at the University of California, Berkeley.</p>
</ack>
<sec sec-type="COI-statement" id="s9">
<title>Conflict of interest</title>
<p>The author(s) declared that this work was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.</p>
</sec>
<sec sec-type="ai-statement" id="s10">
<title>Generative AI statement</title>
<p>The author(s) declared that generative AI was not used in the creation of this manuscript.</p>
<p>Any alternative text (alt text) provided alongside figures in this article has been generated by Frontiers with the support of artificial intelligence and reasonable efforts have been made to ensure accuracy, including review by the authors wherever possible. If you identify any issues, please contact us.</p>
</sec>
<sec sec-type="disclaimer" id="s11">
<title>Publisher&#x2019;s note</title>
<p>All claims expressed in this article are solely those of the authors and do not necessarily represent those of their affiliated organizations, or those of the publisher, the editors and the reviewers. Any product that may be evaluated in this article, or claim that may be made by its manufacturer, is not guaranteed or endorsed by the publisher.</p>
</sec>
<ref-list>
<title>References</title>
<ref id="B1">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Abiola-Ogedengbe</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Hangan</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Siddiqui</surname>
<given-names>K.</given-names>
</name>
</person-group> (<year>2015</year>). <article-title>Experimental investigation of wind effects on a standalone photovoltaic (pv) module</article-title>. <source>Renew. Energy</source> <volume>78</volume>, <fpage>657</fpage>&#x2013;<lpage>665</lpage>. <pub-id pub-id-type="doi">10.1016/j.renene.2015.01.037</pub-id>
</mixed-citation>
</ref>
<ref id="B2">
<mixed-citation publication-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Abrous</surname>
<given-names>E. M. B. A.</given-names>
</name>
<name>
<surname>Wamkeue</surname>
<given-names>R.</given-names>
</name>
</person-group> (<year>2015</year>). &#x201c;<article-title>Modeling and simulation of a wind model using a spectral representation method</article-title>,&#x201d; in <conf-name>3rd International Renewable and Sustainable Energy Conference (IRSEC)</conf-name> (<publisher-name>IEEE</publisher-name>).</mixed-citation>
</ref>
<ref id="B3">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Aly</surname>
<given-names>A. M.</given-names>
</name>
</person-group> (<year>2016</year>). <article-title>On the evaluation of wind loads on solar panels: the scale issue</article-title>. <source>Sol. Energy</source> <volume>135</volume>, <fpage>423</fpage>&#x2013;<lpage>434</lpage>. <pub-id pub-id-type="doi">10.1016/j.solener.2016.06.018</pub-id>
</mixed-citation>
</ref>
<ref id="B4">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Aly</surname>
<given-names>A. M.</given-names>
</name>
<name>
<surname>Bitsuamlak</surname>
<given-names>G.</given-names>
</name>
</person-group> (<year>2013</year>). <article-title>Aerodynamics of ground-mounted solar panels: test model scale effects</article-title>. <source>J. Wind Eng. Industrial Aerodynamics</source> <volume>123</volume>, <fpage>250</fpage>&#x2013;<lpage>260</lpage>. <pub-id pub-id-type="doi">10.1016/j.jweia.2013.07.007</pub-id>
</mixed-citation>
</ref>
<ref id="B5">
<mixed-citation publication-type="book">
<person-group person-group-type="author">
<name>
<surname>Aly</surname>
<given-names>A. M.</given-names>
</name>
<name>
<surname>Bitsuamlak</surname>
<given-names>G.</given-names>
</name>
</person-group> (<year>2014</year>). &#x201c;<article-title>Aerodynamic loads on ground-mounted solar panels: multi scale computational and experimental investigations</article-title>,&#x201d; in <source>Advances in civil, environmental, and materials research (ACEM14)</source>.</mixed-citation>
</ref>
<ref id="B6">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Benowitz</surname>
<given-names>B. A.</given-names>
</name>
<name>
<surname>Deodatis</surname>
<given-names>G.</given-names>
</name>
</person-group> (<year>2015</year>). <article-title>Simulation of wind velocities on long span structures: a novel stochastic wave based model</article-title>. <source>J. Wind Eng. Industrial Aerodynamics</source> <volume>147</volume>, <fpage>154</fpage>&#x2013;<lpage>163</lpage>. <pub-id pub-id-type="doi">10.1016/j.jweia.2015.10.004</pub-id>
</mixed-citation>
</ref>
<ref id="B7">
<mixed-citation publication-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Bitsuamlak</surname>
<given-names>G. T.</given-names>
</name>
<name>
<surname>Dagnew</surname>
<given-names>A. K.</given-names>
</name>
<name>
<surname>Erwin</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>2010</year>). &#x201c;<article-title>Evaluation of wind loads on solar panel modules using cfd</article-title>,&#x201d; in <conf-name>Proceedings of the fifth international symposium on computational wind engineering</conf-name> (<publisher-loc>Chapel Hill, NC, USA</publisher-loc>).</mixed-citation>
</ref>
<ref id="B8">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Cant</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Lee</surname>
<given-names>C. Y.</given-names>
</name>
</person-group> (<year>2017</year>). <article-title>Assessment of les subgrid-scale models and investigation of hydrodynamic behaviour for an axisymmetrical bluff body flow</article-title>. <source>Flow, Turbulence Combustion</source> <volume>98</volume> (<issue>1</issue>), <fpage>155</fpage>&#x2013;<lpage>176</lpage>. <pub-id pub-id-type="doi">10.1007/s10494-016-9751-4</pub-id>
<pub-id pub-id-type="pmid">30174547</pub-id>
</mixed-citation>
</ref>
<ref id="B9">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Chen</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Song</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Peng</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Spanos</surname>
<given-names>P. D.</given-names>
</name>
</person-group> (<year>2018</year>). <article-title>Simulation of homogeneous fluctuating wind field in two spatial dimensions <italic>via</italic> a joint wave number&#x2013;frequency power spectrum</article-title>. <source>J. Eng. Mech.</source> <volume>144</volume> (<issue>11</issue>), <fpage>04018100</fpage>. <pub-id pub-id-type="doi">10.1061/(asce)em.1943-7889.0001525</pub-id>
</mixed-citation>
</ref>
<ref id="B10">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Deierlein</surname>
<given-names>G. G.</given-names>
</name>
<name>
<surname>McKenna</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Zsarn&#xf3;czay</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Kijewski-Correa</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Kareem</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Elhaddad</surname>
<given-names>W.</given-names>
</name>
<etal/>
</person-group> (<year>2020</year>). <article-title>A cloud-enabled application framework for simulating regional-scale impacts of natural hazards on the built environment</article-title>. <source>Front. Built Environ.</source> <volume>6</volume>, <fpage>558706</fpage>. <pub-id pub-id-type="doi">10.3389/fbuil.2020.558706</pub-id>
</mixed-citation>
</ref>
<ref id="B11">
<mixed-citation publication-type="book">
<person-group person-group-type="author">
<name>
<surname>Holmes</surname>
<given-names>J. D.</given-names>
</name>
</person-group> (<year>2007</year>). <source>Wind loading of structures</source>. <publisher-name>New York City: Taylor &#x026; Francis</publisher-name>.</mixed-citation>
</ref>
<ref id="B12">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Jubayer</surname>
<given-names>C. M.</given-names>
</name>
<name>
<surname>Hangan</surname>
<given-names>H.</given-names>
</name>
</person-group> (<year>2016</year>). <article-title>A numerical approach to the investigation of wind loading on an array of ground mounted solar photovoltaic (pv) panels</article-title>. <source>J. Wind Eng. Industrial Aerodynamics</source> <volume>153</volume>, <fpage>60</fpage>&#x2013;<lpage>70</lpage>. <pub-id pub-id-type="doi">10.1016/j.jweia.2016.03.009</pub-id>
</mixed-citation>
</ref>
<ref id="B13">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Kopp</surname>
<given-names>G. A.</given-names>
</name>
<name>
<surname>Surry</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>K.</given-names>
</name>
</person-group> (<year>2002</year>). <article-title>Wind loads on a solar array</article-title>. <source>Wind and Struct.</source> <volume>5</volume> (<issue>5</issue>), <fpage>393</fpage>&#x2013;<lpage>406</lpage>. <pub-id pub-id-type="doi">10.12989/was.2002.5.5.393</pub-id>
</mixed-citation>
</ref>
<ref id="B14">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Letchford</surname>
<given-names>C. W.</given-names>
</name>
<name>
<surname>Iverson</surname>
<given-names>R. E.</given-names>
</name>
<name>
<surname>McDonald</surname>
<given-names>J. R.</given-names>
</name>
</person-group> (<year>1993</year>). <article-title>The application of the quasi-steady theory to full scale measurements on the texas tech building</article-title>. <source>J. Wind Eng. Industrial Aerodynamics</source> <volume>48</volume> (<issue>1</issue>), <fpage>111</fpage>&#x2013;<lpage>132</lpage>. <pub-id pub-id-type="doi">10.1016/0167-6105(93)90284-u</pub-id>
</mixed-citation>
</ref>
<ref id="B15">
<mixed-citation publication-type="book">
<person-group person-group-type="author">
<name>
<surname>McKenna</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Melaku</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Mackenzie-Helnwein</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Ding</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Gardner</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Yi</surname>
<given-names>S.</given-names>
</name>
<etal/>
</person-group> (<year>2025</year>). <source>Nheri-simcenter/we-uq: version 4.2.0</source>.</mixed-citation>
</ref>
<ref id="B16">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Melaku</surname>
<given-names>A. F.</given-names>
</name>
<name>
<surname>Bitsuamlak</surname>
<given-names>G. T.</given-names>
</name>
</person-group> (<year>2024</year>). <article-title>Prospect of les for predicting wind loads and responses of tall buildings: a validation study</article-title>. <source>J. Wind Eng. Industrial Aerodynamics</source> <volume>244</volume>, <fpage>105613</fpage>. <pub-id pub-id-type="doi">10.1016/j.jweia.2023.105613</pub-id>
</mixed-citation>
</ref>
<ref id="B17">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Melaku</surname>
<given-names>A. F.</given-names>
</name>
<name>
<surname>Doddipatla</surname>
<given-names>L. S.</given-names>
</name>
<name>
<surname>Bitsuamlak</surname>
<given-names>G. T.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Large-eddy simulation of wind loads on a roof-mounted cube: application for interpolation of experimental aerodynamic data</article-title>. <source>J. Wind Eng. Industrial Aerodynamics</source> <volume>231</volume>, <fpage>105230</fpage>. <pub-id pub-id-type="doi">10.1016/j.jweia.2022.105230</pub-id>
</mixed-citation>
</ref>
<ref id="B18">
<mixed-citation publication-type="book">
<person-group person-group-type="author">
<name>
<surname>Miller</surname>
<given-names>R. D.</given-names>
</name>
<name>
<surname>Zimmerman</surname>
<given-names>D. K.</given-names>
</name>
</person-group> (<year>1981</year>). <source>Wind loads on flat plate photovoltaic array fields. phase iii, final report</source>. <publisher-loc>Seattle, WA, USA</publisher-loc>: <publisher-name>Boeing Engineering and Construction Co.</publisher-name> <comment>Technical Report NREL/TP-5500-67456</comment>.</mixed-citation>
</ref>
<ref id="B19">
<mixed-citation publication-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Moravej</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Chowdhury</surname>
<given-names>A. G.</given-names>
</name>
<name>
<surname>Irwin</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Zisis</surname>
<given-names>I.</given-names>
</name>
<name>
<surname>Bitsuamalk</surname>
<given-names>G.</given-names>
</name>
</person-group> (<year>2015</year>). &#x201c;<article-title>Dynamic effects of wind loading on photovoltaic systems</article-title>,&#x201d; in <conf-name>14th International Conference on Wind Engineering (ICWE14)</conf-name> (<publisher-loc>Brazil</publisher-loc>: <publisher-name>Porto Alegre</publisher-name>).</mixed-citation>
</ref>
<ref id="B20">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Peng</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Huang</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Kareem</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>Y.</given-names>
</name>
</person-group> (<year>2016</year>). <article-title>An efficient space&#x2013;time based simulation approach of wind velocity field with embedded conditional interpolation for unevenly spaced locations</article-title>. <source>Probabilistic Eng. Mech.</source> <volume>43</volume>, <fpage>156</fpage>&#x2013;<lpage>168</lpage>. <pub-id pub-id-type="doi">10.1016/j.probengmech.2015.10.006</pub-id>
</mixed-citation>
</ref>
<ref id="B21">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Peng</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Huang</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Kareem</surname>
<given-names>A.</given-names>
</name>
</person-group> (<year>2017</year>). <article-title>Simulation of multivariate nonstationary random processes: hybrid stochastic wave and proper orthogonal decomposition approach</article-title>. <source>J. Eng. Mech.</source> <volume>143</volume> (<issue>9</issue>), <fpage>04017064</fpage>. <pub-id pub-id-type="doi">10.1061/(asce)em.1943-7889.0001273</pub-id>
</mixed-citation>
</ref>
<ref id="B22">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Schellenberg</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Maffei</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Telleen</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Ward</surname>
<given-names>R.</given-names>
</name>
</person-group> (<year>2013</year>). <article-title>Structural analysis and application of wind loads to solar arrays</article-title>. <source>J. Wind Eng. Industrial Aerodynamics</source> <volume>123</volume>, <fpage>261</fpage>&#x2013;<lpage>272</lpage>. <pub-id pub-id-type="doi">10.1016/j.jweia.2013.06.011</pub-id>
</mixed-citation>
</ref>
<ref id="B23">
<mixed-citation publication-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Shademan</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Hangan</surname>
<given-names>H.</given-names>
</name>
</person-group> (<year>2009</year>). &#x201c;<article-title>Wind loading on solar panels at different inclination angles</article-title>,&#x201d; in <conf-name>11th Americas conference on wind engineering</conf-name> (<publisher-loc>Puerto Rico</publisher-loc>: <publisher-name>San Juan</publisher-name>).</mixed-citation>
</ref>
<ref id="B24">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Shademan</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Barron</surname>
<given-names>R. M.</given-names>
</name>
<name>
<surname>Balachandar</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Hangan</surname>
<given-names>H.</given-names>
</name>
</person-group> (<year>2014a</year>). <article-title>Numerical simulation of wind loading on ground-mounted solar panels at different flow configurations</article-title>. <source>Can. J. Civ. Eng.</source> <volume>41</volume> (<issue>8</issue>), <fpage>728</fpage>&#x2013;<lpage>738</lpage>. <pub-id pub-id-type="doi">10.1139/cjce-2013-0537</pub-id>
</mixed-citation>
</ref>
<ref id="B25">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Shademan</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Balachandar</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Barron</surname>
<given-names>R. M.</given-names>
</name>
</person-group> (<year>2014b</year>). <article-title>Detached eddy simulation of flow past an isolated inclined solar panel</article-title>. <source>J. Fluids Structures</source> <volume>50</volume>, <fpage>217</fpage>&#x2013;<lpage>230</lpage>. <pub-id pub-id-type="doi">10.1016/j.jfluidstructs.2014.06.024</pub-id>
</mixed-citation>
</ref>
<ref id="B26">
<mixed-citation publication-type="book">
<person-group person-group-type="author">
<name>
<surname>Simiu</surname>
<given-names>E.</given-names>
</name>
<name>
<surname>Yeo</surname>
<given-names>D. H.</given-names>
</name>
</person-group> (<year>2019</year>). <source>Wind effects on structures: modern structural design for wind</source>. <publisher-name>John Wiley and Sons</publisher-name>.</mixed-citation>
</ref>
<ref id="B27">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Smagorinsky</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>1963</year>). <article-title>General circulation experiments with the primitive equations: I. the basic experiment</article-title>. <source>Mon. Weather Review</source> <volume>91</volume> (<issue>3</issue>), <fpage>99</fpage>&#x2013;<lpage>164</lpage>. <pub-id pub-id-type="doi">10.1175/1520-0493(1963)091&#x3c;0099:gcewtp&#x3e;2.3.co;2</pub-id>
</mixed-citation>
</ref>
<ref id="B28">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Stathopoulos</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Zisis</surname>
<given-names>I.</given-names>
</name>
<name>
<surname>Xypnitou</surname>
<given-names>E.</given-names>
</name>
</person-group> (<year>2014</year>). <article-title>Local and overall wind pressure and force coefficients for solar panels</article-title>. <source>J. Wind Eng. Industrial Aerodynamics</source> <volume>125</volume>, <fpage>195</fpage>&#x2013;<lpage>206</lpage>. <pub-id pub-id-type="doi">10.1016/j.jweia.2013.12.007</pub-id>
</mixed-citation>
</ref>
<ref id="B29">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Yemenici</surname>
<given-names>O.</given-names>
</name>
<name>
<surname>Aksoy</surname>
<given-names>M. O.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>An experimental and numerical study of wind effects on a ground-mounted solar panel at different panel tilt angles and wind directions</article-title>. <source>J. Wind Eng. Industrial Aerodynamics</source> <volume>213</volume>, <fpage>104630</fpage>. <pub-id pub-id-type="doi">10.1016/j.jweia.2021.104630</pub-id>
</mixed-citation>
</ref>
<ref id="B30">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhang</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Ma</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Kang</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Shao</surname>
<given-names>Q.</given-names>
</name>
<name>
<surname>Tang</surname>
<given-names>Z.</given-names>
</name>
</person-group> (<year>2023</year>). <article-title>Experimental study of the torsional aeroelastic instability of single-axis solar trackers under different turbulence intensities</article-title>. <source>J. Wind Eng. Industrial Aerodynamics</source> <volume>240</volume>, <fpage>105486</fpage>. <pub-id pub-id-type="doi">10.1016/j.jweia.2023.105486</pub-id>
</mixed-citation>
</ref>
<ref id="B31">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhao</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Xu</surname>
<given-names>Z.</given-names>
</name>
</person-group> (<year>2023</year>). <article-title>Simulation of turbulent wind field in multi-spatial dimensions using a novel non-uniform fft enhanced stochastic wave-based spectral representation method</article-title>. <source>Mech. Syst. Signal Process.</source> <volume>200</volume>, <fpage>110520</fpage>. <pub-id pub-id-type="doi">10.1016/j.ymssp.2023.110520</pub-id>
</mixed-citation>
</ref>
<ref id="B32">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhu</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Huang</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>Q. S.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>Large-eddy simulation of the inflow turbulence transport and aerodynamics of a rectangular 5: 1 cylinder with high-order numerical methods</article-title>. <source>J. Wind Eng. Industrial Aerodynamics</source> <volume>207</volume>, <fpage>104366</fpage>. <pub-id pub-id-type="doi">10.1016/j.jweia.2020.104366</pub-id>
</mixed-citation>
</ref>
</ref-list>
<fn-group>
<fn fn-type="custom" custom-type="edited-by">
<p>
<bold>Edited by:</bold> <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/2411927/overview">Hua-Yi Peng</ext-link>, Harbin Institute of Technology, Shenzhen, China</p>
</fn>
<fn fn-type="custom" custom-type="reviewed-by">
<p>
<bold>Reviewed by:</bold> <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/168538/overview">Teng Wu</ext-link>, University at Buffalo, United States</p>
<p>
<ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/1038855/overview">Haoran Pan</ext-link>, Guangzhou University, China</p>
</fn>
</fn-group>
</back>
</article>