SKIRT / SKIRT9

SKIRT version 9 -- advanced radiative transfer in dusty systems
http://www.skirt.ugent.be
GNU Affero General Public License v3.0
35 stars 30 forks source link

Accelerate removal of many Voronoi sites outside of domain #106

Closed petercamps closed 3 years ago

petercamps commented 3 years ago

Description Before building a Voronoi tessellation, SKIRT removes any sites that are outside of the specified cuboidal domain. This process was exceedingly slow when a large number of sites had to be removed because sites were removed from the array one by one. With this update, all sites are removed in a single pass. This results in a significant speedup: for tens of millions of sites, the execution time reduces from hours to under a minute.

Motivation In the context of a larger workflow, it can be convenient to include many sites outside the domain in the input file. It was annoying that the SKIRT setup became so slow in this case.

Tests All functional tests still run; performance tests were based on a specific input file provided by user Connor Bottrell.