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
AugmentedVectorandset_local_from_global,get_globalto handle the case where the vector is anAugmentedVector.AugmentedVectorandmpiUtilsto check theseRiskMeasureobjects that usehippylib.Randomare 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/modelingintosoupy/modeling,soupy/riskandsoupy/costsoupy/modelingretains the objects related to constructingcontrolModel, i.e. the PDE and QoI objects. Also currently holdsAugmentedVectorsince this is a fundamental data structuresoupy/riskholdsRiskMeasureand its specific instances. New risk measures are expected to go heresoupy/costholdsControlCostFunctionaland related objects, as well asPenalization.Documentation is updated to reflect these changes