Skip to content

External grid points can fail to be labelled as sink points #101

@allegroLeiden

Description

@allegroLeiden

This problem was recognized by @tlunttil.

The current code labels as sink points only those which it places on the sphere which encloses the model volume. However, the algorithm which follows photons along links (at least as Tuomas has amended it) assumes that any non-sink point will have a further link which makes an angle of 90deg or less to the photon direction of travel. However, it is possible to generate nominally internal points for which this is not true. Such points lie on the convex hull of the entire set of grid points, but at radii less than the sphere radius. They are really sink points, but do not get labelled as such. The likelihood of this occurring will tend to be greater when the number of sink points demanded is relatively small; this may be the original reason that the number of sink points in the example model file seems rather excessive.

In principle it is easy to identify such points, because the Delaunay tetrahedra of which they are vertices will have no neighbours on the external faces. Such faces can be identified with the aid of the same qhull routines that are used for the triangulation. The difficulty with making use of this information is that the present way in which the grid information is stored makes it difficult to adjust the number of sink points. This is yet another argument for a reorganization (see #81).

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions