Skip to content

SourceSet refactor

Up until this point, objects representing the source logic tree (e.g. SourceTree, RuptureSet) were mapped to their legacy equivalent, SourceSet, which maintained a functioning calculation pipeline, at the expense of much redundancy and confusing treatment of source logic tree weights.

This MR removes the SourceSet hierarchy in favor of a RuptureSet based one. The code still supports a Source object, and rupture sets are iterable over sources, but this is really just a sub-group of ruptures within a RuptureSet. For fault and interface rupture sets, although supporting Iterable<Source>, they only contain a single Source that is Iterable<Rupture>. Grid and zone rupture sets on the other hand iterate over many point sources. TBD if we rename the Source class.

Merge request reports