Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Move vertex list build procedure to C level #17

Open
chrisk314 opened this issue Feb 25, 2018 · 0 comments
Open

Move vertex list build procedure to C level #17

chrisk314 opened this issue Feb 25, 2018 · 0 comments
Assignees
Labels
enhancement New feature or request P med

Comments

@chrisk314
Copy link
Owner

Building the vertex list from the sphere and boundary geometry to provide as input to TetGen requires searching for and removing duplicate vertices. The current implementation makes uses of Python dictionaries and iteration in Python itself. This is probably the culprit for long run times when there are many vertices in the input.

Here it takes 52 seconds to build the vertex list for 1.7E6 points

MSP-Build  INFO     23-02-18 16:58:27.181  :    Building tetrahedral mesh
MSP-Build  INFO     23-02-18 16:58:27.183  :        -> building vertex list...
MSP-Build  INFO     23-02-18 16:59:19.368  :        -> calling TetGen (writing log to ./tet.log)
MSP-Build  INFO     23-02-18 17:04:28.108  :    Built mesh with 1688334 points, 7612699 tetrahedra, 16181955 faces, and 10257043 edges

Here it takes 16 minutes to build the vertex list for 6.8E6 points

MSP-Build  INFO     23-02-18 17:00:04.671  :    Building tetrahedral mesh
MSP-Build  INFO     23-02-18 17:00:04.678  :        -> building vertex list...
MSP-Build  INFO     23-02-18 17:16:36.952  :        -> calling TetGen (writing log to ./tet.log)
MSP-Build  INFO     23-02-18 17:38:19.653  :    Built mesh with 6766110 points, 35151505 tetrahedra, 72447292 faces, and 44061460 edges

Here it takes 24 minutes to build the vertex list for 21.7E6 points

MSP-Build  INFO     23-02-18 17:19:10.094  :    Building tetrahedral mesh
MSP-Build  INFO     23-02-18 17:19:10.123  :        -> building vertex list...
MSP-Build  INFO     23-02-18 17:43:49.512  :        -> calling TetGen (writing log to ./tet.log)
MSP-Build  INFO     23-02-18 18:55:39.583  :    Built mesh with 21659742 points, 108066844 tetrahedra, 224502984 faces, and 138094671 edges
@chrisk314 chrisk314 added enhancement New feature or request P med labels Feb 25, 2018
@chrisk314 chrisk314 self-assigned this Feb 25, 2018
@chrisk314 chrisk314 changed the title Move long running processes to C level Move vertex list build procedure to C level Feb 25, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request P med
Projects
None yet
Development

No branches or pull requests

1 participant