Release 2021.03.09
Upgrade instructions
From #2797 (Basic build optimizations):
SetupDataBox
now applies to the full phase-dependent action list, rather than just the phase in which it is used. Therefore it should now appear only once for an entire PDAL, and in most cases should appear at the start of the Initialization
phase.
From #2815 (Add Parallel::Callback for use in MutableGlobalCache.):
The return type of GlobalCache::mutable_cache_item_is_ready
is now std::unique_ptr<Parallel::Callback>
instead of std::optional<CkCallback>
.
From #2853 (Enable use of reference items in the DataBox):
- Compute tags must return by reference (i.e. have a void
function
taking theirreturn_type
bygsl::not_null
). - Anything referring to the old names of the type aliases in DataBox will need to use the new name.
From #2886 (Add H5 checking to input file tests):
PyYaml is now a dependency
From #2877 (Change python interface for opening h5 files in modes like readonly
or readwrite
):
When opening h5 files with python bindings, you now have to specify the opening mode, see https://docs.h5py.org/en/stable/high/file.html
The old version is equivalent to opening with a
(append) mode.
From #2793 (Replace MockRuntimeSystem cache() function.):
ActionTesting::cache()
now has a template parameter and an argument.
From #2693 (Time dependent triple gaussian):
This PR only modifies the generalized harmonic DampingFunction infrastructure. When using the test helper to test a DampingFunction, there is now a new required argument to the helper's check() function: a string naming which FunctionOfTime in the FunctionsOfTime passed to the call operator should be used. For time-independent DampingFunctions, this string can be anything, because time-independent damping functions should ignore the passed-in FunctionsOfTime entirely.
From #2899 (Rewrite DataBox implementation):
None, unless you were changing implementation details of DataBox, in which case you'll likely need to start over...
From #2794 (Rewrite ActionTesting::invoke_random_queued_action):
Usage of invoke_random_queued_action is slightly different, as it now uses the new function array_indices_with_queued_actions.
From #2904 (Add lock-retrieval 'local sync action', use to lock h5 access in CCE):
No need for thread-safe hdf5 for CCE runs anymore.
From #2937 (Add time and slab comparison triggers):
The PastTime
trigger has been removed. It was equivalent to the new TimeCompares
trigger with a Comparison
of GreaterThan
(or LessThan
for backward-in-time evolutions).
Merged pull-requests
General changes:
- Use system without boundary condition in 3d domain creator tests (#2840)
- Various small time-related test improvements (#2790)
- Upgrade cache action on CI (#2854)
- Update Ocean to blaze 3.8 (#2835)
- Make preconditioners the identity when skipped (#2788)
- Add boundary condition support to RotatedIntervals (#2845)
- Add boundary condition support to Rectangle domain creator (#2846)
- Give the Schwarz subdomain operator the full power of the DataBox (#2832)
- CylindricalEndcap Map (general version) (#2373)
- Basic build optimizations (#2797)
- Add Parallel::Callback for use in MutableGlobalCache. (#2815)
- Add MaxRicciScalarTag to Tags.hpp (#2791)
- Add elliptic AnalyticSolution boundary condition (#2843)
- Add boundary conditions support to Shell domain creator (#2858)
- Boundary conditions rotated rectangle and disk (#2847)
- Enable use of reference items in the DataBox (#2853)
- Add boundary condition support to Brick domain creator (#2864)
- Add boundary condition support to RotatedBricks domain creator (#2865)
- Add boundary condition support to FrustalCloak and an image of FrustalCloak to the dox (#2863)
- Add boundary condition support to Sphere domain creator (#2859)
- Add compute tag for elastic strain (#2833)
- Add boundary condition support to Cylinder domain creator (#2861)
- Add boundary condition support to AlignedLattice domain creator (#2866)
- Creates new write path unit_test_build_path pointing to tests/unit in build directory (#2542)
- Support multiplication of doubles and TensorExpressions (#2831)
- Fix the function used to calculate the largest char speed for curved SWs (#2600)
- Add H5 checking to input file tests (#2886)
- Mock cores/nodes cleanup (#2872)
- Add Shu-Osher shock tube and Sod explosion analytic data (#2839)
- Convert from multi-index to storage index without canonicalization (#2855)
- Support addition and subtraction of doubles with TensorExpressions (#2881)
- Simplify periodic boundary conditions, and add None boundary condition (#2884)
- Update Adams-Bashforth history at the start of steps (#2894)
- Have elliptic systems specify their supported boundary conditions (#2885)
- Generalize WENO limiters to handle Gauss points (#2857)
- Remove Doxygen from TensorExpression Product cpp test file (#2895)
- Make the elastic constitutive relation a reference tag (#2891)
- Test_CylindricalEndcap: relax conditions of test. (#2882)
- Support division of TensorExpressions by doubles (#2898)
- Factory-create the elliptic background and initial guess, reduce number of elliptic executables (#2603)
- Add longitudinal operator for XCTS equations (#2878)
- Support printing messages on reductions (#2849)
- Infrastructure tweaks to support error-measure based stepping (#2841)
- Support square root of rank 0 TensorExpressions (#2900)
- Change python interface for opening h5 files in modes like
readonly
orreadwrite
(#2877) - Add python bindings for get_dimension of VolumeData and pickling support for mesh (#2870)
- Replace MockRuntimeSystem cache() function. (#2793)
- Time dependent triple gaussian (#2693)
- Factor ObserveFields work into a static member function (#2901)
- Add local sync action (#2902)
- Add MinRicciScalarTag to Tags.hpp (#2911)
- Clean up Adams-Bashforth code (#2906)
- Have elliptic systems specify tags for their fluxes (#2875)
- Support Pypp random-tests for functions that mutate their result buffer (#2876)
- Make XCTS Schwarzschild solution factory-creatable (#2880)
- Fix CCE initialization for time stepper updates (#2903)
- Binary domain: boundary conditions and cleanup (#2867)
- Boundary conditions for Burgers (#2868)
- Add zero Dirichlet and Neumann boundary conditions for elasticity (#2844)
- Add DG-subcell matrices (#2888)
- Cce analytic test exe (#2609)
- Update installation doc for docker and singularity (#2758)
- Rewrite DataBox implementation (#2899)
- Add DirichletAnalytic and SphericalRadiation boundary conditions to scalar wave (#2919)
- Add DirichletAnalytic and Periodic boundary conditions to Newtonian Euler (#2920)
- Add laser beam boundary condition for thermal noise (#2848)
- Small cleanups in limiter code (#2917)
- Rewrite ActionTesting::invoke_random_queued_action (#2794)
- Update copyright year to 2021 (#2931)
- Add DirichletAnalytic and Periodic boundary conditions for GRMHD (#2923)
- Add DirichletAnalytic and Periodic boundary conditions for GH (#2922)
- Add subcell ActiveGrid enum, tag, and tag for TCI history (#2926)
- Split elliptic InitializeSystem in two (#2916)
- Add helper metafunction to get sources computer from elliptic systems, add background fields to elliptic systems (#2913)
- Assert LHS and RHS TensorIndexs in TensorExpressions::evaluate are mathematically sound (#2927)
- Update the CurvedScalarWave system (#2601)
- Allow conversions of the contained type in Auto (#2930)
- Add DG to FD projection function (#2925)
- Add local time stepping support to ComputeTimeDerivative and to ApplyBoundaryCorrections (#2887)
- Phase control main reductions (#2892)
- Add lock-retrieval 'local sync action', use to lock h5 access in CCE (#2904)
- Require the dg_package_data function to return a double (#2945)
- YlmSpherepack: Add dox for collocation point locations. (#2944)
- Add time and slab comparison triggers (#2937)
- Add ability to return from databox mutate or mutate_apply (#2933)
- CylindricalEndcap: Allow target sphere to be inside source sphere. (#2587)
- Remove self-start step-action introspection (#2935)
- Small cleanups in the NewtonianEuler Rusanov boundary correction (#2967)
- Add XCTS tags and documentation (#2915)
Bugfixes:
- Fix an error message in an assert (#2856)
- Don't disrupt PRs between releases (#2874)
- Pin a package version for release script (#2897)
- Fix an issue with CMake <3.15 (#2896)
- Fix round-robin element allocation in elliptic executables (#2890)
- Document SpECTRE's h5py requirement (#2910)
- Relax HwenoImpl test tolerance (#2909)
- Update dox for MutableGlobalCache. (#2936)
- Fix buffer size in dot_product (#2956)
- Fix linearized bondi sachs (#2918)