SKIRT / SKIRT9

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

Add snapshot import from list of cuboidal cells (as simpler alternative for AMR) #73

Closed petercamps closed 4 years ago

petercamps commented 4 years ago

Description This pull request adds the the capability to import snapshot data (for media and sources) from a list of cuboidal cells. Each line in the input text file represents a cuboidal cell lined up with the coordinate axes, specifying the coordinates of the lower-left and upper-right corners of the cell along with any relevant cell properties. The intention is for the cells to define a partition of the spatial domain, however this is not enforced. When two or more cells overlap at a given position, the properties for that position will be taken from the cell that is listed first in the imported file. When no cells overlap a given position, the density at that position is considered to be zero. To avoid thin slices of zero density between cells, the coordinates for common walls or corners in neighboring cells should be identical.

Motivation This new functionality is an alternative for using the adaptive mesh import capability, which requires listing cells in Morton order. This can be hard to accomplish, especially when extracting a particular subdomain from a larger mesh. In contrast, the new option allows cells to be listed in arbitrary order and allows the spatial partition to be imperfect. For example, the outer border of the domain can be ragged, with some cells extending farther out than others.

Tests The new capability has been thoroughly tested with synthetic examples but could use a real field test. Virtually no changes were required to existing code, so the risk of breaking existing functionality is essentially zero.

Guidelines The new code has been properly formatted.