FIELD OF THE INVENTION

The present disclosure generally relates to modeling in computer graphics applications, and more particularly to efficient methods of computation used for simulating combustion reactions, some of which might be nonphysical, for use in generating computer-generated images depicting combustion reactions.

BACKGROUND

Combustion involves so many topics from both chemistry and physics that it is difficult to imagine anything more interdisciplinary. Obviously, chemical kinetics plays a central role, but so do several disciplines of physics, like thermodynamics, statistical mechanics, quantum mechanics, and fluid dynamics to mention just a few.

Combustion is surprisingly challenging from the perspectives of both understanding the fundamental chemical and physical processes, and modeling these processes on a computer. For example, simulating combustion requires an understanding of many advanced topics, such as discrete numerical analysis and multi-variable calculus. Further, accurate physical and chemical models of combustion model complex dynamic processes that occur within extremely short timeframes and at small length scales. For example, chemical reactions typically happen in femtosecond time scales, which produce local shock waves that propagate in the materials at the speed of sound. Regarding length scales, turbulent mixing of fuel and oxidizer plays an important role in non-premixed combustion, which is most common in nature, and occurs at Kolmogorov microscales (which can be as small a few molecules). Additionally, transport of heat, due to phenomena like convection, conduction, and radiation, is notoriously difficult to capture numerically.

Generally speaking, accurately modeling combustion events is not needed for computer graphics applications, which merely attempt to create realistic visual representations, if more efficient processes can used and do not materially affect visual results.

SUMMARY

A computer graphics system can generate computer-generated imagery, such as images or frames of a video sequence, that in part might include a visualization of combustion, such as a movie action scene wherein something combusts without there necessarily being a real-world combustion being recorded. It is often desirable that such visualization match well to what would appear in an actual combustion reaction or contrived combustion reaction.

A system of one or more computers can be configured to perform particular operations or actions by virtue of having software, firmware, hardware, or a combination of them installed on the system that in operation causes or cause the system to perform the actions. One or more computer programs can be configured to perform particular operations or actions by virtue of including instructions that, when executed by data processing apparatus, cause the apparatus to perform the actions. One general aspect includes a computer-readable medium storing instructions, which when executed by at least one processor, cause the system to: receive a first set of data representing a fluid flow including a plurality of combustion precursors including at least one arbitrary combustion precursor (physically realizable or otherwise); simulate a chemical reaction representing simulated combustion involving the plurality of combustion precursors and generating combustion byproducts; determine a change in temperature and a molar mass of the combustion byproducts due to the chemical reaction; determine a divergence of the combustion byproducts based on a combination of the change in the temperature and the change in molar mass; and generate one or more data structures of the simulated combustion based on values of at least a first portion of the fluid flow. Other embodiments of this aspect include corresponding computer systems, apparatus, and computer programs recorded on one or more computer storage devices, each configured to perform the actions of the methods.

Implementations may include one or more of the following features. In some embodiments, the instructions, when executed by the at least one processor, further cause the system to receive user-provided parameter values defining the at least one arbitrary combustion precursor, where simulating the chemical reaction is based at least in part on the user-provided parameter values. In some embodiments, the user-provided parameter values include at least one of molar mass, estimated chemical composition, specific heat capacity, density, mass, dynamic viscosity, bulk viscosity, temperature, heating value, emissivity, or diffusion coefficient. In some embodiments, the user-provided parameter values include one or more physical coefficients. In some embodiments, one or more physical coefficients include at least one of gravity, atmospheric pressure or ambient temperature. In some embodiments, the instructions, when executed by the at least one processor, further cause the system to: provide a user interface configured to receive the user-provided parameter values from a user. In some embodiments, the plurality of combustion precursors includes at least one non-arbitrary combustion precursor. In some embodiments, at least one non-arbitrary combustion precursor includes a linear alkane having a chemical composition with a form CnH2n+2. In some embodiments, the user provided parameter values defining the at least one arbitrary combustion precursor change the at least one non-arbitrary combustion precursor such that the at least one non-arbitrary combustion precursor is converted into an arbitrary combustion precursor. In some embodiments, the plurality of combustion precursors includes at least one non-combustible component. In some embodiments, the divergence is determined based on the change in temperature over time. In some embodiments, the divergence is determined based on the change in molar mass over time. In some embodiments, the instructions, when executed by the at least one processor, further cause the system to: simulate the combustion byproducts as a second portion of the fluid flow having a variable density, where the variable density of the fluid flow varies in response to the divergence of a velocity field pertaining to the fluid flow. In some embodiments, at least a second portion of the fluid flow is treated as incompressible. In some embodiments, At least a second portion of the fluid flow is treated as compressible. In some embodiments, the one or more data structures are configured for use by an animation process for generating one or more visual representations of a combustion event. In some embodiments, the instructions, when executed by the at least one processor, further cause the system to use a convolution kernel to simulate heat diffusion by blurring at least a portion of the one or more visual representations of the combustion event. In some embodiments, the instructions, when executed by the at least one processor, further cause the system to: derive the convolution kernel from a heat equation. In some embodiments, the combustion byproducts include soot particles. In some embodiments, at least some of the soot particles emit light. Implementations of the described techniques may include hardware, a method or process, or computer software on a computer-accessible medium.

This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to limit the scope of the claimed subject matter. A more extensive presentation of features, details, utilities, and advantages of the combustion simulation system, as defined in the claims, is provided in the following written description of various embodiments of the disclosure and illustrated in the accompanying drawings.

