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.