Skip to content

Releases: sxs-collaboration/spectre

Release 2022.08.01

01 Aug 15:12

Choose a tag to compare

Upgrade instructions

From #4118 (Use single DataBox type in DistributedObject and MockDistributedObject):

  • No longer use Actions::SetupDataBox in a phase action list. Setting up the DataBox is now handled by (Mock)DistributedObject
  • ActionTesting::get_databox should only have a single template parameter (the component)

From #4093 (Automatically embed input source YAML in H5 output):

When spectre executables output HDF5 data, the input-file options provided will be automatically embedded as an attribute named InputSource.yaml. Use the script src/Options/Python/ExtractInputSourceYAMLFromH5.py to extract the embedded source input into a YAML-formatted text file.

From #4128 (Find AH quantities in grid frame):

After this change, binary black hole evolutions will observe apparent horizon quantities in the grid frame instead of the inertial frame.

Merged pull-requests (14)

General changes (11):

  • Wrap SphericalKerrSchild solution for initial data solver (#4117)
  • Factor common code out of RK time steppers (#4112)
  • Use single DataBox type in DistributedObject and MockDistributedObject (#4118)
  • Add helper methods producing non-owning Variables (#4114)
  • Automatically embed input source YAML in H5 output (#4093)
  • Update dev container and Docker/VSCode install docs (#4119)
  • Add check for using removed DataBox item (#4123)
  • Container cleanups, remove GCC7&8, add env variables (#4121)
  • Cleanup some simple Actions (#4126)
  • Add docs for building on Apple Silicon (#3714)
  • Find AH quantities in grid frame (#4128)

Bugfixes (3):

  • Fix post-release workflow (#4120)
  • Fix GenerateXdmf for 2D non-surface output (#4125)
  • Update gfortran in cmake kit (#4131)

Contributors (7): @DavidWu421, @wthrowe, @kidder, @geoffrey4444, @nilsvu, @knelli2, @nilsdeppe

Release 2022.07.18

18 Jul 14:51

Choose a tag to compare

Upgrade instructions

From #4033 (Add a global enum class Phase):

If you have defined an enum class Phase in a metavariables, instead #include "Parallel/Phase.hpp" and replace the enum definition with using Phase = Parallel::Phase;

From #4046 (Use global phase to simplify some code):

  • In a PhaseAction, the first template parameter should be removed.
  • Also restrict phase names to those in Parallel::Phase

From #4044 (Interpolation without Interpolator ParallelComponent for time-dependent maps.):

No changes needed for the user, but anyone changing the interpolator code will see differences:

  • intrp::Vars::PointInfoTag now has a different type.
  • InterpolationTargetVarsFromElement and some of the functions in InterpolationTarget_detail now take different arguments.

From #4050 (Add ResourceInfo tags to DgElementArray and IntrpTarget):

If your executable has the DgElementArray parallel component, add in the following block to the input file

ResourceInfo:
  AvoidGlobalProc0: false

If your executable has at least one InterpolationTarget parallel component, add the following under the ResourceInfo block in the input file

  Singletons:
    TargetName:
      Proc: Auto
      Exclusive: false

From #4056 (Allow CCE singletons to be placed on specific cores):

If you have CCE in your executable, add the following block to your input file:

ResourceInfo:
  Singletons:
    CharacteristicEvolution:
      Proc: Auto
      Exclusive: false
    BoundaryComponentName:
      Proc: Auto
      Exclusive: false

where BoundaryComponentName is one of AnalyticWorldtubeBoundary, H5WorldtubeBoundary, or GhWorldtubeBoundary depending on what your boundary component is.

From #4023 (Remove CERROR, specialize error macros for compile time and runtime):

This requires updaying computing resources to use >= gcc-9 or >= clang-9

From #4055 (Finish transition to using Parallel::Phase):

  • Always use Parallel::Phase as the type of a phase
  • Do not specify a determine_next_phase member function for metavariables. Instead define the default_phase_order member variable

From #4086 (Consolidate generic parallel actions):

If you used any actions in the eliminated directories, you will need to update the appropriate include statement.
If you added any actions to those directories, move them into ParallelAlgorithms/Actions

From #4099 (Combine registration phases):

If you are using Parallel::Phase::RegisterWithObserver, instead use Parallel::Phase::Register

From #4107 (Turn on LTS in BBH):

If using the BBH executable, update the time stepping options to match those of the test input file.

Merged pull-requests (65)

New features (3):

  • Add a global enum class Phase (#4033)
  • Add support for Charm++ projections (#4053)
  • Add Translation control system (#3992)

General changes (54):

  • Update ci dox (#4020)
  • Use global phase to simplify some code (#4046)
  • Relax more HwenoImpl test tolerances (#4039)
  • Avoid dynamic allocations for single-point Variables data (#4035)
  • Silence unused-value warning in clang 14 (#4048)
  • Store element name in ElementVolumeData (#4042)
  • Simplify Overloader and remove make_overloader (#4045)
  • Change protocol helpers to normal metafunctions (#4049)
  • Explicitly use interpolator source vars in intrp framework (#4014)
  • Update Expanse build to use Charm 7 and Intel MPI (#3968)
  • Add to_basis&to_quad, cleanup IO test helpers (#4043)
  • Remove explicit exceptions from Python h5::File wrapper (#4041)
  • Add ResourceInfo tags to DgElementArray and IntrpTarget (#4050)
  • Increase timeout in RotScaleTrans test (#4065)
  • Remove buffer from Ccz4::upper_spatial_z4_constraint (#4059)
  • Fix Ccz4 temporary expression calculation (#4060)
  • Forward declare Ccz4 temporary tags (#4061)
  • Allow CCE singletons to be placed on specific cores (#4056)
  • Add fallback reconstructor types to finite difference (#4057)
  • Update domain in BBH ID input file (#3926)
  • Add get_data_by_element function to VolumeData (#4054)
  • Add to ParallelComponent section of Parallelization DevGuide (#4051)
  • Use smaller random values for sin argument (#4067)
  • Remove CERROR, specialize error macros for compile time and runtime (#4023)
  • Enable TensorExpressions to internally split up equations (#3842)
  • Finish transition to using Parallel::Phase (#4055)
  • Split up and organize H5 tests (#4068)
  • Enable Wcns5z reconstruction to use adaptive fallback (#4058)
  • Rename algorithm impl to distributed object (#4069)
  • Subcell TCI improvements, step 1 (#4012)
  • Hybrid EOS (#3481)
  • Shorten rotation control system test (#4074)
  • Increase GH constraints timeout (#4076)
  • Add Brill Lindquist analytic data (#4075)
  • Remove specific enthalpy (#4080)
  • Generalize control system test helper (#4071)
  • Add Expansion and Rotation control systems to BBH exec (#4016)
  • Add tags and initialization action for AMR flags (#3092)
  • Consolidate generic parallel actions (#4086)
  • Add TensorExpression support for assigning to doubles (#4079)
  • Support for reading single and double precision HDF5 volume data (#4084)
  • Add SphericalKerrSchild (#4073)
  • Add xsimd support (#4081)
  • Add temperature to equations of state (#4085)
  • Disallow antisymmetries in TensorExpressions (#4090)
  • Store number of indices in Tensor class (#4094)
  • Add dependencies for SphericalKerrSchild executable (#4092)
  • Add Noah Ring to metadata (#4101)
  • Run a checkpoint test in its own directory (#4098)
  • Add David Wu to Metadata (#4100)
  • Increase tolerance for Eos test helper (#4104)
  • Combine registration phases (#4099)
  • Turn on LTS in BBH (#4107)
  • Add build type to info at compile time (#4116)

Bugfixes (8):

Read more

Release 2022.06.14

14 Jun 22:42

Choose a tag to compare

Upgrade instructions

From #3940 (Add check for currently open H5 objects before insert/get):

When inserting or geting an object in an H5 file, you must close_current_object() before you can get/insert a new object.

From #3963 (Alter CCE interface managers for new changes to interpolation):

Any usage of the GhInterfaceManagers will likely need to be reworked to account for the new interfaces.

From #3969 (Add mock action to replace WriteReductionDataRow in testing framework):

If you want to test code that uses the WriteReductionDataRow action, follow the instructions in the Reduction Actions section of the ActionTesting documentation

From #3976 (Template parallel info functions on return type):

When using any parallel info functions (Parallel::my_node, etc...), you must specify the return type as a template parameter.

From #4001 (Consolidate lists of AH tags):

When making an InterpolationTargetTag for AH finding, use the type aliases defined in ApparentHorizons/HorizonAliases.hpp for the various lists of tags.

From #4015 (Add ability to place singletons on specific cores):

To be able to place a singleton on a specific core and specify that it should be exclusively on that core, add the Parallel::Tags::SingletonInfo tag to the initialization_tags of the singleton. To avoid placing singletons and Array-elements on the global zeroth core, add the Parallel::Tags::AvoidGlobalProc0 tag to the initialization_tags of any singleton or Array component in your executable.

From #4027 (Remove colons from control system measurement names):

If you have scripts that read out the names for the control system, they need to have the colons removed.

Merged pull-requests (72)

New features (10):

  • CCE Conformal factor initial data (#3450)
  • Add Expansion control system (#3883)
  • Add Charm++ version 7.0.0 support (#3942)
  • Add GenerateXdmf support for surface data (#3973)
  • Add MemoryMonitor component and actions (#3949)
  • Add Rotation control system (#3965)
  • Add non-owning variables (#3970)
  • Add WCNS-5Z reconstruction to finite difference (#3986)
  • Add WCNS-5Z + MC reconstruction to finite difference (#4011)
  • Add ability to place singletons on specific cores (#4015)

General changes (48):

  • Add instructions to dispatch releases (#3954)
  • Update affiliation (#3959)
  • Add SingletonInfoHolder (#3957)
  • Add outflow boundary condition to NewtonianEuler (#3814)
  • Add a single variables slicing for subcell (#3826)
  • Add function to get mutable cache proxy from GlobalCache (#3945)
  • Add parallel info to GlobalCache (#3951)
  • Compute logical coordinates of FD ghost zone (#3905)
  • Allow DgElementArray to ignore certain procs when placing elements (#3950)
  • Add SingletonPack (#3962)
  • Use IntelMPI on Frontera (#3912)
  • Add support for Anvil supercomputer (#3960)
  • Alter CCE interface managers for new changes to interpolation (#3963)
  • Factor out round robin array element assignment (#3971)
  • Document data ordering for root finder Jacobian (#3967)
  • Observe surface data (#3966)
  • Add mock action to replace WriteReductionDataRow in testing framework (#3969)
  • Add matplotlib to python on anvil (#3982)
  • Add ObserveCenters post horizon find callback (#3921)
  • Restrict to Catch2 v2.8:2 when building from spack (#3985)
  • Add Wedge Opening Angle (#3941)
  • CCE preliminaries for GH+CCE executable (#3977)
  • Ignore some warnings from GCC 11 (#3987)
  • Add ZeroCrossingPredictor function for std::vector<doubles> (#3952)
  • Replace tt::is_a with tt::is_a_lambda (#3995)
  • Add DataVector to LinearLeastSquares (#3955)
  • Add new entry menthod to GlobalCaches for memory monitor (#3975)
  • Allow Frustum to transition between Equiangular Maps (#3889)
  • Template parallel info functions on return type (#3976)
  • Speed up ScriObserveInterpolated test (#4003)
  • Ignore DataBox warning in gcc 11 (#3999)
  • Cleanup GH constraint tests & delete check output dirs (#4000)
  • Allow SpherepackIterator to convert offset to compact index (#4007)
  • Consolidate lists of AH tags (#4001)
  • Subcell TCI improvements, step 0 (#4002)
  • Add subcell boundary conditions to Burgers (#3746)
  • Add MonitorMemory event (#4009)
  • Modify component name function in control systems (#4006)
  • Add IsActive tag for control systems (#3983)
  • Add ResourceInfo for allocating singletons (#3980)
  • Add WCNS-5Z reconstruction to GRMHD (#3991)
  • Bump compiler versions & reduce number of clang builds (#4019)
  • Add Ability to Observe Ricci Scalar (#4018)
  • Add ASSERT for checking subcell volume extents and stencil width. (#4029)
  • Clean up includes of various Time/* files (#4028)
  • Clean up gsl_multiroot (#4025)
  • Update running and visualizing tutorial (#4032)
  • change to gcc-9 for code coverage (#4038)

Bugfixes (14):

  • Minor fixes for Burgers subcell (#3958)
  • Add check for currently open H5 objects before insert/get (#3940)
  • Fix constraint preserving boundary conditions (#3974)
  • Fix ObserveSurfaceData when center not origin (#3988)
  • Fix IgnoreFailedApparentHorizon (#3990)
  • Rename MC to Monotonised Central (#3989)
  • Fix missing templates for parallel infos (#4008)
  • Fix check forbidding removing from a DataBox a subitem of an immutable item (#3998)
  • Fix ci by adding cache clear (#4017)
  • Remove H5 file after AlgorithmGlobalCache is finished (#4026)
  • Handle late calls to InterpolatorReceiveVolumeData (#4010)
  • Disable FPE trapping when calling into python (#4031)
  • Remove colons from control system measurement names ([#4027](https...
Read more

Release 2022.05.05

05 May 06:19

Choose a tag to compare

Upgrade instructions

From #3939 (Add type trait for component type):

If you need to know what chare type a parallel component is, a Group, Nodegroup, Singleton, Array, use the Parallel::is_group_v<Component>, Parallel::is_nodegroup_v<Component>, Parallel::is_singleton_v<Component>, Parallel::is_array_v<Component> type traits, respectively.

From #3948 (Change TensorExpressions interface via changing namespaces):

  • Anywhere using TensorExpressions namespace should now use tenex
  • Anywhere using ti_a (tensor indices) should now use ti::a

From #3828 (InterpolateWithoutInterpComp: Use compute_vars_to_interpolate.):

InterpolateWithoutInterpComponent now uses compute_vars_to_interpolate instead of compute_items_on_source.

Merged pull-requests (34)

New features (1):

  • Add LinearLeastSquares solver (#3918)

General changes (23):

  • Simplify observer registration from interpolations (#3904)
  • Promote Options::name to pretty_type::name utility (#3909)
  • Changes needed to compile on my M1 MacBook Pro (#3895)
  • Simplify control system observations (#3920)
  • Add function to compute the size of an object (#3919)
  • Remove some unnecessary time stuff (#3925)
  • Remove repeated calculations in Ccz4::spatial_ricci_tensor (#3917)
  • Enable compiler flags for setting Blaze inlining settings (#3930)
  • Compute ADM quantities directly from XCTS variables (#3885)
  • Lint "mutable" keyword and clean up "noexcept" test (#3928)
  • Add protocols to interpolation framework (#3896)
  • Add the TimeDerivative for first order CCZ4 (#3759)
  • Split ApplyBoundaryCorrections action (#3938)
  • Enable output of Strahlkorper surface data (#3901)
  • Enable compile flags for toggling SpECTRE inlining (#3947)
  • Add type trait for component type (#3939)
  • Allow MockDistributedObject to be sized (#3946)
  • Add function to determine if element is zeroth element (#3943)
  • Change TensorExpressions interface via changing namespaces (#3948)
  • InterpolateWithoutInterpComp: Use compute_vars_to_interpolate. (#3828)
  • Add RicciScalar to GeneralRelativity (#3916)
  • add enthalpy-parametrized equation of state (#3892)
  • Add code review guide to avoid mutable variables (#3927)

Bugfixes (10):

  • Increase timeout of a test (#3908)
  • Make element_logical_coordinates deterministic (#3913)
  • Add a missing newline in error message (#3922)
  • Update GitHub checkout action to v3.0.1 (#3932)
  • Fix CI failure on develop (#3935)
  • Make StrahlkorperInDifferentFrame more robust (#3923)
  • Implement SpECTRE singleton as Charm++ single-element array (#3787)
  • Fix ComputeVarsToInterpolate protocol (#3944)
  • YlmSpherepack: Replace mutable non-dynamic storage (#3931)
  • Make YlmSpherepack threadsafe (#3934)

Contributors (11): @nilsvu, @knelli2, @kidder, @nilsdeppe, @wthrowe, @macedo22, @markscheel, @gsb76, @geoffrey4444, @AlexCarpenter46, @isaaclegred

Release 2022.04.04

04 Apr 16:08

Choose a tag to compare

Upgrade instructions

From #3766 (Stop computing errors inside ObserveFields, remove ObserveErrorNorms):

If you use ObserveErrorNorms, this is now replaced by ObserveNorms with specifying Error(variable). For example,

ObserveNorms:
  TensorsToObserve:
    - Name: Error(Psi)
      NormType: L2Norm
      Components: Sum
    - Name: Error(Phi)
      NormType: L2Norm
      Components: Sum
    - Name: Error(Pi)
      NormType: L2Norm
      Components: Sum

When writing executables, follow the example in EvolveScalarWave to see how to replace ObserveErrorNorms by ObserveNorms.

From #3832 (Delete thin wrappers around blaze::DynamicVector/Matrix):

If you used DenseVector/Matrix replace them with blaze::DynamicVector/Matrix. Use the includes DataStructures/Dynamic{Vector,Matrix}.hpp if you need support for serialization, make_with_value or option-creation, or include <blaze/math/Dynamic{Vector,Matrix}.h> directly if you don't need those features.

From #3817 (Use quaternion rotation map in BinaryCompactObject domain creator):

When specifying input options for the BinaryCompactObject domain creator, replace

RotationAboutZAxisMap:
  InitialRotationAngle: 1.0
  InitialAngularVelocity: -0.5

with

RotationMap:
  InitialAngularVelocity: [0.0, 0.0, -0.5]

Note: The initial rotation angle is now always assumed to be zero and cannot be specified by the user.

From #3876 (Consolidate mutation of global cache into single function):

To mutate a mutable global cache tag Tag, use Parallel::mutate<Tag, Functor>(cache, args...) where cache is a reference to the local GlobalCache. This works in both the testing framework and charm-aware situations.

From #3882 (Omit BBH domain cube-to-sphere transition):

If you use the BinaryCompactObject domain, try setting EnvelopingCube.Sphericity = 1 and OuterShell.InnerRadius = Auto. This configuration transitions from the two inner objects to the outer spherical shell in a single layer of blocks, which can greatly improve the effectiveness of grid points in the domain.

From #3902 (post_horizon_find_callbacks is now a tmpl::list.):

post_horizon_find_callback needs to be changed to post_horizon_find_callbacks, and is
a tmpl::list of structs instead of a single struct.

From #3838 (Change ASSERT and ERROR to throw an exception instead of aborting):

If you have an ASSERTION_TEST or ERROR_TEST as a separate SPECTRE_TEST_CASE, they should be combined with the standard SPECTRE_TEST_CASE by calling CHECK_THROWS_WITH (see the Catch documentation for usage)

Merged pull-requests (49)

New features (1):

  • Add L2IntegralNorm to ObserveNorms (#3878)

General changes (36):

  • Stop computing errors inside ObserveFields, remove ObserveErrorNorms (#3766)
  • Clean up elliptic observing a bit (#3848)
  • Use full namespace for tags in NewtonianEuler reconstructor codes (#3850)
  • Add PY_DEV_MODE CMake flag (#3849)
  • Toggle building docs on CI, remove unnecessary packages from container (#3847)
  • XCTS binary: superpose matter without Gaussian falloff (#3839)
  • Added the Constraint Energy to be Observable (#3855)
  • Reduce log level of docs notebook conversion (#3854)
  • Add ControlError protocol and tag (#3687)
  • Added Ability to Observe Constraint Energy to BBH (#3867)
  • Update brigand on Ocean (#3864)
  • Allow monopole and dipole in shape map (#3860)
  • Time stepper interface cleanup (#3851)
  • Add more parameters and functions to BinaryTrajectories (#3818)
  • Xcts solver: observe shift magnitude, min and max quantities (#3862)
  • Don't erase Wedge map type in DomainHelpers, make Shape map copyable (#3857)
  • Add Factory.hpp for equations of state (#3868)
  • Add XCTS Schwarzschild solution in more coords (#3853)
  • Add abutting directions to excision spheres (#3872)
  • Delete thin wrappers around blaze::DynamicVector/Matrix (#3832)
  • Make our registered names be consistent with Charm++'s (#3874)
  • Update FindApparentHorizon docs (#3881)
  • Make observing from singletons easier (#3873)
  • Use quaternion rotation map in BinaryCompactObject domain creator (#3817)
  • Consolidate mutation of global cache into single function (#3876)
  • Support factory-created solution in AH boundary conditions, prepare for SHK initial data (#3840)
  • Omit BBH domain cube-to-sphere transition (#3882)
  • Compute numerical deriv diagnostic in ExportCoords (#3863)
  • Switch to Intel MPI 2017.1 on Wheeler (#3890)
  • Add HarmonicSchwarzschild analytic solution (#3829)
  • Convert PhaseChange to new factory (#3888)
  • Add TOV solution in isotropic coords (#3685)
  • Wrap HarmonicSchwarzschild solution for initial data solver (#3893)
  • Move time-stepper implementations to cpp files (#3870)
  • post_horizon_find_callbacks is now a tmpl::list. (#3902)
  • Change ASSERT and ERROR to throw an exception instead of aborting (#3838)

Bugfixes (12):

  • Fix a minus sign in docs (#3856)
  • Fix GH Phi tag docs (#3865)
  • Fix a bug in shape map SphereTransition (#3859)
  • Fix docs of KerrHorizonConforming map, disambiguate spin, add test (#3858)
  • Fix math rendering in AdamsBashforthN (#3869)
  • Fix hard coded path in CaltechHPC submit script (#3871)
  • Fix core devs email address in PublicationPolicy.md (#3875)
  • Fix macOS CI build issue with Boost (#3879)
  • Allow ReadSpecPiecewisePolynomial to create QuaternionFunctionsOfTime (#3884)
  • Fix linking with GrSolutionsTestHelpers (#3897)
  • Fix OrientationMap for Mesh (#3894)
  • Fix test linking on macOS (#3906)

Contributors (11): @nilsdeppe, @nilsvu, @yoonso0-0, @AlexCarpenter46, @knelli2, @geoffrey4444, @wthrowe, @duetosymmetry, @macedo22, @markscheel, @kidder

Release 2022.03.07

07 Mar 16:49

Choose a tag to compare

Upgrade instructions

From #3794 (TimeDependence now recognizes distorted frame.):

Instead of a block_maps member function, each TimeDependence now has 3 functions: block_maps_grid_to_inertial (which is the former block_maps), block_maps_grid_to_distorted, and block_maps_distorted_to_inertial.

From #3813 (Move Strahlkorper and some related functions.):

Strahlkorper, StrahlkorperFunctions, and ChangeCenterOfStrahlkorper have moved to NumericalAlgorithms/SphericalHarmonics/.

From #3822 (Add file_system::glob, support importing volume data from multiple files):

In input files with Importers, change the FileName option to FileGlob.

Merged pull-requests (35)

New features (4):

  • Add reflective boundary condition to NewtonianEuler (#3781)
  • Add file_system::glob, support importing volume data from multiple files (#3822)
  • Load initial data from XCTS solver in GH execs (#3795)
  • Render example notebooks in Doxygen documentation (#3834)

General changes (25):

  • Support sparse matrices in build_matrix (#3805)
  • Tune macOS CI job (#3811)
  • Add tensor slicing for subcell (#3810)
  • TimeDependence now recognizes distorted frame. (#3794)
  • Refactor some of TryToInterpolate.hpp (#3812)
  • Move Strahlkorper and some related functions. (#3813)
  • Add ADER namespaces and ADER-DG spacetime predictor matrix (#3778)
  • Rename CurvedSW execs, move is_analytic_*, other analytic solution updates (#3762)
  • Split ApparentHorizons/Tags.hpp (#3816)
  • Sort list_observation_ids(), support importing first or last observation ID from a volume file (#3824)
  • Configure Blaze: enable BLAS kernels, col-major matrix storage, add comments (#3806)
  • Make subcell projection be dim-by-dim operation (#3803)
  • Add serialization, option creation to Blaze vector and matrix types (#3804)
  • Delete Utilities/Blaze.hpp (#3807)
  • Add an example for running a BBH ID solve (#3820)
  • Add dim-by-dim subcell reconstruction (#3830)
  • Add ObserverMesh and ObserverCoordinates tags (#3764)
  • Update spectre doi author list (#3815)
  • XCTS solver: generalize Kerr to WrappedGr solution (#3835)
  • Block implicit DataVector conversion to Variables (#3836)
  • Enable sleef support (#3833)
  • Runtime retrieval in ObserveFields and simplifications (#3765)
  • Add function to write control system data to disk (#3823)
  • Add polynomial interpolation and ability to read RotNS data (#3735)
  • Add a main entry point to the Python package (#3711)

Bugfixes (6):

  • Fix reference in brigand docs (#3821)
  • Increase timeout of CylindricalBinaryCompactObject (#3827)
  • Fix release checksum for Spack (#3831)
  • Increase AH finder test timeouts (#3843)
  • Fix failing exact comparison in Test_Divergence.cpp (#3845)
  • Fix column numbering in ParallelInfo exec (#3846)

Contributors (7): @nilsvu, @yoonso0-0, @markscheel, @nilsdeppe, @knelli2, @kidder, @wthrowe

Release 2022.02.17

17 Feb 18:44

Choose a tag to compare

Upgrade instructions

From #3768 (Remove TimeDependence/Composition.?pp):

There is no more Composition TimeDependence. If a composition of simple maps is desired, then it should be written explicitly.

From #3799 (Functions in ApparentHorizons/Tags.cpp are now free functions.):

The only interface difference (other than the existence of new functions) is that ah::Tags::LaplacianRadius is now a Scalar<DataVector> instead of a DataVector.

Merged pull-requests (14)

General changes (11):

  • Optimize elliptic solver (5): Multigrid algorithm (#3784)
  • Allow roundoff differences in Adams-Bashforth constant step size check (#3793)
  • Add a reference to ConstantDensityStar docs (#3790)
  • Add bool flag for using subcell boundary conditions (#3779)
  • Load correct libz in ocean_clang.sh (#3797)
  • Spectral equation of state (#3661)
  • Add DevGuide documentation of Brigand (#2326)
  • BBH executable: Observe Ah in inertial frame (#3626)
  • Remove TimeDependence/Composition.?pp (#3768)
  • Functions in ApparentHorizons/Tags.cpp are now free functions. (#3799)
  • Revive macOS CI tests (#2472)

Bugfixes (3):

  • Fix typo in CharacteristicSpeeds (#3798)
  • Fix missing Boost headers pre v1.67 (#3802)
  • Fix Charm++ include paths on Frontera (#3809)

Contributors (7): @nilsvu, @wthrowe, @yoonso0-0, @gsb76, @geoffrey4444, @ffoucart, @markscheel

Release 2022.02.08

08 Feb 18:21

Choose a tag to compare

Upgrade instructions

From #3712 (Update installation instructions, add Spack env file, upgrade container):

To compile the Doxygen documentation, upgrade to the recently released bugfix version 1.9.3. Earlier versions also work, but the documentation may not look the same as on https://spectre-code.org.

From #3720 (Disable IWYU by default):

To enable IWYU, set -D USE_IWYU=ON in your CMake config.

From #3715 (Allow experimental builds with Charm++ 7):

Builds with Charm++ 7 are now allowed, meaning the SpECTRE build system now accepts Charm++ 7 installations. Builds with Charm++ 7 are still experimental, so please file or fix issues you encounter.

From #2680 (Link Charm++ as a CMake target):

We link Charm++ like any other external dependency now. In particular:

  • If you include <pup.h>, add Charmxx::pup to target_link_libraries.
  • If you include <charm++.h>, add Charmxx::charmxx to target_link_libraries.

It is now easier to link Charm++ shared libraries, which can significantly reduce the size of builds. To take advantage of this, build Charm++ with the --build-shared flag and configure the SpECTRE build with -D BUILD_SHARED_LIBS=ON.

From #3740 (Move testing Parallel::mutate to ActionTesting):

In tests, instead of calling Parallel::mutate(cache), now call ActionTesting::mutate(cache).

From #3741 (Clarify center() function of strahlkorper as expansion_center()):

Strahlkorper now has its center() function renamed to expansion_center()

Merged pull-requests (68)

New features (2):

  • Add executables to CurvedScalarWave system (#3729)
  • Install SpECTRE with Spack (#3758)

General changes (54):

  • Support python 3.10 and boost 1.77 (#3718)
  • Update copyright year to 2022 (#3726)
  • Delete obsolete python test files (#3724)
  • Move CurvedScalarWave evolved variables into Tags namespace (#3727)
  • Add action to randomize inital evolved fields (#3580)
  • Update installation instructions, add Spack env file, upgrade container (#3712)
  • Disable IWYU by default (#3720)
  • Make order of CurvedScalarWave evolved variables tags consistent (#3728)
  • Move ScalarWave evolved variables into Tags namespace (#3722)
  • Convert elliptic boundary conditions to use factory map (#3669)
  • MutableGlobalCache: Clear callbacks before invoking them. (#3725)
  • Make order of ScalarWave evolved variables tags consistent (#3723)
  • Clean up CMake code for defining tests (#3708)
  • Refactor ScalarWaveGr instantiations (#3733)
  • Remove redundant SWSH calculation (#3736)
  • Make ScalarWaveGr accept CurvedScalarWave initial data directly (#3737)
  • Add dimensionless spin magnitude functions and compute tag (#3732)
  • Add basic support for make install (#3719)
  • Allow experimental builds with Charm++ 7 (#3715)
  • Adding Automatic Resubmission of Jobs from Checkpoints Capability (#3738)
  • Convert elliptic solutions and data to use factory map (#3672)
  • Add check for wrong number of names in reduction call (#3745)
  • Generate BibTeX entry at releases (#3667)
  • Add partial_derivative functions for a single Tensor (#3743)
  • Add Flattener to GRMHD (#3696)
  • Add executable name as ctest label (#3750)
  • Strahlkorper diff (#3691)
  • Add standard CMake BUILD_TESTING option, document test targets (#3744)
  • Add a few details to publication policies (#3754)
  • Add CI test with oldest supported CMake version, find MPI for HDF5 if necessary (#3753)
  • Make GRMHD, Burgers, SW solutions factory createable, add test_option_tag_factory_creation (#3707)
  • Get Frontera support working again (#3698)
  • Use Flattener instead of pointwise fixing in GRMHD (#3757)
  • Notify new contributors to add name to metadata (#3755)
  • Add performance section to dev guide (#3747)
  • Decouple TOV radial solution, fix bug with multiple instances (#3703)
  • Add continuous extension RK time steppers (#3717)
  • Add (non-char-speed) BBH control measurement (#3620)
  • UniformCylindricalEndcap (#3325)
  • Improve error message in file comparison-type tests (#3763)
  • Support Spack installation with shared libs (#3767)
  • Link Charm++ as a CMake target (#2680)
  • Move testing Parallel::mutate to ActionTesting (#3740)
  • Clarify center() function of strahlkorper as expansion_center() (#3741)
  • Use Python 3.7 module on Wheeler (#3734)
  • Add CurvedScalarWave executable that observes a scalar field in Kerr-Schild background (#3742)
  • Optimize elliptic solver (4): Boundary conditions in MinusLaplacian preconditioner (#3752)
  • Use type trait to select between analytic solutions/data for DirchletAnalyticBcs (#3780)
  • Spack CI test: disable debug symbols (#3775)
  • Add new releases to Spack automatically (#3774)
  • Remove unused functions from ComputeTimeDerivative (#3777)
  • Add time to AH finder printed output (#3785)
  • Change my name (#3789)
  • Print nodes on wheeler (#3791)

Bugfixes (12):

  • Fix linking in Test_GhConstraintDamping (#3721)
  • Fix rendering of BibTeX entry in README (#3748)
  • Fix CI issue with BibTeX entry (#3749)
  • Fix PYTHONPATH in Python tests (#3751)
  • Fix PCH builds with Spack (#3761)
  • Fix Ylmspherepack segfault (#3651)
  • Fix BibTeX entry in publication policies (#3760)
  • Fix a missing function rename (#3770)
  • Fix finding a lib on Wheeler (#3769)
  • Fix CSW / SW docs for evolved variable tags (#3771)
  • Fix an issue with encoded accents in bib entry (#3776)
  • Fix linking, static test libs on macOS, remove cyclic CceAnalyticSolutions lib (#3773)

Contributors (11): @wthrowe, @kidder, @nikwit, @nilsvu, @geoffrey4444, @markscheel, @MarloMo, @AlexCarpenter46, @macedo22, @nilsdeppe, @knelli2

Release 2022.01.03

03 Jan 16:34

Choose a tag to compare

Upgrade instructions

From #3697 (Combine time-dep rotation maps):

If you want to use the 3D rotation map that uses quaternions, use Rotation<3> now instead of Rotation3D.

Merged pull-requests (8)

General changes (8):

  • ComputeHorizonVolumeQuantities: expand some error messages. (#3702)
  • Combine time-dep rotation maps (#3697)
  • Separate CachedTempBuffer from computer (#3686)
  • Enable subcell for Newtonian Euler (#3648)
  • Minor retroactive fixes for subcell codes (#3705)
  • Add MC reconstruction for GH+GRMHD (#3643)
  • Miscellaneous control system changes (#3706)
  • Add void dimensionful_spin_magnitude free function to StrahlkorperGr.cpp (#3671)

Contributors (7): @markscheel, @knelli2, @nilsleiffischer, @kidder, @yoonso0-0, @nilsdeppe, @MarloMo

Release 2021.12.15

15 Dec 17:29

Choose a tag to compare

Upgrade instructions

From #3612 (Remove function of time names from options):

Remove all FunctionOfTimeName: and InitialExpirationDeltaT: options from input files

Merged pull-requests (15)

General changes (12):

  • Add WeylMagnetic (#3215)
  • Add Frame::Distorted to Domain (#3677)
  • Add TensorIndex n for TensorExpressions (#3680)
  • Remove function of time names from options (#3612)
  • Apple silicon (#3683)
  • Add subcell time derivative to Burgers (#3676)
  • Add Burgers subcell executables (#3678)
  • Add KH instability analytic data for GRMHD (#3682)
  • Update tensor variable names in GeneralRelativity (#3689)
  • Mass-conservative restriction in elliptic DG (#3700)
  • FindApparentHorizon now stores previous results. (#3692)
  • Split NeighborDataForReconstructionAndRdmpTci tag (#3693)

Bugfixes (3):

  • Increase tolerance for CCZ4 Ricci tensor and DgSubcell reconstruction unit test cases (#3684)
  • Add support for clang-13/Ubunt 21.10 (#3701)
  • Set output precision in RunSingleTest (#3695)

Contributors (10): @noora-gn, @gsb76, @macedo22, @knelli2, @geoffrey4444, @yoonso0-0, @nilsdeppe, @nilsleiffischer, @markscheel, @wthrowe