Closed knelli2 closed 3 years ago
Changes Missing Coverage | Covered Lines | Changed/Added Lines | % | ||
---|---|---|---|---|---|
src/Domain/Creators/DomainCreator.hpp | 0 | 1 | 0.0% | ||
src/Domain/Creators/TimeDependence/SphericalCompression.cpp | 7 | 9 | 77.78% | ||
src/Domain/Creators/TimeDependence/UniformRotationAboutZAxis.cpp | 6 | 8 | 75.0% | ||
src/Domain/Creators/TimeDependence/CompositionUniformTranslation.hpp | 1 | 4 | 25.0% | ||
src/Domain/Creators/TimeDependence/CubicScale.cpp | 11 | 17 | 64.71% | ||
src/Domain/Creators/TimeDependence/CompositionCubicScaleAndUniformRotationAboutZAxis.cpp | 13 | 22 | 59.09% | ||
<!-- | Total: | 112 | 135 | 82.96% | --> |
Files with Coverage Reduction | New Missed Lines | % | ||
---|---|---|---|---|
src/Domain/Creators/DomainCreator.hpp | 1 | 77.78% | ||
src/Evolution/Systems/Burgers/BoundaryConditions/Outflow.cpp | 1 | 93.75% | ||
src/Domain/CoordinateMaps/FocallyLiftedMapHelpers.cpp | 3 | 77.08% | ||
src/PointwiseFunctions/AnalyticSolutions/Xcts/ConstantDensityStar.cpp | 3 | 77.19% | ||
src/Evolution/Systems/GeneralizedHarmonic/BoundaryConditions/Bjorhus.cpp | 5 | 94.56% | ||
<!-- | Total: | 13 | --> |
Totals | |
---|---|
Change from base Build 1356110528: | -0.01% |
Covered Lines: | 48727 |
Relevant Lines: | 52103 |
Proposed changes
This does a lot of stuff. Maybe too much? But I don't know how to break it up into smaller bits... The first commit is self contained so that could be its own PR.
But the second commit is kinda big. It does two major things:
std::unordered_map<string, double>
representing a map between function of time names and initial expiration times to all thefunctions_of_time()
methods of all DomainCreators and all TimeDependences. Then the TimeDependence checks if the name from the map matches its internal name, and if it does, uses the new expiration time instead ofinfinity
. To do this a few other things were changed in addition (not major):domain::Tags::FunctionsOfTime
was modified to loop over the OptionHolders for all present control systems, get their names and expiration times, then create and pass thestd::unordered_map<string, double>
to the domain creator (which will pass it to its time dependences if it has any).Index
to the UniformTranslation which basically keeps track of how many UniformTranslation time dependences you have. The default behavior has not changed, i.e.UniformTranslation<2>
will create a UniformTranslation in 2D with the name "Translation" and is constructable by options the usual wayUniformTranslation:
. However, if you need an additional UniformTranslation, it can be created withUniformTranslation<2, 1>
and by optionsUniformTranslation1:
There are some questions/comments I have about this.
control_systems
in the metavars. Not sure how to enforce this/check this/require this/whatever.Upgrade instructions
Code review checklist
make doc
to generate the documentation locally intoBUILD_DIR/docs/html
. Then openindex.html
.bugfix
ornew feature
if appropriate.Further comments