Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Additions and hotfixes to support MPI for mesh partitioning in fenics
AugmentedVector
andset_local_from_global
,get_global
to handle the case where the vector is anAugmentedVector
.AugmentedVector
andmpiUtils
to check theseRiskMeasure
objects that usehippylib.Random
are now properly constructed with the mpi rank/size coming from the mesh MPI communicator (Future work should aim to separate out the sampling from the risk measure itself)To support these changes, we also restructured the directory structure to be more logical and avoids potential circular imports. Namely, we have split
soupy/modeling
intosoupy/modeling
,soupy/risk
andsoupy/cost
soupy/modeling
retains the objects related to constructingcontrolModel
, i.e. the PDE and QoI objects. Also currently holdsAugmentedVector
since this is a fundamental data structuresoupy/risk
holdsRiskMeasure
and its specific instances. New risk measures are expected to go heresoupy/cost
holdsControlCostFunctional
and related objects, as well asPenalization
.Documentation is updated to reflect these changes