System and method for training physical information neural network by using turbulent Reynolds average Navier Stokes formula
By using the RANS-PINN system and a neural network training method that utilizes pre-training and physical information regularization, the problems of high computational cost and training loss interference are solved, enabling rapid and accurate prediction of turbulent flow fields and improving the efficiency and accuracy of design optimization.
Patent Information
- Application Number
- CN202480032856.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-05-17
- Filing Date
- 2024-05-16
- Publication Date
- 2025-12-26
AI Technical Summary
Traditional methods, when designing complex devices and systems, limit the scope of design optimization due to the high computational cost of high-fidelity CFD simulation, leading to suboptimal design choices. Furthermore, existing neural network training methods suffer from problems such as training loss interference, slow convergence, and high verification errors.
A Reynolds-averaged Navian-Stokes physical information neural network (RANS-PINN) is adopted. The neural network is updated independently during the pre-training stage, and a balanced PDE constraint and data loss are introduced during the training stage. The loss function is optimized using the logarithmic loss function and the mean square error function to achieve the convergence of the neural network.
It significantly accelerates design evaluation, provides rapid and accurate simulation results prediction, reduces computational costs, and improves the accuracy and efficiency of design selection.
Smart Images

Figure CN121219705A_ABST
Abstract
Description
BACKGROUND
[0001] Conventional approaches for designing complex devices and systems (e.g., aerodynamic surfaces and thermal management systems) involve repeated interactions between exploring the design and operating space and evaluating performance through computationally intensive computational fluid dynamics (CFD) simulations. However, the high computational cost associated with high-fidelity CFD solvers limits the overall scope of design optimization, often resulting in suboptimal design choices. In this context, neural networks offer an excellent tool for building fast and accurate surrogate models of CFD simulations, leveraging their expressivity in capturing the functional relationship between initial / boundary conditions and the solution field of partial differential equations (PDEs) and their ability to predict simulation results through a single forward pass. Such deep learning-based approaches can significantly accelerate design evaluation, thereby facilitating the generation of enhanced design choices by quickly predicting simulation results.
[0002] In particular, physics-informed neural networks (PINNs) can leverage automatic differentiation and incorporate underlying PDEs to approximate solution fields. PINNs combine differential equations (such as compressible and incompressible Navier-Stokes equations) with experimental data or high-fidelity numerical simulations. Conventional approaches for training PINNs involve introducing data and PDE losses simultaneously at the beginning of the training phase, which are typically multiplied by equal-weighted multipliers. However, it is recognized herein that such training approaches often result in training losses with interference, slow convergence, and high validation errors. SUMMARY
[0003] Embodiments of the present invention address and overcome one or more of the drawbacks or technical problems described herein by providing methods, systems, and devices for predicting flow fields (e.g., velocity and pressure) in high Reynolds number turbulent regimes. Considering the additional complexity introduced by turbulence, a Reynolds-averaged Navier-Stokes physics-informed neural network (RANS-PINN) can employ a two-equation eddy viscosity model based on the Reynolds-averaged Navier-Stokes (RANS) formulation. Furthermore, embodiments define a novel training approach for PINNs that ensures effective initialization and balancing between individual components of the loss function.
[0004] In example aspects, a turbulent flow proxy model system defines a plurality of neural networks that are trained with inputs to define a network of a pre-training phase. Each neural network of the plurality of neural networks is configured to generate a respective output variable associated with turbulent flow. During the pre-training phase, each neural network of the plurality of neural networks only backpropagates a respective data loss. After the pre-training phase, the plurality of neural networks can be trained with inputs to define a training phase. During the training phase, a loss function defined by a plurality of partial differential equations (PDEs) constraints and data loss is able to propagate to the plurality of neural networks. The system is able to balance the PDE constraints until the neural networks converge to generate a Reynolds-averaged Navier-Stokes (RANS) physics-informed neural network (PINN) system configured to predict a flow field in a turbulent flow state. In examples, each neural network of the plurality of neural networks is updated independently of one another during the pre-training phase with the respective data loss of each neural network of the plurality of neural networks.
[0005] In another example aspect, the plurality of neural networks includes a first neural network that generates a first output variable representative of a first directional component (x-component) of velocity, a second neural network that generates a second output variable representative of velocity (e.g., a y-component) that is substantially perpendicular to the first directional component, a third neural network that generates a third output variable representative of pressure, a fourth neural network that generates a fourth output variable representative of kinetic energy, and a fifth neural network that generates a fifth output variable representative of dissipation rate. The inputs to the neural networks are able to define a position coordinate and a Reynolds number associated with the position coordinate. In examples, turbulent flow in internal flow is characterized by a Reynolds number greater than about 3000, such as between 3000 and 4000. BRIEF DESCRIPTION OF DRAWINGS
[0006] The above-described aspects and other aspects of the present application can be best understood with reference to the following specification taken in conjunction with the accompanying drawings. For the purpose of illustration, the presently preferred embodiments are shown in the drawings, although the application is not limited to the disclosed embodiments. Included in the drawings are the following figures: Figure 1 An example RANS-PINN computing system including a pre-training module and a physics-informed fine-tuning module is shown in accordance with example embodiments.
[0007] Figure 2 A computing environment in which embodiments of the present disclosure can be implemented is illustrated. DETAILED DESCRIPTION
[0008] First, it is recognized herein that current approaches to predicting turbulence (such as for fluids used in aerospace and automotive design, among others) using physics-informed neural networks (PINNs) do not produce accurate predictions beyond a certain Reynolds number (turbulence). In some cases, the current state of training is not able to cope with a larger range of Reynolds numbers to address the high Reynolds numbers associated with turbulence. It is further recognized herein that a universal training state can cause a lack of convergence in the evolution of a loss function (resulting in poor prediction performance) in the presence of additional turbulence modeling physics that have a two-way coupling with the Navier-Stokes (representing momentum conservation) and continuity (representing mass conservation) equations. Some approaches rely on large eddy simulations (LES) and other high-fidelity studies, but data can be difficult or impossible to generate.
[0009] It is further recognized herein that purely data-driven approaches (such as regression-based approaches using neural networks or other machine learning (ML) techniques) without any physics-informed regularization can result in a lack of generalization and require a larger amount of data without physical constraints.
[0010] Design optimization problems using parametric models are traditionally solved using computational fluid dynamics (CFD) simulations. If data-based surrogate models are used, more simulation data points can be required to train the surrogate that lacks dominant physics-based constraints. It is recognized herein that such surrogates can provide inaccurate solutions without sufficient computationally expensive simulation data. Still further, the entire flow field solution can only be obtained using CFD simulations, which can be computationally intensive and time-consuming.
[0011] According to various embodiments, therefore, data-based constraints are used to pre-train neural networks. For example, according to various embodiments, a neural network is trained for each output variable. Such training can use the same input variables for each neural network. In various examples, when pre-training is complete, PDE constraints are introduced into the loss function with equal weights for each component. During the introduction of the PDE loss, a logarithmic function of the error can be used in the case of the epsilon equation. Training can be performed until convergence is reached.
[0012] Reference is made to Figure 1The example RANS-PINN computing system 100 (or turbulence surrogate model system) can define a pre-training module 102 and a physical information fine-tuning module 104. The pre-training module 102 and the physical information fine-tuning module 104 can each define a plurality of neural networks 105. Specifically, for example and without limitation, the neural networks 105 can include a first neural network or first Fourier neural operator 106a, a second neural network or second Fourier neural operator 106b, a third neural network or third Fourier neural operator 106c, a fourth neural network or fourth Fourier neural operator 106d, and a fifth neural network or fifth Fourier neural operator 106e. Each of the neural networks 106a-e can receive the same input variables 108. Based on the input variables 108, each neural network can generate a respective output variable 110a-110e that is different from one another. Specifically, for example, the input variables 108 can define position coordinates (e.g., x and y) and an associated Reynolds number (Re). In an example, the first neural network 106a generates a first output variable 110a that represents a first directional component (e.g., x component) of velocity (u), the second neural network 106b generates a second output variable 110b that represents a second directional component (e.g., y component) of velocity (v) that is substantially perpendicular to the first directional component of velocity, the third neural network 106c generates a third output variable 110c that represents pressure (p), the fourth neural network 106d generates a fourth output variable 110d that represents turbulent kinetic energy (k), and the fifth neural network 106e generates a fifth output variable 110c that represents turbulent dissipation rate (e).
[0013] The underlying physics of the RANS-PINN computing system 100 is governed by the continuity equation (for mass conservation), the Navier-Stokes equation (for momentum conservation), and the k-ε turbulence model (for turbulent viscosity modeling). By letting u and p represent the flow velocity (i.e., a concatenated vector of u and v) and pressure, respectively, the Navier-Stokes equation and the continuity equation can be represented as Equations (1) and (2), respectively: (1) (2) where p is the density of the fluid, ∇ represents the vector differential operator, and μ eff represents the effective viscosity, e.g., the sum of the molecular viscosity (μ) and the turbulent viscosity (μ t ) (e.g., ). The k-ε turbulence model can be represented as: (3) (4) where C1=1.44, C2=1.92, σ k= 1 and σ ε = 1.3 is an empirical model constant. Further, P k and P ε can be defined to generate terms. The Reynolds number (Re) can be defined as where u inlet is the inlet velocity and L is the characteristic length.
[0014] Referring again to Figure 1 , the neural network 105 can be connected to a regularized loss function 112, where the physical information regularization terms are computed via individual nodes representing PDE (partial differential equation) loss components 114a-d and boundary loss components or boundary conditions (BC) 115. It is recognized herein that conventional approaches for training PINNs involve introducing data and PDE losses simultaneously at the beginning of the training phase, which typically have equal weight multipliers. However, it is further recognized herein that such training methods often result in training loss interference, slow convergence, and high validation error. The RANS-PINN computing system 100 addresses these challenges by employing a pre-training module 102 that uses only data-driven supervised loss. During pre-training, each of the networks 106a-e can be updated independently using its corresponding data loss 107a-e. After pre-training, the boundary conditions 115 and PDE constraints (PDE losses 114a-d) can be introduced into the combined loss function 112. Additionally, the fine-tuning module 104 can include an automatic differentiation module 120 configured to compute various derivatives of the predicted variables, which are needed to evaluate individual components of the physical information regularization terms. Further, in a number of examples, to standardize the influence of individual components 114a-d of the PDE loss function, the PDE loss components 114a-d are scaled / weighted by the inverse of their corresponding residual values. The system 100 can then perform adaptive moment estimation (Adam) with a decay step (e.g., an initial step of 0.001 and a decay rate of 0.95) until the training loss converges. To address technical challenges associated with the (multiple order of magnitude) discontinuity observed in the turbulent dissipation term near the wall and in the free shear region, the system 100 uses a logarithmic loss function for both the PDE loss 114d associated with ε and the data loss 116. Other losses can be computed using a mean squared error (MSE) loss function 118. Thus, the overall loss function 112 can be represented as: , (5) where the PDE loss is defined with a weight (λ): (6) Thus, referring specifically to Figure 1, the total loss function can be defined by the sum of data-driven supervised loss terms using MSE 118 and log loss 116, BC (boundary condition) loss 115, and PDE loss components 114a-d, which specifically include Navier-Stokes loss 114a ( ), continuity loss 114b ( ), turbulent kinetic energy loss 114c ( ), and turbulent dissipation rate loss 114d ( ). Furthermore, each of the PDE loss components 114a-d can be weighted at the end of the pre-training phase using the inverse of its residual value (λ 1-4 ).
[0015] In an example, data is generated using CFD (computational fluid dynamics) simulations. In an example, Simcenter STAR-CCM+ (version 17.02.008) is used to simulate turbulent flow scenarios with RANS CFD combined with a k-ε turbulence model simulation. An automatic mesh refiner is used for each test case, refined near the walls to achieve a low wall y+, and wall functions are used for the turbulent quantities. Furthermore, wake refinement is used to simulate the flow around the example cylinder and airfoil. The data generated from this simulation is then normalized using a dimensionless version of the underlying dynamics (i.e., continuity, Navier-Stokes, and RANS equations). By normalizing the spatial coordinates, velocities, and pressures with a characteristic length, inlet velocity, and dynamic pressure, respectively, the ranges of the various variables can be brought to comparable orders of magnitude. Later, the data can be de-normalized again before being visualized.
[0016] It should be appreciated that while the training described herein can generate a parameterized PINN 105 capable of adapting to varying Reynolds number, Re, initial investigations were performed using a single CFD case (at a fixed Re) to evaluate the optimal training regime described herein. Both laminar and turbulent flow around a cylinder are well-studied problems in CFD. The cylindrical obstacle creates a stagnation region and the flow is diverted to go around the obstacle. As a result, flow separation occurs and vortex shedding can be seen in the wake. However, steady RANS models average the periodic unsteady behavior, resulting in a time-averaged flow field. In the example test case, a constant velocity inlet was employed along with symmetry planes on the top and bottom walls and a zero pressure outlet. In the example pre-training and training phases, 3000 spatially distributed CFD data points were randomly sampled, with an additional 3000 points dedicated to the PDE loss. The primary loss can occur around the cylinder wall, which is known to be a challenging region for turbulent models due to the steep gradients. Example validation error values are shown in Table 1. In summary, the proposed training regime for the RANS-PINN system 100 described herein exhibits lower validation losses and superior prediction performance compared to previous approaches.
[0017] Table 1: Example validation error In another example, the system 100 was tested on other geometries, specifically: a first geometry involving a wing profile representing an external flow, where a pressure gradient is established between the top and bottom surfaces due to the acceleration of the flow over the top surface, which generates lift; and a second geometry consisting of a backward-facing step, where a separation bubble is formed due to the sudden expansion in the channel. This leads to flow separation and detachment, followed by re-attachment. Both cases have no-slip walls and constant velocity inlet boundary conditions and a zero pressure outlet. The low validation error shown in Table 2, along with visual checks on the spatial distribution (e.g., velocity and pressure), indicate that the flow field has been successfully predicted.
[0018] Table 2: Example validation error for NACA wing profile (Re = 3 x 10 5 ) and backward-facing step (Re = 5600) In another example, after illustrating the training scheme described in this paper with an example flow geometry, the flow around a cylinder problem can be revisited to create a parameterized PINN, such as PINN 105. The parameterized PINN can predict CFD simulation results for unseen flow scenarios, specifically for any given Reynolds number (Re) dependent on the inlet velocity. For example, the Reynolds number can be provided as input 108 (e.g., in addition to the position value) to the individual neural network 105. As an example test case, CFD simulations are run for six different Reynolds numbers ranging from 2800 to 5600, with uniform intervals between these values. In this example, 3000 spatial data points are sampled for each simulation. These spatial data points, along with the PDE loss, are used to train the parameterized PINN with Re as the underlying parameter. Although each CFD simulation has 61,000 grid data points, in this example, the parameterized PINN only needs 3000 points, resulting in faster convergence. By utilizing the parameterized PINN, the flow field at any given Reynolds number can be predicted. Without theoretical constraints, this implementation is highly beneficial for design optimization and exploratory research, as it eliminates the need for additional CFD data to predict the dominant flow variables across the entire solution domain. Furthermore, parameterized PINN can produce results in near real-time compared to traditional methods where each CFD simulation run takes approximately 24 core minutes, significantly accelerating the overall process. Table 3 shows example overall error metrics used for validation in the case of parameterized PINN.
[0019] Table 3: Example generalization error of parameterized PINN (no examples found) Therefore, as referenced in this article Figure 1As described, a turbulent flow agent model system can include a memory and a processor, the memory having stored thereon a plurality of modules, the processor configured to execute the modules. The modules can include a pre-training module configured to train a plurality of neural networks with inputs to define a pre-training phase. Each neural network of the plurality of neural networks can be configured to generate a respective output variable associated with turbulent flow. During the pre-training phase, each neural network can be further configured to backpropagate only a respective data loss. The modules can also include a physical information fine-tuning module configured to train the plurality of neural networks with inputs to define a training phase after the pre-training phase. During the training phase, the physical information fine-tuning module can be further configured to propagate a loss function defined by a plurality of partial differential equation (PDE) constraints and data losses to the plurality of neural networks. The fine-tuning module can balance the PDE constraints until the neural networks converge to generate a Reynolds-averaged Navier-Stokes (RANS) physical information neural network (PINN) system configured to predict a flow field in a turbulent flow state. In an example, each neural network of the plurality of neural networks is updated independently of one another based on their respective data losses during the pre-training phase.
[0020] In another example aspect, the plurality of neural networks includes a first neural network generating a first output variable representative of a first directional component (x-component) of velocity, a second neural network generating a second output variable representative of a second directional component (e.g., y-component) of velocity substantially perpendicular to the first directional component, a third neural network generating a third output variable representative of pressure, a fourth neural network generating a fourth output variable representative of kinetic energy, and a fifth neural network generating a fifth output variable representative of dissipation rate. The input to the neural networks can define a position coordinate and a Reynolds number associated with the position coordinate. In an example, turbulent flow in an internal flow is characterized by a Reynolds number greater than about 3000, e.g., between 3000 and 4000.
[0021] Without being limited by theory, the novel training scheme described herein can ensure the successful physical integration of the RANS turbulence model into the PINN. Once trained with a finite amount of CFD data, the RANS-PINN system 100 can produce accurate predictions of the overall flow field for a single Reynolds number. Based on these successful results evaluated for different flow geometries (e.g., cylinder flow, backward facing step, and NACA 2412 airfoil), a parameterized version of the RANS-PINN was generated to predict the cylinder flow for any given / unsighted Reynolds number. The parameterized RANS-PINN (highlighting how the complete simulation case can be inferred without any CFD data from that particular Reynolds number) offers great potential for solving design exploration and inverse problems for many real-world applications, including but not limited to the design of automobiles, turbine blades, ships, etc.
[0022] Without being limited by theory, the turbulence model described herein can have significant implications in many industrial and academic environments where the lack of computational resources hinders the use of direct numerical simulation (DNS) and large eddy simulation (LES). According to various embodiments, design and inverse problems in many real cases can be addressed by employing a turbulence PINN, such as the RANS-PINN 100. The ability to reconstruct the flow field from limited data can be helpful for real-world problems where sensor data is limited. Moreover, the parameterized PINN trained with minimal CFD data adds significant value to design exploration and optimization by providing a convenient, fast, and computationally efficient means to predict simulation results.
[0023] Figure 2 An example of a computing environment in which embodiments of the disclosure can be implemented is illustrated. The computing environment 500 includes a computer system 510 that can include a communication mechanism such as a system bus 521 or other communication mechanism for communicating information within the computer system 510. The computer system 510 also includes one or more processors 520 coupled with the system bus 521 for processing information. The computer system 100 can include or be coupled with the one or more processors 520.
[0024] The processor 520 can include one or more central processing units (CPUs), graphics processing units (GPUs), or any other processor known in the art. More generally, a processor as described herein is an apparatus for executing machine-readable instructions stored on a computer-readable medium to perform a task, and can include any one or combination of hardware and firmware. A processor can also include a memory that stores machine-readable instructions executable to perform a task. The processor processes information by manipulating, analyzing, modifying, converting or transmitting information for use by an executable program or an information device, and / or by routing the information to an output device. The processor can use or comprise the capabilities of a computer, controller or microprocessor, for example, and can be adjusted using executable instructions to perform a specialized function not otherwise performed by a general- purpose computer. The processor can include any type of appropriate processing unit including, but not limited to, a central processing unit, a microprocessor, a Reduced Instruction Set Computer (RISC) microprocessor, a Complex Instruction Set Computer (CISC) microprocessor, a microcontroller, an Application Specific Integrated Circuit (ASIC), a Field-Programmable Gate Array (FPGA), a System-on-a-Chip (SoC), a digital signal processor (DSP), etc. Further, the processor 520 can have any suitable microarchitecture design including any number of constituent components such as, for example, registers, multiplexers, arithmetic logic units, cache controllers for controlling read / write operations to cache memory, branch predictors, etc. The microarchitecture design of the processor can enable support for any of a variety of instruction sets. The processor can be coupled (electrically coupled and / or include executable components) with any other processor enabling interaction and / or communication therebetween. A user interface processor or generator is a known element including electronic circuitry or software or a combination of both for generating a display image or portions thereof. The user interface includes one or more display images enabling user interaction with the processor or other device.
[0025] The system bus 521 can include at least one of a system bus, a memory bus, an address bus, or a message bus, and can allow exchange of information (e.g., data, including computer executable code, signaling, etc.) between various components of the computer system 510. The system bus 521 can include, without limitation, a memory bus or memory controller, a peripheral bus, an accelerated graphics port, etc. The system bus 821 can be associated with any appropriate bus architecture, including, without limitation, Industry Standard Architecture (ISA), Micro Channel Architecture (MCA), Enhanced ISA (EISA), Video Electronics Standards Association (VESA) architecture, Accelerated Graphics Port (AGP) architecture, Peripheral Component Interconnect (PCI) architecture, PCI-Express architecture, Personal Computer Memory Card International Association (PCMCIA) architecture, Universal Serial Bus (USB) architecture, etc.
[0026] With continued reference to Figure 2 The computer system 510 can also include a system memory 530 coupled to the system bus 521 for storing information and instructions to be executed by processors 520. The system memory 530 can include computer readable storage media in the form of volatile and / or nonvolatile memory, such as read only memory (ROM) 531 and / or random access memory (RAM) 532. The RAM 532 can include other dynamic storage devices (e.g., dynamic RAM, static RAM, and synchronous DRAM (dynamic random access memory)). The ROM 531 can include other static storage devices (e.g., programmable ROM, erasable PROM, and electrically erasable PROM). In addition, the system memory 530 can be used for storing temporary variables or other intermediate information during execution of instructions by the processors 520. A basic input / output system 533 (BIOS) containing the basic routines that help to transfer information between elements within the computer system 510, such as during start-up, can be stored in the ROM 531. The RAM 532 can contain data and / or program modules that are immediately accessible and
[0027] The operating system 534 can be loaded into the memory 530 and can provide an interface between other application software executing on the computer system 510 and the hardware resources of the computer system 510. More specifically, the operating system 534 can include a set of computer executable instructions for managing the hardware resources of the computer system 510 and for providing common services to other application programs (e.g., managing memory allocation among various application programs). In certain example embodiments, the operating system 534 can control execution of one or more program modules depicted as being stored in the data storage 540. The operating system 534 can include any operating system now known or which can be later developed, including but not limited to any server operating system, any mainframe operating system, or any other proprietary or non-proprietary operating system.
[0028] The computer system 510 can also include a disk / media controller 543 coupled to the system bus 521 to control one or more storage devices, such as a magnetic hard disk 541 and / or a removable media drive 542 (e.g., floppy, optical disk drive, tape drive, flash drive, and / or solid state drive) for storing information and instructions. Storage devices 540 can be added to the computer system 510 using an appropriate device interface (e.g., a small computer system interface (SCSI), integrated device electronics (IDE), universal serial bus (USB), or FireWire). Storage devices 541, 542 can be external to the computer system 510.
[0029] The computer system 510 can also include a field device interface 565 coupled to the system bus 521 to control field devices 566, such as devices used in manufacturing a production line. The computer system 510 can include a user input interface or GUI (graphical user interface) 561, which can include one or more input devices, such as a keyboard, touchscreen, tablet, and / or pointing device, for interacting with a computer user and providing information to the processor 520.
[0030] The computer system 510 can perform a portion or all of the processing steps of the implementation of the application in response to the processor 520 executing one or more sequences of instructions contained in the memory, such as the system memory 530. Such instructions can be read into the system memory 530 from another computer-readable medium, such as a storage device 540 of the computer system 510. The magnetic hard disk 541 (or solid state drive) and / or the removable media drive 542 can contain one or more data storage devices and data files used by embodiments of the disclosure. The data storage 540 can include, but is not limited to, a database (e.g., relational, object-oriented, etc.), a file system, flat files, a distributed data storage device on which data is stored across more than one node of a computer network, a peer-to-peer network data storage device, etc. The data storage device can store various types of data, such as, for example, skill data, sensor data, or any other data generated in accordance with embodiments of the disclosure. The data storage device contents and data files can be encrypted to improve security. The processor 520 can also be employed in a multi-processing arrangement to execute the one or more sequences of instructions contained in the system memory 530. In alternative embodiments, hard-wired circuitry can be used in place of or in combination with software instructions. Thus, embodiments are not limited to any specific combination of hardware circuitry and software.
[0031] As described above, computer system 510 can include at least one computer-readable medium or memory for holding instructions programmed according to embodiments of the application and for containing data structures, tables, records, or other data described herein. The term "computer-readable medium" as used herein refers to any medium that participates in providing instructions to processor 520 for execution. A computer-readable medium can take many forms including, but not limited to, non-volatile media, volatile media, and transmission media. Non-volatile media includes, for example, optical or magnetic disks and other persistent media. Non-volatile media also includes a hard disk, or solid state drive 541, or removable media drive 542. Volatile media includes dynamic memory, such as system memory 530. Transmission media includes coaxial cables, copper wire and fiber optics, including the wires that comprise system bus 521. Transmission media also can take the form of acoustic or light waves, such as those generated during radio frequency or infrared data communications.
[0032] Computer readable medium instructions for carrying out operations of the present disclosure can be in assembly code, instruction set architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, or in source code or object code generated from any of these by one or more implementations. Computer readable program instructions can execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer can be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection can be made to an external computer (for example, through the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, programmable logic circuitry, field-programmable gate array (FPGA), or programmable logic array (PLA) can execute the computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects of the present disclosure.
[0033] Aspects of the present disclosure are described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the disclosure. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer readable medium instructions.
[0034] The computing environment 500 can also include a computer system 510 that is operated in a networked environment using logical connections to one or more remote computers, such as a remote computing device 580. The network interface 570 can enable communication, for example, with other remote computing devices 580 or systems, and / or storage devices 541, 542 via the network 571. The remote computing device 580 can be a personal computer (laptop or desktop), a mobile device, a server, a router, a network PC, a peer device, or other common network node, and typically includes many or all of the elements described above relative to the computer system 510. When used in a networking environment, the computer system 510 can include a modem 572 for establishing communications over the network 571, such as the Internet. The modem 572 can be connected to the system bus 521 via the user network interface 570, or via another appropriate mechanism.
[0035] The network 571 can be any network or system generally known in the art, including the Internet, an intranet, a local area network (LAN), a wide area network (WAN), a metropolitan area network (MAN), a direct connection or series of connections, a cellular telephone network, or any other network or medium that facilitates communication between the computer system 510 and other computers (e.g., remote computing device 580). The network 571 can be wired, wireless, or a combination thereof. Wired connections can be implemented using Ethernet, Universal Serial Bus (USB), RJ-6, or any other wired connection generally known in the art. Wireless connections can be implemented using Wi-Fi, WiMAX, and Bluetooth, infrared, cellular networks, satellite, or any other wireless connection methodology generally known in the art. Additionally, several networks can work alone or in communication with one another to facilitate communication in the network 571.
[0036] It should be appreciated that Figure 2 The program modules, applications, computer-executable instructions, code, and the like depicted in the computer system 510 are merely illustrative and not exhaustive, and the processes described as being supported by any particular module can alternatively be distributed across multiple modules or performed by different modules. Additionally, the various program modules, scripts, plug-ins, application programming interfaces (APIs), or any other appropriate computer-executable code can be provided locally on the computer system 510, the remote device 580, and / or hosted on other computing devices accessible via one or more of the networks 571 to support the functionality provided by the program modules, applications, or computer-executable code depicted in the computer system 510 and / or additional or alternative functionality. Figure 2 The program modules, applications, or computer-executable code depicted in the computer system 510 provide the functionality described and / or additional or alternative functionality. Moreover, the functionality can be modularized in different ways such that processes described as being performed by a particular module can be performed by different modules or distributed across several modules. Figure 2The processes supported by the collection of program modules depicted can be performed by a lesser or greater number of modules, or the functions described as being supported by any particular module can be supported at least in part by another module. Additionally, program modules supporting the functions described herein can form part of one or more applications executable across any number of systems or devices according to any appropriate computing model such as a client-server model, a peer-to-peer model, etc. Further, any of the functions described as being supported by any of the program modules depicted in FIG. 5 can be implemented at least in part in hardware and / or firmware across any number of devices.
[0037] It should also be understood that, without departing from the scope of the present disclosure, computer system 510 can include alternative and / or additional hardware, software, or firmware components in addition to those described or depicted. More specifically, it should be understood that the software, firmware, or hardware components depicted as forming part of computer system 510 are merely illustrative and that some components can not be present in various implementations or that additional components can be provided. While various illustrative program modules have been depicted and described as software modules stored in system memory 530, it should be understood that the functions described as being supported by the program modules can be enabled by any combination of hardware, software, and / or firmware. It should also be understood that each of the above-mentioned modules can represent a logical partitioning of supported functionality in various implementations. Such logical partitioning is depicted to facilitate explanation of functionality and can not represent the structure of software, hardware, and / or firmware used to implement the functionality. Accordingly, it should be understood that the functions described as being provided by a particular module can be provided at least in part by one or more other modules in various implementations. Moreover, in certain implementations one or more of the depicted modules can not be present while in other implementations additional modules not depicted can be present and can support at least a portion of the described functionality and / or additional functionality. Further, while certain modules can be depicted and described as sub-modules of another module, in certain implementations such modules can be provided as independent modules or sub-modules of other modules.
[0038] While specific embodiments of the disclosure have been described, a person of ordinary skill in the art will recognize that numerous other modifications and alternative implementations can be within the scope of the disclosure. For example, any functionality and / or processing capabilities described in relation to a particular device or component can be performed by any other device or component. Moreover, while various illustrative implementations and architectures have been described in terms of the embodiments of the disclosure, a person of ordinary skill in the art will appreciate numerous other modifications to the illustrative implementations and architectures described herein are within the scope of the disclosure. Additionally, it should be understood that any operation, element, component, data, etc. described herein as being based on or being based on another operation, element, component, data, etc. can additionally be based on one or more other operations, elements, components, data, etc. Accordingly, the phrase “based on” or variants thereof is to be interpreted as “based at least in part on.”
[0039] While implementations have been described in specific terms relating to structural features and / or method acts, it is to be understood that the disclosure is not necessarily limited to the particular features or acts described. Rather, the particular features and acts are disclosed as illustrative forms of implementing the implementations. Conditional language, such as, among others, “can,” “could,” “might,” or “may,” unless specifically stated otherwise, or otherwise understood within the context as used, is generally intended to convey that certain implementations could include, while other implementations do not include, certain features, elements, and / or steps. Thus, such conditional language is not generally intended to imply that certain features, elements, and / or steps are in any way required for one or more implementations or that one or more implementations necessarily include logic for deciding, with or without user input or prompting, whether these features, elements, and / or steps are included or are to be performed in any particular implementation.
[0040] The flow and block diagrams in the various figures illustrate the architecture, functionality, and operations of possible implementations of systems, methods and computer-program products according to various implementations of the present disclosure. In this regard, each block in the flow and block diagrams can represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the blocks can occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks can sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block and / or flow diagrams and combinations of blocks in the block and / or flow diagrams can be implemented by special-purpose hardware-based systems that perform the specified functions or acts, or combinations of special-purpose hardware and computer instructions.
Claims
1. A method performed by a turbulent flow proxy model system, the turbulent flow proxy model system defining a plurality of neural networks, the method comprising: training the plurality of neural networks with an input to define a pre-training phase, each neural network of the plurality of neural networks being configured to generate a respective output variable associated with turbulent flow; during the pre-training phase, each neural network of the plurality of neural networks backpropagates only a respective data loss; after the pre-training phase, training the plurality of neural networks with the input to define a training phase; during the training phase, propagating a loss function defined by a plurality of partial differential equation (PDE) constraints and data losses to the plurality of neural networks; and balancing the PDE constraints until the neural networks converge to generate a Reynolds-averaged Navier-Stokes (RANS) physics-informed neural network (PINN) system configured to predict a flow field in a turbulent flow regime.
2. The method of claim 1, the method further comprising: during the pre-training phase, updating each neural network of the plurality of neural networks independently of one another with the respective data loss of the neural network.
3. The method of claim 1, the method further comprising: a first neural network of the plurality of neural networks generating a first output variable representative of a first directional component of velocity; a second neural network of the plurality of neural networks generating a second output variable representative of a second directional component of the velocity, the second directional component of the velocity being substantially perpendicular to the first directional component of the velocity; a third neural network of the plurality of neural networks generating a third output variable representative of pressure; a fourth neural network of the plurality of neural networks generating a fourth output variable representative of kinetic energy; and a fifth neural network of the plurality of neural networks generating a fifth output variable representative of dissipation rate.
4. The method of claim 1, wherein, the input defining a position coordinate and a Reynolds number associated with the position coordinate.
5. The method of claim 1, wherein, the turbulent flow is defined to have a Reynolds number greater than 3000.
6. A turbulent flow proxy model system comprising: a memory having a plurality of modules stored on the memory; and a processor to execute the modules, the modules comprising: a pre-training module configured to train a plurality of neural networks with an input to define a pre-training phase, each neural network of the plurality of neural networks being configured to: generate a respective output variable associated with turbulent flow; and during the pre-training phase, backpropagate only a respective data loss; a physics-informed fine-tuning module configured to: after the pre-training phase, train the plurality of neural networks with the input to define a training phase; during the training phase, propagate a loss function defined by a plurality of partial differential equation (PDE) constraints and data losses to the plurality of neural networks; and balance the PDE constraints until the neural networks converge to generate a Reynolds-averaged Navier-Stokes (RANS) physics-informed neural network (PINN) system configured to predict a flow field in a turbulent flow regime. balancing the PDE constraints until the neural network converges to generate a Reynolds-Averaged Navier-Stokes (RANS) Physics-Informed Neural Network (PINN) system configured to predict a flow field in a turbulent state.
7. The system of claim 6, wherein, The pre-training module is further configured to update each of the plurality of neural networks independently from one another during the pre-training phase using a respective data loss of each of the plurality of neural networks.
8. The system of claim 6, wherein, The plurality of neural networks further comprises: a first neural network configured to generate a first output variable representative of a first directional component of a velocity; a second neural network configured to generate a second output variable representative of a second directional component of the velocity, the second directional component being substantially perpendicular to the first directional component; a third neural network configured to generate a third output variable representative of a pressure; a fourth neural network configured to generate a fourth output variable representative of a kinetic energy; and a fifth neural network configured to generate a fifth output variable representative of a dissipation rate.
9. The system of claim 6, wherein, The input defines a position coordinate and a Reynolds number associated with the position coordinate.
10. The system of claim 6, wherein, The turbulent flow is defined as having a Reynolds number greater than 3000.