Windowed simulation in fluid flows

US9367956B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9367956-B2
Application numberUS-201313843595-A
CountryUS
Kind codeB2
Filing dateMar 15, 2013
Priority dateJun 27, 2012
Publication dateJun 14, 2016
Grant dateJun 14, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A simulation application simulates a fluid flow. The simulation application divides a fluid into coarse volumetric elements (voxels) at a first resolution, and simulates the fluid flow at the first resolution. The simulation application defines a three-dimensional window that includes a portion of the coarse voxels. The simulation application divides each coarse voxel in the portion of the coarse voxels that lie within the three-dimensional window into a plurality of fine voxels at a second resolution. The simulation application simulates the fluid flow associated with each fine voxel in the plurality of fine voxels at the second resolution based at least in part on the simulation at the coarse resolution.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method for simulating a fluid flow, the method comprising: dividing a fluid into a plurality of coarse voxels at a first resolution; simulating the fluid flow associated with each coarse voxel in the plurality of coarse voxels at the first resolution; defining a three-dimensional window that includes a portion of the coarse voxels; dividing each coarse voxel in the portion of the coarse voxels into a plurality of fine voxels at a second resolution; simulating the fluid flow associated with each fine voxel in the plurality of fine voxels at the second resolution, based at least in part on the simulation at the first resolution. 2. The computer-implemented method of claim 1 , further comprising: calculating a first volume associated with the portion of course voxels by summing volumes for each coarse voxel in the portion of course voxels; calculating a second volume associated with the portion of course voxels by summing volumes for each fine voxel that lies within any of the course voxels in the portion of course voxels; calculating a difference between the first volume and the second volume; selecting at least a portion of the fine voxels; and adding a portion of the difference to each fine voxel in the portion of fine voxels. 3. The computer-implemented method of claim 2 , wherein adding a portion of the difference to each fine voxel in the portion of fine voxels comprises: determining whether the magnitude of the difference is below a threshold; and if the magnitude of the difference is below the threshold, then adding a portion of the difference to each fine voxel at a first rate; or if the magnitude of the difference is not below the threshold, then adding a portion of the difference to each fine voxel at a second rate. 4. The computer-implemented method of claim 3 , wherein the second rate is greater than the first rate. 5. The computer-implemented method of claim 4 , wherein the threshold is a first value if the difference is negative and a second value if the difference is positive. 6. The computer-implemented method of claim 5 , wherein the first value and the second value are adjustable by a user. 7. The computer-implemented method of claim 1 , wherein the three-dimensional window exceeds the size of a viewing frustum by at least one coarse voxel in at least one dimension. 8. A computer-readable storage medium storing instructions that, when executed by a processor, cause the processor to model a surface of a fluid in motion, by performing the steps of: for simulating a fluid flow, the method comprising: dividing a fluid into a plurality of coarse voxels at a first resolution; simulating the fluid flow associated with each coarse voxel in the plurality of coarse voxels at the first resolution; defining a three-dimensional window that includes a portion of the coarse voxels; dividing each coarse voxel in the portion of the coarse voxels into a plurality of fine voxels at a second resolution; simulating the fluid flow associated with each fine voxel in the plurality of fine voxels at the second resolution, based at least in part on the simulation at the first resolution. 9. The computer-readable storage medium of claim 8 , further comprising: calculating a first volume associated with the portion of course voxels by summing volumes for each coarse voxel in the portion of course voxels; calculating a second volume associated with the portion of course voxels by summing volumes for each fine voxel that lies within any of the course voxels in the portion of course voxels; calculating a difference between the first volume and the second volume; selecting at least a portion of the fine voxels; and adding a portion of the difference to each fine voxel in the portion of fine voxels. 10. The computer-readable storage medium of claim 9 , wherein adding a portion of the difference to each fine voxel in the portion of fine voxels comprises: determining whether the magnitude of the difference is below a threshold; and if the magnitude of the difference is below the threshold, then adding a portion of the difference to each fine voxel at a first rate; or if the magnitude of the difference is not below the threshold, then adding a portion of the difference to each fine voxel at a second rate. 11. The computer-readable storage medium of claim 10 , wherein the second rate is greater than the first rate. 12. The computer-readable storage medium of claim 11 , wherein the threshold is a first value if the difference is negative and a second value if the difference is positive. 13. The computer-readable storage medium of claim 12 , wherein the first value and the second value are adjustable by a user. 14. The computer-readable storage medium method of claim 8 , wherein the three-dimensional window exceeds the size of a viewing frustum by at least one coarse voxel in at least one dimension. 15. A computing system, comprising: a memory that is configured to store instructions for a program; and a processor that is configured to execute the instructions for the program to simulate a fluid flow, by performing the steps of: dividing a fluid into a plurality of coarse voxels at a first resolution; simulating the fluid flow associated with each coarse voxel in the plurality of coarse voxels at the first resolution; defining a three-dimensional window that includes a portion of the coarse voxels; dividing each coarse voxel in the portion of the coarse voxels into a plurality of fine voxels at a second resolution; simulating the fluid flow associated with each fine voxel in the plurality of fine voxels at the second resolution, based at least in part on the simulation at the first resolution. 16. The computing system of claim 15 , further comprising: calculating a first volume associated with the portion of course voxels by summing volumes for each coarse voxel in the portion of course voxels; calculating a second volume associated with the portion of course voxels by summing volumes for each fine voxel that lies within any of the course voxels in the portion of course voxels; calculating a difference between the first volume and the second volume; selecting at least a portion of the fine voxels; and adding a portion of the difference to each fine voxel in the portion of fine voxels. 17. The computing system of claim 16 , wherein adding a portion of the difference to each fine voxel in the portion of fine voxels comprises: determining whether the magnitude of the difference is below a threshold; and if the magnitude of the difference is below the threshold, then adding a portion of the difference to each fine voxel at a first rate; or if the magnitude of the difference is not below the threshold, then adding a portion of the difference to each fine voxel at a second rate. 18. The computing system of claim 17 , wherein the second rate is greater than the first rate. 19. The computing system of claim 18 , wherein the threshold is a first value if the difference is negative and a second value if the difference is positive. 20. The computing system of claim 19 , wherein the first value and the second value are adjustable by a user.

Assignees

Inventors

Classifications

  • Level of detail · CPC title

  • Fluid dynamics · CPC title

  • G06T17/00Primary

    Three-dimensional [3D] modelling for computer graphics · CPC title

  • for fluid flow (G06G7/50 takes precedence){; for distribution networks} · CPC title

  • Texture mapping · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9367956B2 cover?
A simulation application simulates a fluid flow. The simulation application divides a fluid into coarse volumetric elements (voxels) at a first resolution, and simulates the fluid flow at the first resolution. The simulation application defines a three-dimensional window that includes a portion of the coarse voxels. The simulation application divides each coarse voxel in the portion of the coar…
Who is the assignee on this patent?
O'Brien Michael K, Hale Dave, Kautzman Ryan, and 2 more
What technology area does this patent fall under?
Primary CPC classification G06T17/00. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jun 14 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).