IP Library Granted Patent US 10,776,537
Granted Patent B1
US 10,776,537 · App. 15/634,734 · Granted Sep 15, 2020

Constructing a conforming Voronoi mesh for an arbitrarily-shaped enclosed geometric domain

Inventor: Mohamed Salah Ebeida (Albuquerque, NM)
Assignee: National Technology & Engineering Solutions of Sandia, LLC
G06F30/20G06T11/206
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 10,776,537
App. No.
15/634,734
Granted
Sep 15, 2020
Kind
B1
Abstract

A computing system is described herein, where the computing system includes a processor and memory storing instructions that, when executed by the processor, cause the processor to perform the following acts: 1) receiving a computer-implemented definition of an enclosed geometric domain, wherein the geometric domain is two-dimensional; 2) determining locations of seeds for the enclosed geometric domain; 3) decomposing the enclosed geometric domain into a conforming Voronoi mesh based on the locations of the seeds, wherein the conforming Voronoi mesh comprises Voronoi cells, and further wherein the conforming Voronoi mesh is bounded by the enclosed domain; and 4) performing a numerical simulation to generate simulation results, wherein the numerical simulation is based on at least one Voronoi cell in the Voronoi cells of the conforming Voronoi mesh.

Claims (58)

1. A computing system comprising:

a processor; and

memory storing instructions that, when executed by the processor, cause the processor to perform acts comprising:

receiving a computer-implemented definition of an enclosed geometric domain that includes a sharp corner, wherein the geometric domain is two-dimensional;

determining locations of seeds for the enclosed geometric domain, wherein determining locations of the seeds for the enclosed geometric domain comprises:

identifying the sharp corner of the enclosed geometric domain;

centering a first circle having a first radius over the sharp corner of the enclosed geometric domain;

subsequent to centering the first circle over the sharp corner, selecting an edge that is partially covered by the first circle;

responsive to selecting the edge, sampling a point from the edge, wherein the point is uncovered by the first circle;

responsive to sampling the point from the edge, placing a second circle having a second radius centered on the point from the edge, wherein the second circle intersects with the first circle at two intersection points, and wherein the second radius is selected such that the second circle does not intersect any edges of the enclosed geometric domain other than the selected edge; and

labeling the two intersection points as being a subset of the seeds for the enclosed geometric domain;

decomposing the enclosed geometric domain into a conforming Voronoi mesh based on the locations of the seeds, wherein the conforming Voronoi mesh comprises Voronoi cells, and further wherein the conforming Voronoi mesh is bounded by the enclosed domain; and

performing a numerical simulation to generate simulation results, wherein the numerical simulation is based on at least one Voronoi cell in the Voronoi cells of the conforming Voronoi mesh.

2. The computing system of claim 1 , wherein determining the locations of the seeds for the enclosed geometric domain further comprises:

repeating the acts of identifying and centering for each sharp corner of the enclosed geometric domain, wherein circles centered over sharp corners are prohibited from intersecting one another.

3. The computing system of claim 2 , wherein determining the locations of the seeds for the enclosed geometric domain further comprises repeating the acts of selecting, sampling, placing, and labeling until all points of all edges of the enclosed geometric domain are covered by at least one circle.

4. The computing system of claim 3 , wherein determining the locations of the seeds for the enclosed geometric domain further comprises:

sampling a point from an interior of the enclosed geometric domain;

determining that the point is at least a threshold distance from every other point labeled as being included in the seeds; and

responsive to determining that the point is at least the threshold distance from every other point labeled as being included in the seeds, labeling the point as also being included in the seeds.

5. The computing system of claim 4 , wherein determining the locations of the seeds for the enclosed geometric domain further comprises repeating the acts of sampling a point from the interior, determining, and labeling until each point in the interior of the enclosed domain is within a threshold distance from a point labeled as being included in the seeds.

6. A method executed by a processor of a computing device, the method comprising:

receiving a computer-implemented definition of an enclosed geometric domain that includes a sharp corner, wherein the enclosed geometric domain is two-dimensional;

determining locations of seeds for the enclosed geometric domain, wherein determining locations of the seeds for the enclosed geometric domain comprises:

identifying the sharp corner of the enclosed geometric domain;

centering a first circle having a first radius over the sharp corner of the enclosed geometric domain;

subsequent to centering the first circle over the sharp corner, selecting an edge that is partially covered by the first circle;

responsive to selecting the edge, sampling a point from the edge, wherein the point is uncovered by the first circle;

responsive to sampling the point from the edge, placing a second circle having a second radius centered on the point from the edge, wherein the second circle intersects with the first circle at two intersection points, and wherein the second radius is selected such that the selected edge is the only edge of the enclosed geometric domain that is covered by the second circle; and

labeling the two intersection points as being a subset of the seeds for the enclosed geometric domain;

decomposing the enclosed geometric domain into a conforming Voronoi mesh based on the locations of the seeds, wherein the conforming Voronoi mesh comprises Voronoi cells, and further wherein the conforming Voronoi mesh is bounded by the enclosed geometric domain; and

performing a numerical simulation to generate simulation results, wherein the numerical simulation is based on at least one Voronoi cell in the Voronoi cells of the conforming Voronoi mesh.

7. The method of claim 6 , wherein determining the locations of the seeds for the enclosed geometric domain further comprises:

repeating the acts of identifying and centering for each sharp corner of the enclosed geometric domain, wherein circles centered over sharp corners are prohibited from intersecting one another.

8. The method of claim 7 , wherein determining the locations of the seeds for the enclosed geometric domain further comprises repeating the acts of selecting, sampling, placing, and labeling until all points of all edges of the enclosed domain are covered by at least one circle.

9. The method of claim 8 , wherein determining the locations of the seeds for the enclosed geometric domain further comprises:

sampling a point from an interior of the enclosed geometric domain;

determining that the point is at least a threshold distance from every other point labeled as being included in the seeds; and

responsive to determining that the point is at least the threshold distance from every other point labeled as being included in the seeds, labeling the point as being included in the seeds.

10. The method of claim 9 , wherein determining the locations of the seeds for the enclosed domain further comprises repeating the acts of sampling a point from the interior of the enclosed geometric domain, determining, and labeling until each point in the interior of the enclosed geometric domain is within a threshold distance from a point labeled as being included in the seeds.

11. A computer-readable storage medium comprising instructions that, when executed by a processor, cause the processor to perform acts comprising:

receiving a computer-implemented definition of an enclosed geometric domain that includes a sharp corner, wherein the enclosed geometric domain is two-dimensional;

determining locations of seeds for the enclosed geometric domain, wherein determining locations of the seeds for the enclosed geometric domain comprises:

identifying the sharp corner of the enclosed geometric domain;

centering a first circle having a first radius over the sharp corner of the enclosed geometric domain;

after centering the first circle over the sharp corner, selecting an edge, wherein the edge is partially covered by the first circle;

after selecting the edge, sampling a point from the edge, wherein the point is uncovered by the first circle;

after sampling the point, placing a second circle having a second radius centered on the point from the edge, wherein the second circle intersects with the first circle at two intersection points, and wherein the second radius is selected such that the second circle intersects no edges of the enclosed geometric domain other than the selected edge; and

labeling the two intersection points as being a subset of the seeds for the enclosed geometric domain;

decomposing the enclosed geometric domain into a conforming Voronoi mesh based on the locations of the seeds, wherein the conforming Voronoi mesh comprises Voronoi cells, and further wherein the conforming Voronoi mesh is bounded by the enclosed geometric domain; and

performing a numerical simulation to generate simulation results, wherein the numerical simulation is based on at least one Voronoi cell in the Voronoi cells of the conforming Voronoi mesh.

12. The computer-readable storage medium of claim 11 , wherein determining the locations of the seeds for the enclosed geometric domain further comprises:

repeating the acts of identifying and centering for each sharp corner of the enclosed geometric domain, wherein circles centered over sharp corners are prohibited from intersecting one another.

13. The computer-readable storage medium of claim 12 , wherein determining the locations of the seeds for the enclosed geometric domain further comprises repeating the acts of selecting, sampling, placing, and labeling until all points of all edges of the enclosed domain are covered by at least one circle.

14. The computer-readable storage medium of claim 13 , wherein determining the locations of the seeds for the enclosed geometric domain further comprises:

sampling a point from an interior of the enclosed geometric domain;

determining that the point is at least a threshold distance from every other point labeled as being included in the seeds; and

responsive to determining that the point is at least the threshold distance from every other point labeled as being included in the seeds, labeling the point as being included in the seeds.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 14, 2017
From: EBEIDA, MOHAMED SALAH
To: NATIONAL TECHNOLOGY & ENGINEERING SOLUTIONS OF SANDIA, LLC
Reel/Frame 043540/0807 →
CONFIRMATORY LICENSE Recorded Aug 2, 2017
From: NATIONAL TECHNOLOGY & ENGINEERING SOLUTIONS OF SANDIA, LLC
To: U.S. DEPARTMENT OF ENERGY
Reel/Frame 043408/0238 →