IP Library Granted Patent US 11,847,391
Granted Patent B2
US 11,847,391 · App. 16/914,730 · Granted Dec 19, 2023

Computer system for simulating physical processes using surface algorithm

Inventors: Pradeep Gopalakrishnan (Woburn, MA); Raoyang Zhang (Burlington, MA); Hudong Chen (Newton, MA); Junye Wang (Johnston, RI); Avinash Jammalamadaka (Johnston, RI)
Assignee: Dassault Systemes Simulia Corp.
G06F30/28G06F7/485G06N7/08G06F2113/08
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,847,391
App. No.
16/914,730
Granted
Dec 19, 2023
Kind
B2
Abstract

Described are computer implemented techniques for simulating elements of a fluid flow. These techniques include storing in a memory state vectors for a plurality of voxels, the state vectors comprising a plurality of entries that correspond to particular momentum states of a plurality of possible momentum states at a voxel, storing in a memory a representation of at least one surface that is sized and oriented independently of the size and orientation of the voxels, perform interaction operations on the state vectors, the interaction operations modelling interactions between elements of different momentum states, perform surface interaction operations on the representation of the surface, the surface interaction operations modelling interactions between the surface and substantially all elements of voxels, and performing move operations on the state vectors to reflect movement of elements to new voxels.

Claims (76)

1. A computer implemented method for simulating elements of a fluid flow about a representation of surfaces of a physical object, the method comprises:

storing in a memory state vectors for a plurality of voxels, the state vectors comprising a plurality of entries that correspond to particular momentum states of a plurality of possible momentum states at a voxel;

wherein an entry of a state vector represents a density of elements per unit volume in a particular momentum state of the voxel;

storing in a memory a representation of at least one surface of the physical object that is sized and oriented independently of the size and orientation of the voxels;

wherein the representation of the at least one surface comprises a plurality of facets, each facet of the plurality being assigned surface properties;

performing interaction operations on the state vectors, the interaction operations modelling interactions between elements of different momentum states;

performing surface interaction operations on the representation of the surface of the physical object, the surface interaction operations modelling interactions between the surface of the physical object and all elements of voxels, by:

sampling density from fluid flow near the surface; and

rescaling the density so that a zero mass flux condition is satisfied on the surface; and

performing move operations on the state vectors to reflect movement of elements to new voxels.

2. The method of claim 1 wherein the surface interaction operations comprises:

gathering elements from a first set of at least one voxel that interacts with a facet;

modelling interactions between the gathered elements and all facets to produce a set of surface interacted elements, and

scattering the surface interacted elements to a second set of at least one voxel that interacts with the facet.

3. The method of claim 1 further comprising:

sampling velocity from the fluid flow near the surface.

4. The method of claim 1 wherein a state vector comprises one or more of a plurality of integers and/or floating point values that represent a density of elements per unit volume in a particular momentum state and have more plural possible values.

5. The method of claim 1 wherein the surface interaction operations are performed using one or more of integer values and/or floating point values, and wherein the surface interaction operations are performed using values representative of real numbers.

6. The method of claim 1 wherein the surface interaction operations are performed using integer and/or floating point numbers.

7. The method of claim 1 , further comprising:

representing a voxel that is intersected by a surface as a partial voxel.

8. The method of claim 1 wherein the representation of at least one surface comprises a plurality of facets that are sized and oriented independently of the size and orientation of the voxels, and represent at least one surface; and

model interactions between a facet and the elements of at least one voxel near the facet.

9. The method of claim 1 wherein the elements represent particles of a fluid and the facets represent at least one surface over which the fluid flows.

10. The method of claim 1 wherein performing surface interaction operations further comprises:

computing differences between incoming distribution and a Boltzmann distribution;

determining combined momentum from all state vector differences; and

generating outgoing distribution based on the determined differences.

11. A data processing system for simulating elements of a fluid flow about a representation of surfaces of a physical object, the data processing system comprises instructions for causing the data processing system to:

store in a memory state vectors for a plurality of voxels, the state vectors comprising a plurality of entries that correspond to particular momentum states of a plurality of possible momentum states at a voxel;

wherein an entry of a state vector represents a density of elements per unit volume in a particular momentum state of the voxel;

store in a memory a representation of at least one surface of the physical object that is sized and oriented independently of the size and orientation of the voxels;

wherein the representation of the at least one surface comprises a plurality of facets, each facet of the plurality being assigned surface properties;

perform interaction operations on the state vectors, the interaction operations modelling interactions between elements of different momentum states;

perform surface interaction operations on the representation of the surface, of the physical object, the surface interaction operations modelling interactions between the surface of the physical object and all elements of voxels, by:

sampling density from fluid flow near the surface; and

rescaling the density so that a zero mass flux condition is satisfied on the surface;

and

perform move operations on the state vectors to reflect movement of elements to new voxels.

12. The data processing system of claim 11 wherein the instructions to perform the surface interaction operations comprises instructions to:

gather elements from a first set of at least one voxel that interacts with a facet;

model interactions between the gathered elements and all facets to produce a set of surface interacted elements, and

scatter the surface interacted elements to a second set of at least one voxel that interacts with the facet.

13. The data processing system of claim 11 wherein a state vector comprises one or more of a plurality of integers and/or floating point values that represent a density of elements per unit volume in a particular momentum state and have more plural possible values.

14. The data processing system of claim 11 wherein the surface interaction operations are performed using one or more of integer values and/or floating point values, and wherein the surface interaction operations are performed using values representative of real numbers.

15. The data processing system of claim 11 wherein the surface interaction operations are performed using integer and/or floating point numbers.

16. The data processing system of claim 11 wherein the instructions to perform the surface interaction operations comprises instructions to:

represent a voxel that is intersected by a surface as a partial voxel.

17. The data processing system of claim 11 wherein the representation of at least one surface comprises a plurality of facets that are sized and oriented independently of the size and orientation of the voxels, and represent at least one surface; and the instructions further comprises instructions to:

model interactions between a facet and the elements of at least one voxel near the facet.

18. The data processing system of claim 11 wherein the elements represent particles of a fluid and the facets represent at least one surface over which the fluid flows.

19. The data processing system of claim 11 wherein the instructions to perform the surface interaction operations comprises instructions to:

compute differences between incoming distribution and a Boltzmann distribution;

determine combined momentum from all state vector differences; and

generate outgoing distribution based on the determined differences.

20. A non-transitory computer readable medium tangible storing a computer program product, for simulating elements of a fluid flow about a representation of surfaces of a physical object, the computer program product comprises instructions to cause a data processing system to:

store in a memory state vectors for a plurality of voxels, the state vectors comprising a plurality of entries that correspond to particular momentum states of a plurality of possible momentum states at a voxel;

wherein an entry of a state vector represents a density of elements per unit volume in a particular momentum state of the voxel;

store in a memory a representation of at least one surface of the physical object that is sized and oriented independently of the size and orientation of the voxels;

perform interaction operations on the state vectors, the interaction operations modelling interactions between elements of different momentum states;

wherein the representation of the at least one surface comprises a plurality of facets, each facet of the plurality being assigned surface properties;

perform surface interaction operations on the representation of the surface of the physical object, the surface interaction operations modelling interactions between the surface of the physical object and all elements of voxels, by:

sampling density from fluid flow near the surface; and

rescaling the density so that a zero mass flux condition is satisfied on the surface;

and

perform move operations on the state vectors to reflect movement of elements to new voxels.

21. The computer readable medium of claim 20 wherein the surface interaction instructions further comprises instructions to:

gather elements from a first set of at least one voxel that interacts with a facet;

model interactions between the gathered elements and all facets to produce a set of surface interacted elements, and

scatter the surface interacted elements to a second set of at least one voxel that interacts with the facet.

22. The computer readable medium of claim 20 wherein a state vector comprises one or more of a plurality of integers and/or floating point values that represent a density of elements per unit volume in a particular momentum state and have more plural possible values.

23. The computer readable medium of claim 20 wherein the surface interaction operations are performed using one or more of integer values and/or floating point values, and wherein the surface interaction operations are performed using values representative of real numbers.

24. The computer readable medium of claim 20 wherein performing surface interaction operations further comprises instructions to:

compute differences between incoming distribution and a Boltzmann distribution;

determine combined momentum from all state vector differences; and

generate outgoing distribution based on the determined differences.

Assignments (2)
MERGER Recorded Jan 5, 2024
From: DASSAULT SYSTEMES SIMULIA CORP.
To: DASSAULT SYSTEMES AMERICAS CORP.
Reel/Frame 066196/0775 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 20, 2020
From: GOPALAKRISHNAN, PRADEEP; ZHANG, RAOYANG; CHEN, HUDONG; WANG, JUNYE; JAMMALAMADAKA, AVINASH
To: DASSAULT SYSTEMES SIMULIA CORP.
Reel/Frame 054426/0206 →
Continuity (1)
Related Publication 20210406434A1 · Dec 30, 2021