Recent Releases of spectre
spectre - Release 2025.08.19
Upgrade instructions
From #6610 (Generalize neighbors for nonconforming blocks):
You must pass the ID of the Block or Neighbor to the orientation member function of BlockNeighbors or Neighbors.
From #6611 (Only interpolate for horizon finds from certain blocks):
Each entry under the ApparentHorizons: block of the input file gets a new option BlocksForInterpolation:. This could either be a list of block groups or All to indicate all blocks in the doman.
From #6613 (Add MortarInfo):
A mortar size will need to be obtained from the MortarInfo returned by Tags::MortarInfo instead of directly from Tags::MortarSize.
From #6467 (Check SpEC version when importing):
To use eccentricity control, make sure you're pointing to a recent enough SpEC version (Aug 2024).
From #6589 (Add states DeltaRDriftInward, DeltaRNoDrift):
Add this option to your input file to have the DetalRDriftInward state disabled by default.
yaml
ControlSystems:
Size:
...
DeltaRDriftInwardOptions: None
From #6622 (Add combined event for AhC):
In BBH input files, the part of the events and triggers at slabs block which had the ringdown events goes from this
yaml
- ObservationAhC
- ObserveFields:
SubfileName: ForContinuation
VariablesToObserve:
- SpacetimeMetric
- Pi
- Phi
InterpolateToMesh: None
# This volume data is for ringdown, so double precision is needed.
CoordinatesFloatingPointType: Double
FloatingPointTypes: [Double]
BlocksToObserve: All
to this
yaml
- ObservationAhC:
SubfileName: ForContinuation
VariablesToObserve:
- SpacetimeMetric
- Pi
- Phi
InterpolateToMesh: None
# This volume data is for ringdown, so double precision is needed.
CoordinatesFloatingPointType: Double
FloatingPointTypes: [Double]
BlocksToObserve: All
From #6631 (AMR: add AllowCoarsening policy):
In input files, add the following line to Amr.Policies to keep the current behavior unchanged:
yaml
AllowCoarsening: True
From #6670 (Factor Spectral.hpp and Spectral.cpp into multiple files):
If you included Spectral.hpp you will now need to include the appropriate new header(s).
From #6630 (AMR: add keepcoarsegrids option):
In new executables, add the following line to Metavariables::amr to keep the standard AMR behavior:
cpp
static constexpr bool keep_coarse_grids = false;
From #6767 (Move KerrHorizon.xpp to GeneralRelativity lib):
Change the include directory for KerrHorizon.xpp files to PointwiseFunctions/GeneralRelativity/KerrHorizon.xpp.
From #6788 (Remove base tags and use simple tags when possible):
In calls to db::get or in the typelists for argument_tags of mutators, use the simple tag instead of a compute/reference tag
From #6771 (Finish variable-order time-stepper support):
Input files using local time-stepping can now specify
Autofor the order of the TimeStepper to enable variable-order time-stepping. They must also specify the newVariableOrderAlgorithmoption, for example as shown below. See the option help for possible values. The choice has no effect if the time-stepper order is notAuto.yaml Evolution: VariableOrderAlgorithm: GoalOrder: 4Executables using local time-stepping must now include the
ChangeTimeStepperOrdermutator in their action lists. See the existing executables for details.
From #6793 (AH rewrite: Switch AH execs to use new AH infrastructure):
In the KerrSchildSphericalHarmonic.yaml input file, rename instances of Ah to ApparentHorizon.
The following upgrades are for execs with horizon finders:
- Remove the DumpVolumeDataOnFailure: option under the Interpolator: group.
- Under the ApparentHorizons: block, rename MaxInterpolationRetries: to MaxComputeCoordsRetries: and BlocksForInterpolation: to BlocksForHorizonFind.
From #6759 (Recommend charm version 8):
Charm version 8 is now recommended over version 7, but 7 is still supported for applications not using dynamic h-refinement or similar post-startup element creation.
From #6797 (Separate h and p refinement criteria so they can be applied separately in evolution executables):
- New amr::Criterion have to overload the function
typebased on whether it returns h or p refinement flags - The amr struct in the metavariables must define a static constexpr bool prefineineventsonly; the recommendation is to set it to true for evolution executables and false for elliptic executables.
- If you were previously doing p-refinement via phase changes, you will need to add something like the following to the list of EventsAndTriggers in the input file:
```
- Trigger: Slabs: EvenlySpaced: Interval: 1 Offset: 0 Events: RefineMesh ``` where you should change the trigger to what you desire. If you only want to do p-refinement, then you should omit PhaseChanges related to AMR in the list of PhaseChangeAndTriggers.
Merged pull-requests (190)
CLI & Python bindings (1):
- Add Urania machine and validate flag to scheduler (#6184)
General changes (167):
- Clean up SurfaceFinder code (#6594)
- Ghost zone comm mc sum fluid coupling (#6564)
- Fix error in frustum, use ZeroMhd for BNS, not not-BNS.... (#6588)
- Add evolution and parameter tags for the CCZ4 system (#6596)
- Retry AH interpolation with new surface after failure (#6595)
- Add more docs and fix typo in TimeDerivative.hpp/cpp in the CCZ4 system (#6597)
- Generalize DerivLapse in the CCZ4 system to allow more tensor symmetry (#6598)
- Remove template parameters from TimeDerivativeTerms (#6555)
- Factor out enum ChildSize and rename it SegmentSize (#6607)
- Add enum InterfaceDataPolicy (#6606)
- Add variable-order support to TimeStepper base class (#6602)
- Improve documentation and fix Lorentz factor–velocity inconsistency in PrimitiveRecovery.cpp (#6609)
- Generalize DerivChristoffel in the CCZ4 system to allow more tensor symmetry types (#6600)
- Generalize spatialriccitensor() for second-order CCZ4 (#6603)
- Enable BNS Translation control, plot control systems with different line styles (#6601)
- Add domain creator for S2 spherical shells (#6573)
- Add variable-order support to the Adams time steppers (#6612)
- Template ghgrmhd on neutrino transport stub (#6582)
- Generalize neighbors for nonconforming blocks (#6610)
- Remove pointless O(N^2) string processing (#6619)
- Only interpolate for horizon finds from certain blocks (#6611)
- Add MortarInfo (#6613)
- Check SpEC version when importing (#6467)
- Add states DeltaRDriftInward, DeltaRNoDrift (#6589)
- Add combined event for AhC (#6622)
- Add ElementSearchTree, use to speed up PointwiseInterpolator (#6571)
- Simplify volume actions, add dependency to interp framework (#6623)
- Fix bugs in AMR TruncationError criterion (#6615)
- Add a Restart phase and regenerate registration data on restart (#6551)
- Implement h-refinement projectors for volume data (#6621)
- Prevent writing volume data when AhC fails (#6624)
- Interpolated boundary data (#6629)
- Add Viper machine (#6633)
- Add interpolator for nonconforming boundary data (#6625)
- AMR: add AllowCoarsening policy (#6631)
- Allow to read in numerical initial data for CurvedScalarWave (#6154)
- Relocate constraint damping to PointwiseFunctions (#6635)
- Mark approx const (#6641)
- Support complex numbers in power monitors, AMR criteria (#6640)
- Allow colons inside bibtex keys (#6643)
- Add Strahlkorper power monitor (#6642)
- Add constraint damping functions for scalar tensor (#6637)
- Allow to read numerical initial data for ScalarTensor (#6155)
- Enable mesh extension to compute ghost data without extrapolation. (#6632)
- Support single precision in interpolation, set initial block order (#6649)
- Add first FD spacetime_derivatives() for SoCcz4 (#6618)
- Exporter: add SpacetimeInterpolator (#6567)
- Increase tolerance in GHMHD time derivative test (#6663)
- Add macro storing neutrino systems for GhMhd (#6660)
- Add spatial covariant derivative of extrinsic curvature (#6645)
- Add ramp up function (#6647)
- Clarify GRMHD TCI dox (#6664)
- Remove a default parameter in Tensor metafunctions (#6671)
- Add constructor for replay FoT in FromVolumeFile (#6665)
- Remove Unnecessary Test Library (#6669)
- Add callback to dump scalar variables together with metric variables on worldtube (#6638)
- Specialize gh grmhd m1 (#6662)
- Add function to compute the convergence rate of a power monitor (#6666)
- Factor Spectral.hpp and Spectral.cpp into multiple files (#6670)
- Update Pipeline for Unequal Mass Runs (#6644)
- Add geodesic equation for null rays (#6646)
- Add coupling functions and sources for ScalarTensor (#6650)
- Add second FD spacetime derivatives for SoCcz4 (#6672)
- Add coupling parameters (#6676)
- Add more tnsr type alias (#6675)
- Fix evolution mesh-orientation bugs (#6659)
- Promote HomogeneousSphere solution to be usable in GhGrMhd (#6661)
- Update ScalarTensor executable (#6651)
- Update bbh pipeline to use higher resolution in initial data (#6685)
- Add additional error estimates needed for variable-order stepping (#6617)
- Add density check for param delep (#6687)
- Add scalar self-force equations (#6656)
- Change polytropic to tab EOS for CCSN initialize (#6686)
- Add time derivative for SoCcz4 (#6680)
- Move FD SecondPartialDerivatives to NumericalAlgorithms (#6694)
- Add Cartoon to Basis and Quadrature (#6688)
- AMR: add keepcoarsegrids option (#6630)
- Prep for mortar h-refinement (#6681)
- Support complex numbers in Schwarz smoother (#6692)
- Add action modifying fluid variables for MC coupling (#6667)
- Change background GR variable in MC to match GhGrMhd (#6639)
- Add 1D Cartoon Expansion Calculation (#6691)
- Allow reconstructing rho*T instead of just T (#6682)
- Print ASSERT and ERROR captures at high precision (#6701)
- Constrain BBH ID spins to < 1 (#6703)
- Add off-diagonal Jacobian terms to BBH ID EJ control (#6704)
- Compute horizon quantities at excisions for the zero-expansion BC. (#6627)
- Fix variable-order LTS assertion failure (#6700)
- Rename Basis::B2Marcus to ZernikeB2 and add ZernikeB3 (#6706)
- Improve numerical precision when constraining BBH ID spins (#6709)
- Cce add volume np spin coeffs (#6648)
- Parameterized Deleptonization Runtime Option for GH (#6695)
- Add function to get number of pile up modes (#6674)
- Add GravitationalEffectiveSource code (#6684)
- Add Spectral Cartoon instantiations (#6707)
- Add polar to cartesian coordinate map (#6708)
- Allow YAML floats to be parsed as integer types (#6720)
- some necessary changes for building on frontera (#6710)
- change partition name for Mbot submit script (#6719)
- Disable HDF5 file locking in Python (#6713)
- Add Psi_2 in CCE volume (#6697)
- Add GR self-force tags (#6718)
- Add a new action ReceiveAndSendDataForReconstruction (#6693)
- Allow to observe derivs of ADM variables (#6658)
- Add scalar self-force boundary conditions (#6690)
- Add h-refinement support for evolution mortars (#6715)
- Add h-projector for RunEventsAndDenseTriggers (#6724)
- Adapt BBH ID for high spins (#6728)
- Do not delete sets in interpolator deregistration (#6725)
- Update Metadata.yaml (#6729)
- AH rewrite: Add some housekeeping (#6731)
- Move regex to Main.cpp (#6740)
- Remove base tag version of HistoryEvolvedVariables (#6739)
- Add adaptive horizon finder criteria (#6689)
- Remove a few infrequently used base tags (#6746)
- Change GlobalCache tag from base to simple (#6745)
- Add function to concatenate tagged tuples. (#6743)
- Convert ArrayIndex base tag to a simple tag (#6747)
- AH rewrite: Add AH storage and destination (#6741)
- AH rewrite: Add AH protocols (#6742)
- AH rewrite: Add option and simple tags (#6751)
- AH rewrite: Add initialization action and component (#6752)
- Add adaptive horizon criterion for residual (#6732)
- Revert reordering of tildeB fluxes and sources in ValenciaDivClean (#6750)
- Fix MinimalExample (#6755)
- Add TrumpetSchwarzschild GR analytic solution (#6726)
- Get rid of more base tags (#6756)
- Remove EOS base tag (#6760)
- AH rewrite: Add cleanup function and new tag (#6761)
- Remove point info base tag (#6764)
- Remove AnalyticSolutionOrData base tag (#6766)
- Remove SubdomainSolverBase tag (#6768)
- Add Wigner 3j symbols. (#6738)
- AH rewrite: Add function to compute volume vars (#6763)
- AH rewrite: Add function to compute coords of new fast flow iteration (#6762)
- Move KerrHorizon.xpp to GeneralRelativity lib (#6767)
- Implement DG Cartoon partial derivatives (#6730)
- AH rewrite: Add function to interpolate AH volume vars (#6775)
- AH rewrite: Add function to invoke AH callbacks (#6776)
- AH rewrite: Add some AH callbacks (#6782)
- AH rewrite: Add AH callback to observe center of horizon (#6784)
- Split ParallelArrayCollection into separate library (#6773)
- AH rewrite: Add AH callbacks to observe surface and time series data on a horizon (#6785)
- AH rewrite: Add AH action that actually finds the horizon (#6786)
- Remove base tags and use simple tags when possible (#6788)
- Finish variable-order time-stepper support (#6771)
- Fix path to moved file (#6791)
- AH rewrite: Add new events for the horizon finder (#6789)
- AH rewrite: Prep control system for new AH infrastructure (#6790)
- Fix path to moved tag in AH test (#6792)
- Add GaugePlaneWave test case for WrappedGr (#6757)
- Add a Ccz4 wrapper class around gr solutions (#6774)
- Restart time integration after LTS h-refinement (#6795)
- Split ObserveTimeStep into cpp and tpp files (#6796)
- Set the mortar mesh during p-refinement (#6799)
- Add FlatOffsetWedge (#6783)
- Add Cartoon integral and interpolation (#6781)
- AH rewrite: Switch AH execs to use new AH infrastructure (#6793)
- Add FlatOffsetSphericalWedge. (#6800)
- Remove testthrowexception test helper (#6806)
- Rename Time/Utilities to Time/SlabRoundingError (#6807)
- Add shape adaptive ah criterion (#6794)
- minor bug fixes in tests (#6810)
- Cast CoM integral with psi-1 terms. (#6813)
- Separate h and p refinement criteria so they can be applied separately in evolution executables (#6797)
- Reorganize time-stepper tolerance compute tags (#6804)
- Adapt BBH ID for high mass ratios and spins (#6777)
Documentation (3):
- Docfix ComputeBondiIntegrandTags::PoleOfIntegrand<Tags::BondiH> (#6604)
- Clarify documentation for neighborisconforming (#6608)
- Fix KappaLimiting documentation (#6744)
Bugfixes (9):
- Fix possible small memory leak in interpolator (#6599)
- Fix typo in latex equation of loehnersmoothnessindicator (#6616)
- Add missing option for skew map on input file (#6628)
- Fix bug in AH finder initial guess (#6652)
- Fix a small bug in elliptic solver (#6657)
- Include StdHelpers.hpp when asserts << topologies (#6698)
- Fix registration for interpolator component (#6712)
- Change ringdown gauge parameters to match inspiral (#6798)
- Always check if mortar data needs projecting (#6814)
Build system (3):
- Add charm-8.0.0 module patches (#6620)
- Support linking device code in static libraries (#6753)
- Recommend charm version 8 (#6759)
Continuous integration & deployment (7):
- Fix CI Py3.8 test (#6577)
- Fix macOS CI test (#6655)
- Disable regular Spack CI test (#6654)
- Add ExtraFileCheckExecs to CheckOutputFiles.py (#6677)
- Fix a Py test on macOS CI (#6683)
- Test building with Kokkos on CI (#6721)
- Update doxygen in CI to 1.14.0 (#6778)
Contributors (17): @nilsdeppe, @ffoucart, @hen-w, @knelli2, @duetosymmetry, @pajkosmi, @kidder, @wthrowe, @jyoo1042, @nilsvu, @markscheel, @guilara, @geoffrey4444, @AlexCarpenter46, @michaeldmurphy1, @iago-mendes, @ncorsobh
- C++
Published by sxs-bot 7 months ago
spectre - Release 2025.04.21
Upgrade instructions
From #6530 (Add radial partitioning to BCO outer shells):
When using the BCO domain creator, whenever you specify the "OuterShell" block name, now you must specify "OuterShell0", along with any more shells that are added to the RadialPartitioning:.
From #6540 (Support tracking ObjectCenters in TimeDependentTripleGaussian):
The time dependent triple gaussian input file now needs:
MovementMethod: ExpansionFactor
to preserve the same behavior.
Merged pull-requests (58)
CLI & Python bindings (3):
- PySphericalHarmonics: bind Strahlkorper in grid frame (#6552)
- BBH pipeline: set time bounds in ecc control (#6490)
- PySphericalHarmonics: instantiate another transform function (#6580)
General changes (51):
- Correctly identify external Block boundaries for Topologies other than I1 (#6521)
- Always redo step if size change is desired (#6486)
- Properly extend shape map into interior region (#6477)
- Update python on ocean to 3.12.9, with dependencies bootstrapped (#6523)
- Reset target char speed when going to state DeltaR (#6526)
- Send inertial centers to control system and add control system for grid centers (#6501)
- Observe Psi0 in Cce volume (#6529)
- Add radial partitioning to BCO outer shells (#6530)
- Refactor Adams-method error estimation (#6512)
- Replace LinearLeastSquares with free functions (#6532)
- Correctly treat external boundaries in Elements with new topologies (#6531)
- Add Ocean2 Environment and Machine (#6525)
- Allow CCE ObserveFields to write volume data synchronously (#6534)
- Improve some parsing error messages (#6533)
- Increase tolerance in skew map test (#6545)
- Support GridCenters BNS tracking in SeparationLessThan (#6541)
- Add GridCenters control system support to BCO for tracking NS centers (#6537)
- Support tracking ObjectCenters in TimeDependentTripleGaussian (#6540)
- Send more quantities to size control for state 3 (#6518)
- BlockLogicalCoordinates: factor out search over blocks, support priority order (#6547)
- Support disabling control systems in UpdateFunctionOfTime (#6539)
- Disable black formatting in external python files (#6536)
- Exporter: split functions for reuse (#6546)
- Add calculation of $\Psi_1$ in the CCE volume (#5480)
- Refactor TimeDerivativeTerms for GhGrMHD (#6549)
- Exporter: add PointwiseInterpolator, interpolation in grid frame (#6557)
- Use topology to create initial mesh (#6560)
- Fix reported link time (#6559)
- Communication of coupling terms in MC (#6550)
- Add a minimum temperature option in Ideal Fluid (#6554)
- Catch integer overflow in chooseltsstep_size (#6570)
- Update createinitialelement for a Domain with non-conforming Blocks (#6553)
- Add disabling rotation control system to BNS (#6548)
- Add deadlock analysis to Worldtube CurvedScalarWave (#6543)
- Add check for negative expansion boundary condition. (#6561)
- Correct size of coupling tensors in MC initialization (#6572)
- Implement 3D 4-th order finite difference second partial derivatives (#6495)
- Support some empty volume files in GenerateXdmf (#6575)
- Add test for Initializationa action in MonteCarlo (#6579)
- Add print code in test to get FD points and grid spacing (#6574)
- Add ZeroMhdTimeDerivatives mutator (#6576)
- Small fixes to enable new topologies (#6583)
- Update copyright to 2025 (#6584)
- Change observed CCE volume data format. (#6568)
- Remove combined GH/CCE executables (#6590)
- Add pybinding for findobservationid (#6593)
- Whitespace deprecated after operator"" (#6592)
- Add Henry Huang to SpECTRE contributor list (#6591)
- Add conformal christoffel factor to Preprocess CCE ADM vars (#6586)
- Modify the initial setup of Fishbone-Moncrief Disk (#6556)
- Add coefficient calculations for variable-order Adams LTS (#6565)
Documentation (1):
- Put ADM time derivs in CCE dox (#6524)
Bugfixes (2):
Continuous integration & deployment (1):
- Fix macOS build on CI (#6587)
Contributors (14): @kidder, @wthrowe, @knelli2, @geoffrey4444, @nilsdeppe, @AlexCarpenter46, @nilsvu, @duetosymmetry, @pajkosmi, @ffoucart, @jyoo1042, @iago-mendes, @guilara, @hen-w
- C++
Published by sxs-bot 11 months ago
spectre - Release 2025.03.17
Upgrade instructions
From #6447 (Add Skew map to BCO):
When using the BinaryCompactObject domain creator, you must add the following option to the time depndent options:
yaml
TimeDependentOptions:
SkewMap:
InitialValuesY: [0.0, 0.01, 0.0]
InitialValuesZ: [0.0, 0.01, 0.0]
It has the same capabilities to be None or from a volume file as the other time dependent map options.
From #6482 (Allow specifying 'None' for control sys in input file):
To turn a control system off in the input file, use
yaml
ControlSystems:
Expansion: None
When keeping a control system active, keep all the same previous options, except remove the IsActive: option. I.e.
yaml
ControlSystems:
Expansion:
Averager:
AverageTimescaleFraction: 0.25
Average0thDeriv: false
Controller:
UpdateFraction: 0.03
TimescaleTuner:
InitialTimescales: [0.2]
MinTimescale: 1.0e-2
MaxTimescale: 10.0
IncreaseThreshold: 2.5e-4
DecreaseThreshold: 1.0e-3
IncreaseFactor: 1.01
DecreaseFactor: 0.98
ControlError:
From #5519 (Add debug prints to interpolation framework):
If your executable has the Interpolator or InterpolationTarget parallel component, you need the following in your input file
yaml
Interpolator:
Verbosity: Silent
From #6491 (Allow prolongation/restriction for shape FoT from vol file):
If you are reading the shape function of time from a volume H5 file, add LMax: Auto to the options. Auto here will choose the LMax from the volume H5 file, or if a number is specified, that number will be the new LMax and a prolongation/restriction of the volume H5 shape FoT will happen.
From #6487 (Add Skew control system to BBH):
Any input file for the BBH executable must now also have a Skew: block under the ControlSystems: group with all the same options as the other control systems.
From #6503 (Begin adding support for domains with non-conforming blocks):
- replace
BlockNeighbor<Dim>withNeighbors<Dim, size_t> - when constructing block neighbors, it now needs a
std::unordered_set<size_t>instead of asize_tfor the Id - if the neighboring Blocks/Elements are conforming and aligned, you need only construct the Neighbors with the set of Ids
- if the neighboring Blocks/Elements are conforming, but not aligned, you need to construct the Neighbors with the set of Ids,
domain::InterfaceDataPolicy::OrientCopyProject, and the OrientationMap - if you call
Neighbors::orientation()it now returns astd::optionalso you instead to callNeighbors::orientation().value_or(OrientationMap<VolumeDim>::create_aligned())to get the previous behavior. (In the future, the code calling this will need to be modified in order to support domains with non-conforming Blocks.)
Merged pull-requests (50)
New features (1):
- Add m1 analytic data & couple GreyM1 to fixed hydro (#6453)
CLI & Python bindings (5):
- Status CLI / dashboard: handle pending jobs better, plot simulation time over calendar time (#6463)
- Add glob pattern to eccentricity control (#6465)
- BBH pipeline: store target params, continue from evolution data for PBJ (#6445)
- BBH pipeline: write eccentricity params to file, add CLI to compute params & plot (#6468)
- Use match time as initial time in Ringdown pipeline (#6488)
General changes (37):
- Skip dat files when plotting control systems (#6458)
- Avoid assumptions about history in dense output (#6466)
- Ignore projectile and CMakeUserPreset.json (#6470)
- Add Skew map (#6446)
- Allow MessageQueue to update 2+ tags at once (#6476)
- Remove dependence on timing for checkpoint-restart (#6478)
- Add Skew map to BCO (#6447)
- Add puncture field as initial data for worldtube simulations (#6436)
- Fix compiling ParallelInfo (#6474)
- Add phase for disable rotation in BNS (#6475)
- Merge stepping actions in CCE (#6480)
- Remove some unnecessary tpp includes from headers (#6483)
- Error if overlay removes restart phase change, add ASSERT to power_monitors, increase SW2D test timeout. (#6484)
- Add mbot installation shell script (#5750)
- Add StressEnergyTensor free function (#6457)
- Allow specifying 'None' for control sys in input file (#6482)
- Use blaze in largeststeppererror (#6494)
- Compute ADM momenta as volume integrals (#6433)
- Add
OrbitRadiustrigger (#6500) - Use predictor-corrector difference as error in AM (#6504)
- Enable self force evolution of worldtube (#6506)
- Print worldtube status (#6507)
- Add new Basis and Quadrature for cylindrical shells and filled cylinders (#6508)
- Enable interpolation for shells using spherical harmonics (#6479)
- Add debug prints to interpolation framework (#5519)
- Allow prolongation/restriction for shape FoT from vol file (#6491)
- Store the DG Basis in the Block. (#6510)
- Adjust approx on a test in TestStressEnergy to prevent a random failure (#6511)
- Elliptic solver: allow to observe fixed sources, support optional direct solve (#6513)
- Control ADM energy and angular momentum in BBH ID (#6505)
- Add Skew control system to BBH (#6487)
- Increase timeout of BentBeam input file test (#6519)
- Replace Basis with Topology in Block (#6517)
- Mc optically thick sphere (#6403)
- Begin adding support for domains with non-conforming blocks (#6503)
- Elliptic DG: support modifying boundary data (#6514)
- Add ability to preprocess non-GH evolution data (#6502)
Bugfixes (4):
- BBH pipeline: small ecc control fixes (#6461)
- Fix some BNS ID docs (#6489)
- Fix rendering of movies with render-1d CLI (#6515)
- Fix bugs in Skew map (#6493)
Build system (2):
- Add ability to list files to copy in input file tests (#6473)
- Link jemalloc only into executables (#6496)
Continuous integration & deployment (1):
- Update broken libxsmm URL, pin a docker version (#6498)
Contributors (11): @nilsvu, @nilsdeppe, @wthrowe, @pajkosmi, @vtommasini, @knelli2, @nikwit, @jyoo1042, @iago-mendes, @kidder, @ffoucart
- C++
Published by sxs-bot 12 months ago
spectre - Release 2025.01.30
Upgrade instructions
From #6407 (Drop modifications to libsharp):
GNU Make is now a required dependency. Using Ninja to build SpECTRE will continue to work, but it will internally use make to build the bundled libsharp libraries.
From #6115 (Use new common time dependent options in Sphere and BCO domains):
The options for the Expansion and Rotation map in the BinaryCompactObject and Sphere domains have changed slightly. In the BinaryCompactObject, they are now
yaml
TimeDependentMaps:
...
ExpansionMap:
InitialValues: [1.0, -4.6148457646200002e-05, 0.0] # <-- Must specify all derivs
AsymptoticVelocityOuterBoundary: -1.0e-6 # <-- Same as before
DecayTimescaleOuterBoundary: 50.0 # <-- Different name, same value as before
In the Sphere domain, you can optionally specify the same options as the BinaryCompactObject like above to use functions of time that expire. Additionally, you can specify options to use SettleToConstant functions of time in the Sphere domain with the options below
yaml
TimeDependentMaps:
...
ExpansionMap:
InitialValues: [1.0, -4.6148457646200002e-05, 0.0] # <-- Must specify all derivs
InitialValuesOuterBoundary: [1.0, 0.0, 0.0] # <-- Must specify all derivs
DecayTimescale: 52.0 # <-- Different name
DecayTimescaleOuterBoundary: 50.0 # <-- Different name
RotationMap:
InitialQuaternions: [[1.0, 0.0, 0.0, 0.0]] # <-- Need quat. Can optionally specify derivs
DecayTimescale: 50 # <-- Different name
Additionally, for any of the time dependent map options, you can choose the function of time from a volume H5 file by specifying the following options (not just for Expansion, but for Rotation and Translation as well and shape is slightly different)
yaml
TimeDependentMaps:
...
ExpansionMap:
H5Filename: BbhVolume0.h5
SubfileName: VolumeData
ShapeMapA:
H5Filename: BbhVolume0.h5
SubfileName: VolumeData
TransitionEndsAtCube: true
From #6437 (Revamp some deadlock analysis for GH):
For BBH and SingleBH executables, must add a block to the input file
yaml
EventsRunAtCleanup:
ObservationValue: -1000.0
Events:
- Event1
- Event2
From #6444 (Remove CCE ability to read metric worldtube data):
The CCE and KleinGordon CCE executables can no longer read worldtube data written in the "metric" form (i.e. spatial metric, lapse, shift, and their time and radial derivatives). They can only now read worldtube data written in the bondi form, made up of modal coefficients. The preferred method for converting worldtube data is to use the PreprocessCceWorldtube executable.
The input file options H5IsBondiData and FixSpecNormalization are removed from the CCE and KleinGordon CCE input files.
Merged pull-requests (38)
CLI & Python bindings (4):
- Eccentricity Reduction Automation (#6406)
- Use SpEC's eccentricity control (#6333)
- Clean up ringdown script (#6431)
- Status CLI: fix speed measurement (#6442)
General changes (25):
- Adjust CCE time stepper tolerances (#6419)
- Allow CellCenteredFlux to work for mixed systems (#6418)
- Spherical definite integral (#6420)
- Add test for partial_derivatives with spherical harmonics (#6421)
- Compute ADM angular momentum integral in BBH ID (#6399)
- Add test to evolve packet on Kerr background (#6297)
- Drop modifications to libsharp (#6407)
- Speed up
list_observation_ids()(#6432) - Allow choice of reading Pi and Phi from numeric ID (#6430)
- Reduce StaticCache compile time (#6426)
- Use new common time dependent options in Sphere and BCO domains (#6115)
- Overlay options on restart (#5585)
- Better domain errors, atmosphere density in ID, and velocity limiting in atmosphere. (#6429)
- Maximal Isotropic (Horizon Penetrating) Schwarzschild coordinates for XCTS (#6427)
- Add some nodegroup debugging extras (#6438)
- Revamp some deadlock analysis for GH (#6437)
- Add kappa limiting to FixToAtmosphere (#6439)
- Allow atmosphere on reconstructed state, remove RelEuler system (#6440)
- Remove CCE ability to read metric worldtube data (#6444)
- Allow observing names of tags in DataBox (#6448)
- Remove GH dependence on ScalarTensor and Hydro (#6449)
- Add functionality needed to have empty vars for MC system (#6424)
- Add EffectiveSource code (#6400)
- Allow skipping GRMHD RHS computation in atmosphere/wavezone (#6455)
- Executable for MC: initialize background (#6355)
Bugfixes (4):
- Couple quick fixes to allow static execs to build after Release (#6417)
- Fix compiling StaticCache with nvcc (#6441)
- Fix running on CaltechHPC: disable ParaView env vars (#6452)
- Fix bug in PreprocessCceWorldtube (#6459)
Build system (3):
- Fix yaml-cpp git tag (#6423)
- Use git-clang-format corresponding to clang-format (#6415)
- Fix clang-tidy on things including libsharp (#6462)
Continuous integration & deployment (2):
Contributors (12): @knelli2, @kidder, @nilsvu, @iago-mendes, @SamanthaRath, @wthrowe, @nikwit, @vtommasini, @nilsdeppe, @joaorebelo-megum, @AlexCarpenter46, @ffoucart
- C++
Published by sxs-bot about 1 year ago
spectre - Release 2024.12.16
Upgrade instructions
From #6287 (Change ReduceCceWorldtube to use options):
ReduceCceWorldtube executable no longer accepts command-line arguments. They must now be specified in a YAML file. See src/Executables/ReduceCceWorldtube/ReduceCceWorldtube.yaml for an example. You can then run the executable similar to our charm executables as
ReduceCceWorldtube --input-file ReduceCceWorldtube.yaml
From #6343 (Disable PI step size controller for LTS steps):
If using ErrorControl to choose a step size for local time stepping, you may have to tighten the error tolerances specified in the input file. The code previously often kept the actual error estimate significantly lower than the specified tolerance.
From #6358 (Fix bugs in RefineMesh Event):
Must add a new option ErrorBeyondLimits: False to the AMR limits section, i.e.
yaml
Amr:
...
Policies:
...
Limits:
...
ErrorBeyondLimits: False
From #6360 (Add ability to RunEventsAndTriggers at steps within a slab for local time-stepping):
- In elliptic input files, rename EventsAndTriggers to EventsAndTriggersAtIterations
- In evolution input files, rename EventsAndTriggers to EventsAndTriggersAtSlabs
- In evolution input files using local time stepping, add a new option EventsAndTriggersAtSteps
From #6365 (Write out BNS inertial centers for control system):
The grid centers of the BNS are now located in the /ControlSystems/BnsGridCenters subfile of the reductions H5 file, and the inertial centers are in the /ControlSystems/BnsInertialCenters subfile.
From #6373 (Convert M1Grey to use runtime initial data):
- New AnalyticSolutions for M1Grey should be added to
RadiationTransport::M1Grey::Solutions::all_solutions - Executable was renamed to EvolveM1Grey
- Input file needs updating (see tests/InputFiles/RadiationTransport/M1Grey/ConstantM1.yaml)
From #6364 (Support filled sphere domain with shape map):
When constructing a Sphere domain with time-dependent maps, add the new option TransitionRotScaleTrans (boolean). Set it to True to keep the old behavior of transitioning the rotation, scaling, and translation maps to zero at the outer boundary (see second image in the PR description, used e.g. to impose boundary conditions in the BBH ringdown domain). Set it to False to disable the transition, e.g. to rigidly translate the sphere.
From #6398 (Update ReduceCceWorldtube with new features):
There are two new options for the ReduceCceWorldtube executable. They are InputDataFormat: and ExtractionRadius:. Also the InputH5File option can now be either a single filename or a list of filenames to combine temporally.
Merged pull-requests (84)
CLI & Python bindings (11):
- Update Inspiral.yaml (#6291)
- Add support for tetrahedral connectivity and use scipy to generate it (#6303)
- Render Domain.py: specify background color (#6317)
- Add PiecewisePolynomial, QuaternionFunctionofTime, and Serialize Pybindings (#6336)
- Single iteration of eccentricity control reduction (#6295)
- TransformVolumeData.py: support instance methods as kernels (#6357)
- Bind PN BinaryTrajectories in Python (#6366)
- Update directory structure of ID parameter control (#6379)
- TransformVol.py: add start, stop, stride (#6380)
- Damp initial iterations of Broyden's method used in ID parameter control (#6378)
- Add pybindings for Spherepack (#6412)
General changes (63):
- Enable BBH ID control of CoM and Padm. (#6315)
- Accelerate exporter with block priority order (#6314)
- Change non-monotonic AM predictor coefficients (#6283)
- Remove StepChooserUse from most StepChoosers (#6310)
- Add Sonic HPC (#6311)
- Add function to combine H5 dat files (#6298)
- Remove zeros after LtsCoefficients arithmetic (#6308)
- Update Metadata, add ICTS to Affiliations (#6322)
- Add ability to take a consistent LTS step in a region (#6319)
- Fix some dependency tracking (#6321)
- Change ReduceCceWorldtube to use options (#6287)
- Conform BNS ID domain to star surfaces (#6329)
- Enable p-refinement via an Event (#6320)
- Add instantiation to strahlkorper in diff frame (#6337)
- Add smoothly broken power law to adjust worldtube radius (#6261)
- Correctly set timeouts for various python tests (#6348)
- Disable PI step size controller for LTS steps (#6343)
- Support linearised fluxes. (#6349)
- Update Inspiral.yaml (#6346)
- Add Transition to Ringdown Script (#6316)
- Support sources fetching from constglobalcache. (#6352)
- Adjust apparent horizon BC's. (#6353)
- Numeric ID importer: support p-refinement (#6339)
- Allow three extra refinement levels for an ElementId (#6347)
- Add trigger StepsWithinSlab (#6361)
- Add ability to RunEventsAndTriggers at steps within a slab for local time-stepping (#6360)
- Support clang 19 & CMake 3.30, allow to toggle executable size optimization on Apple Silicon (#6356)
- Increase default l_max for the horizon finder. (#6367)
- Add number of grid points to ADM observer. (#6368)
- Write out BNS inertial centers for control system (#6365)
- Organizational changes to shared CCE code (#6354)
- Add some missing namespace documentation (#6370)
- Add event to observe AMR criteria (#6369)
- Fixes to nodegroup elements (#6375)
- Extend sphere and wedge transition (#6359)
- Convert M1Grey to use runtime initial data (#6373)
- Error in generate-xdmf for 1d datasets (#6374)
- Improve accuracy of CoM integral (#6377)
- Add
UpdateFunctionsOfTimeaction (#6264) - Support filled sphere domain with shape map (#6364)
- Fix FPEs occurring when density is zero in MC (#6383)
- Add white noise in pressure in the disk and normalize the density (#6342)
- Use hydro speeds in GRMHD HLL where magnetic field is zero (#5788)
- Add self force turn on function (#6385)
- Support equiangular grid points for BNS domain (#6324)
- Add python code to compute BNS trajectories from mass integrals (#6362)
- Fix documentation with recent versions of doxygen (#6384)
- Change the error condition for bounds on TOMS748 (#6387)
- Add an input file for KG CCE (#6388)
- Logical coordinates for spherical harmonic mesh (#6389)
- More miscellaneous CCE changes (#6396)
- Add transformation to tortoise radius (#6393)
- Change the GaugePlaneWave implementations for SO-CCZ4 in development. (#6386)
- Allow Singletons to use
ExecutePhaseChange(#6401) - Add compute tags for constraint gammas in worldtube evolution (#6404)
- Change worldtube radius function (#6410)
- Add features to CCE worldtube buffer updaters (#6397)
- Add spherical logical derivatives (#6411)
- Add acceleration terms to iterations (#6391)
- Add
InsideHorizontrigger for worldtube excision (#6409) - Add Spherical Pfaffian map (#6413)
- Update ReduceCceWorldtube with new features (#6398)
- Check FoTs are ready in ObserveConstantsPerElement (#6414)
Documentation (3):
- Update installation instructions (#6330)
- Update gallery with BBH paper, link from front page (#6332)
- Make small tweaks to CCE tutorial (#6416)
Bugfixes (6):
- Fix a typo in docs (#6318)
- Allow multiple callbacks on same component (#6334)
- Fix bugs in RefineMesh Event (#6358)
- Fix machine config files (#6381)
- Constraint damping gaussian's amplitudes are exchanged (#6390)
- Fix shape map loaded from file (#6395)
Build system (1):
- Cmake
yaml-cpppackage name fix (#6325)
Contributors (16): @AlexCarpenter46, @iago-mendes, @nilsvu, @wthrowe, @nilsdeppe, @vaishakp, @knelli2, @kidder, @nikwit, @vtommasini, @PunJustice, @ffoucart, @jyoo1042, @Sizheng-Ma, @guilara, @hen-w
- C++
Published by sxs-bot about 1 year ago
spectre - Release 2024.09.29
Upgrade instructions
From #6296 (Add epsilon when reading NumericInitialData):
Any executable that reads in numeric initial data must add the following option to the NumericInitialData: block
yaml
NumericInitialData:
...
ObservationValueEpsilon: Auto # <-- This defaults to 1e-12
Merged pull-requests (21)
CLI & Python bindings (1):
- TransformVolumeData.py: support ElementId in kernels (#6289)
General changes (15):
- Observe worldtube position, velocity and acceleration (#6272)
- Add several common time dependent options (#6113)
- Add volume integrands for XCTS asymptotic quantities. (#6276)
- Observe min delta x in ObserveTimeStepVolume (#6301)
- Add FindRadialSurface.py (#6300)
- Add epsilon when reading NumericInitialData (#6296)
- Deprecate the Metric worldtube format in CCE (#6299)
- Add block_names function to domain and allow non-isotropic mesh where we force DG (#6302)
- Add tags used to smoothly turn on the self force (#6273)
- Add jacobian for hydro coupling source term (#6132)
- Communicate volume mesh in boundary data (#6293)
- Support time range and only combining some blocks in combine_h5 (#6306)
- Mark formaline objects noexecstack (#6309)
- Allow observing only some blocks in ObserveFields (#6305)
- Fix two Python tests (#6307)
Documentation (2):
- Add documentation and function to make debugging multiple MPI ranks easier (#6288)
- Hitchhiker’s Guide Update (#6304)
Bugfixes (1):
- Fix output for eccentricity params (#6290)
Continuous integration & deployment (2):
Contributors (10): @nikwit, @nilsvu, @guilara, @knelli2, @iago-mendes, @nilsdeppe, @pajkosmi, @kidder, @wthrowe, @SunPeike
- C++
Published by sxs-bot over 1 year ago
spectre - Release 2024.09.16
Upgrade instructions
From #6212 (Control center of mass and linear momentum in initial data.):
This PR changes BinaryCompactObject, which is used in multiple parts of the code. Now, the constructor expects the argument std::array<double, 2> center_of_mass_offset.
From #6254 (Error if the time step becomes too small):
Input files for evolution executables now require a new MinimumTimeStep option in the Evolution section.
From #6247 (Add single BH control system):
Must now specify a Translation: control system in EvolveGhSingleBlackHole input files.
Merged pull-requests (82)
CLI & Python bindings (3):
- Add zoom to BBH rendering script (#6197)
- PlotPowerMonitors: skip filtered modes (#6206)
- Update Inspiral.yaml (#6259)
General changes (58):
- Add FromEos Option to ElectronFraction in Spec Initial Data (#6174)
- Use continued fraction semiconvergent on overflow (#6180)
- Start adding support for Kokkos and the Nvidia compiler (#6203)
- Compress OrientationMap and add create_aligned to catch default construction (#6166)
- Clarify error messages in H5 Cce constructor (#6211)
- Add more Kokkos and nvcc support (#6213)
- Update Asserts in MultiLinearSpanInterpolation (#6217)
- Fetch Kokkos if requested (#6219)
- Fix PCH issue (#6220)
- Add option for higher dimension EOSes to Spec initial data (#6218)
- Observe DimensionfulSpinVector on horizons (#6204)
- Control center of mass and linear momentum in initial data. (#6212)
- Fix clang-tidy errors in PiMonteCarlo example (#6229)
- Fix iterations test failure (#6225)
- Add nodegroup support to control system and interpolation framework (#6172)
- Numerically invert Jacobian in combined call (#6223)
- Support complex numbers in IrregularInterpolant (#6228)
- Increase timeout in ReadBoundaryDataH5 test (#6235)
- Add DevGuide for connectivity in SpECTRE (#5825)
- Project mortar data (#6230)
- Blaze: restore support for padding (#3825)
- Construct DataVector from STL containers (#5587)
- Merge implementations of Interval, Rectangle, and Brick (#5898)
- Enable ParaView on CaltechHPC (#6135)
- Support complex numbers in PartialDerivatives (#6107)
- Allow offset in Wedge transition function (#6234)
- AlignedLattice: boundary condition per direction (#6241)
- Add more support for nvcc (#6248)
- Add ScalarGaussBonnet system and functions. (#6244)
- Add a lower bound of zero for TildeTau in FixConservative for zero B (#6242)
- Add tags for ghost zone communication in MC (#6138)
- Add logical_divergence function, elliptic StrongLogical DG formulation (#6245)
- Upgrade to Apple Silicon on CI, simplify Apple Silicon installation instructions (#5973)
- Enable Wedges to have a focal offset (#6214)
- Monte Carlo time stepping action (#6198)
- Support complex numbers in DG routines (#6252)
- Fix FPEs in tests (#6265)
- Fix printing tensors in GDB on mbot (#6262)
- Add equatorial compression option for spherical torus map (#6263)
- Add nodegroup support to SW and GH execs (#6251)
- nvcc support for almost entire code base (#6249)
- Adds worldtube functions of time to
BinaryCompactObject(#6255) - Error if the time step becomes too small (#6254)
- Add Wedge Offset Option to BCO (#6243)
- Add YlmsFromSpEC to shape time dependent options (#6114)
- Test complex elliptic DG operator (#6269)
- Add Perlmutter machine (#6267)
- Add Christoffel symbol and trace to
BackgroundQuantities(#6270) - Add protection against negative pressure in
HybridEos(#6221) - Add single BH control system (#6247)
- Add template for InboxTags to switch to nodegroup (#6275)
- Fix interpolation stencil misalignment in
RotatingStar(#6260) - Limit ADM integrals observer to the finest grid. (#6286)
- Add executable to write CCE worldtube coords to a file (#6284)
- Fixes for nodegroups running on multiple nodes (#6285)
- Add serial numeric initial data loading (#6279)
- Combine Shape map calls (#6227)
- Increase a test timeout (#6292)
Documentation (5):
- Add favicon with spectre logo (#6205)
- Add link to logos (#6201)
- Document Exporter namespace (#6222)
- Add tutorial for visualizing volume data with Python, update docs (#5535)
- Document CCE grid point locations for Ylms (#6271)
Bugfixes (11):
- Fix typo in BC test. (#6215)
- Fix compatibility with Numpy 2.1 (#6232)
- Fix infinite loop time step rejection (#6250)
- Fix COM offset when starting from SpEC ID (#6257)
- Fix race condition in exporter (#6258)
- Fix CaltechHPC submit script (#6268)
- Fix colorbar in PlotSlice (#6266)
- Fix
size_tunderflow in geodesic worldtube evolution (#6277) - Prevent worldtube observing during substeps (#6274)
- Fix communication race bug in interpolation framework (#6253)
- Fix clang-tidy quirk (#6282)
Build system (1):
- Download dependencies on demand (#5956)
Continuous integration & deployment (4):
- Fix clang-tidy exit codes on CI (#6209)
- Fix macOS CI (#6216)
- Disable LB test in Burgers yaml (#6210)
- Fix clang-tidy on CI (#6226)
Contributors (17): @ctrandrsn, @nilsvu, @duetosymmetry, @wthrowe, @nilsdeppe, @knelli2, @PunJustice, @AzerAfram, @iago-mendes, @macedo22, @nikwit, @asaju7, @kidder, @jyoo1042, @ffoucart, @AlexCarpenter46, @ncorsobh
- C++
Published by sxs-bot over 1 year ago
spectre - Release 2024.08.03
Upgrade instructions
From #6090 (Bump pybind11 version, include in Py dependencies, support pathlib.Path):
Pybind11 version 2.7+ is required now. To upgrade, run pip install -r support/Python/requirements.txt in your Python environment.
From #6118 (Control BBH masses and spins in initial data):
If calling generate_id or id_parameters from InitialData.py, you now need to specify the masses mass_a and mass_b separately instead of the previous mass_ratio. Note that generate_id_command still takes in mass_ratio as an argument.
From #5999 (Redesign step/slab size changing):
When changing slab sizes, including step size with global time-stepping, some effects now only change the size for a single step, after which the step will revert to the previous value. These include the StepChoosers documented as limiting the step (as opposed to setting a goal) and the GTS control-system step limit.
The "Increase" StepChooser has been renamed to "LimitIncrease" to reflect this change, and "Constant" has been split into "Constant", which sets a goal, and "Maximum", which does not. Check the documentation or help text to see which type of change other StepChoosers now apply.
From #6120 (Fix unit conversions between SpECTRE and RotNS for non-polytropic EoS):
If you use RotatingStar with polytropic EoSs, nothing changes for you, the input file works the same.
If you use some other EoS, instead of using the PolytropicConstant input option, you should use EquationOfState followed by the equation of state with which you would like to initialize the data.
From #6164 (Remove IWYU):
Removed include-what-you-use (IWYU) as a dependency.
Merged pull-requests (89)
CLI & Python bindings (17):
- Remove defaults from TransformVolumeData.py (#6071)
- Automate choice of some params in BBH pipeline (#5957)
- Optionally specify path to Horizons.h5 in Inspiral CLI (#6112)
- Control BBH masses and spins in initial data (#6118)
- Minor updates to PlotTrajectories (#6131)
- Set shape of initial BBH inspiral excisions to ID excisions (#6127)
- InitialData.py: allow to disable param control (#6148)
- Add experimental dashboard to monitor simulations (#6137)
- Add some pybindings (#6149)
- Maintain initial data resolution in control loop. (#6162)
- Ignore matplotlib font manager debug logging info (#6165)
- Add 3D BBH visualization script (#4656)
- Add python bindings for Index and parts of subcell code, add missing action to NewtEuler (#6185)
- Add python bindings for Hydro lib (#6186)
- Add some defaults to eccentricity control CLI (#6190)
- Add bindings for 1d h projection matrix functions (#6194)
- Factor plotting functions out of CLI (#6196)
General changes (47):
- Simplify MortarData (#6061)
- Move MortarSizeHash to Spectral and add several tests for DirectionalId (#6099)
- Use mc high ka corr in time step (#6069)
- Add isequilibrium and isbarotropic tests to EOSes (#6104)
- Fix Test_DgSubcell for GCC 13.2 (#6119)
- Add Iago Mendes to Authors.Contributors. (#6130)
- Set initial temperature lower bound from EOS (#6121)
- Update CaltechHPC submit script (#6133)
- Add constraint preserving boundary condition product for ScalarTensor (#6122)
- Add support for 3d EOSes for Spec initial data (#6134)
- Add boost to KerrSchild (#5610)
- Add stress-energy tensor to FConstraint in ScalarTensor (#6136)
- Add script to compute eccentricity removal updates for SpECTRE ID (#5895)
- Stop storing volume time-stepper errors (#6123)
- Compute total ADM linear momentum integrands. (#6140)
- Add FromVolumeFile time dependent option (#6109)
- Add BnsInitialData System (#6054)
- Add ObserveTimeStepVolume event (#6139)
- Add 3D EoS test helper and fix bug in 2d random generators (#6030)
- Enable nodegroups with LTS and compute correct hash for boundary data (#6143)
- Redesign step/slab size changing (#5999)
- Add TaggedVariant, parsable similarly to a factory (#6096)
- Increase epsilon in MultiLinearSpanInterpolation test (#6153)
- Make MortarData a simple struct (#6147)
- Fix unit conversions between SpECTRE and RotNS for non-polytropic EoS (#6120)
- Add environment for Oscar (cluster at Brown) (#6152)
- Add DgElement collection component and CreateElementCollection action (#6083)
- Add PerformAlgorithOnElement action for nodegroup, disable slab size adjust for nodegroup (#6144)
- Communicate integration order of time-stepper (#6157)
- Add helper functions to DgElementArrayMember(Base) (#6159)
- Print ElementId in DataTooBig error (#6160)
- Add actions GetItemFromDistributedObject, SimpleActionOnElement, and PrintDgElementArray (nodegroup support) (#6161)
- Allow compiling nodegroup elements and with numerical data (errors for now) (#6158)
- Support complex numbers in serial linear solvers, add BLAS zdot (#6117)
- Exporter: allow extrapolation into excisions (#6056)
- Observe GR variables in EvolveValenciaDivClean volume data (#6163)
- Remove some old clusters (#6170)
- Observe ADM linear momentum in SolveXcts executable. (#6151)
- Measure total ADM mass in XCTS system. (#6176)
- Switch backwards input file test from 3D to 2D (#6175)
- Move registration to before import initial data in GhValenciaDivClean. (#6173)
- Update Ocean submit script (#6094)
- Test ADM integrals with a boosted Schwarzschild solution. (#6177)
- Add parallelization tutorial executable PiMonteCarlo (#6189)
- Enforce cascadelake arch on Oscar (#6193)
- Measure center of mass in XCTS system. (#6192)
- Enable ParaView on Oscar (#6195)
Documentation (7):
- Fix reference for Dormand-Prince 5 (#6102)
- Update Mbot instructions and hitchhiker's guide (#6105)
- Added detail to "--evolve" flag error message (#6111)
- Minor clarification in ConvertComposeTable documentation (#6142)
- Fix doxygen 1.11.0 warnings (#6156)
- Clarify eos docs (#6098)
- Reorganize build system docs (#6171)
Bugfixes (10):
- Change an ASSERT to ERROR in horizon finder (#6091)
- CLI: fix formatting in some error messages (#6108)
- Register initial magnetic field in EvolveGhValenciaDivClean with Charm. (#6004)
- Fix mistake in ScalarTensor stress energy tensor (#6116)
- Fix bugs in the M1 Closure and add tests (#6076)
- Fix Alex Macedo ORCID (#6141)
- Update some control system plotting (#6145)
- Fix minimial executable so it builds (#6178)
- Fix fallback bin directory in Schedule.py (#6181)
- Fix timeout scaling for python tests (#6169)
Build system (4):
- Bump pybind11 version, include in Py dependencies, support pathlib.Path (#6090)
- Remove IWYU (#6164)
- Update Oscar config (#6191)
- Pass spec pythonpath directly to spectre (#6187)
Continuous integration & deployment (4):
- Fix BuildDockerContainer workflow (#6100)
- Fix doc-coverage in container (#6106)
- Increase some test timeouts (#6110)
- Use clang-tidy-16 on CI (#6167)
Contributors (17): @kidder, @wthrowe, @nilsvu, @nilsdeppe, @ffoucart, @knelli2, @ncorsobh, @vtommasini, @ctrandrsn, @iago-mendes, @guilara, @isaaclegred, @macedo22, @shabibti, @geoffrey4444, @Bronoulli, @AlexCarpenter46
- C++
Published by sxs-bot over 1 year ago
spectre - Release 2024.06.18
Upgrade instructions
From #6024 (FindHorizon.py: also compute horizon quantities):
The FindHorizons3D executable was removed. You can find horizons in 3D volume data in Python like this:
```py from spectre.Pipelines.Bbh.FindHorizon import find_horizon from spectre.SphericalHarmonics import Strahlkorper
horizon, quantities = findhorizon( h5files, subfilename, obsid, obstime, initialguess=Strahlkorper(lmax, mmax, radius, center) )
mass = quantities["ChristodoulouMass"] spin = quantities["DimensionlessSpinMagnitude"] ```
Merged pull-requests (29)
CLI & Python bindings (3):
- CLI for plotting trajectories of binaries (#5976)
- FindHorizon.py: also compute horizon quantities (#6024)
- Clarify PlotCce modes option (#6087)
General changes (19):
- Add more updates to CCE tutorial (#6059)
- Add fixed object radius and increase run speed (#6049)
- Added Vittoria Tommasini to Spectre Authors.Contributors list (#6068)
- Add IntegratedFunctionOfTime (#5996)
- ElementID: assert max refinement level (#6074)
- Add ComovingCharSpeedDerivative (#5516)
- Add LTS CMake Option in GenHarmBase Executables (#6057)
- Docker ubuntu 18.04 support and static execs (#6060)
- Restructure ApplyBoundaryCorrections and support AtomicBoundaryInbox (#6044)
- Add code to get common horizon coefs in ringdown distorted frame (#6065)
- Add LTS support to Adams-Moulton time steppers (#6043)
- Clarify error in InitializeJ (#6048)
- Set up ghost zones for MC (#6037)
- Improve some CLI errors and docs (#6088)
- Add threaded callbacks for functions of times (#6084)
- Mc high ka corrections (#5977)
- BBH pipeline: find horizons in initial data, write masses & spins to file (#6082)
- Support ComplexDataVector in observations (#6075)
- Add computation of light crossing time of a cell. (#6093)
Documentation (1):
- Add dev guide for AMR (#6078)
Bugfixes (2):
Continuous integration & deployment (4):
- Fix notification for new contributors (#6066)
- Avoid name conflicts between Dat and Cce tests (#6081)
- Increase a test timeout (#6089)
- Support numpy 2.0.0 (#6095)
Contributors (11): @knelli2, @vtommasini, @nilsvu, @nikwit, @markscheel, @AlexCarpenter46, @nilsdeppe, @geoffrey4444, @wthrowe, @ffoucart, @kidder
- C++
Published by sxs-bot over 1 year ago
spectre - Release 2024.06.05
Upgrade instructions
From #5978 (Add CLI to plot basic control system quantities):
To use, build the CLI then run
spectre plot control-system -h
From #5985 (Write an H5::Cce file from the CharacteristicExtract execs):
The output from CCE in the reductions file should only be a Cce.cce subfile. It won't have a bunch of .dat files anymore.
From #6019 (Split time-stepper-history cleaning from update):
Evolution executables now need to include the Actions::CleanHistory action after each variable update. See the modifications to the executables in this PR for suggested exact changes.
From #6038 (Update Apple Silicon docs):
The instructions for building spectre on Apple Silicon have been updated, including enabling python bindings and building with shared libraries instead of static libraries.
From #6058 (AMR: do not enforce 2:1 balance in normal direction):
In input files that use AMR, you will need to add EnforceTwoToOneBalanceInNormalDirection: true to the list of Policies
Merged pull-requests (54)
CLI & Python bindings (7):
- Add CLI to plot basic control system quantities (#5978)
- Plot zero crossing time on log scale in PlotSize CLI (#5987)
- Plot along line log scale options (#6007)
- Add CLI for plotting CCE output data (#6011)
- Add python bindings for ModalVector (#6017)
- Status CLI: remove some backwards compatibility (#6022)
- Support SpEC initial data in BBH pipeline (#6031)
General changes (30):
- Observe walltime in elliptic solver (#5941)
- BBH Inspiral.yaml: trigger checkpoint and AH observations more often (#5979)
- Add BondiSachs output to BBH pipeline (#5990)
- Write an H5::Cce file from the *CharacteristicExtract execs (#5985)
- Decrease sizes of Time and TimeStepId (#5988)
- Expand list of TciStatus (#6005)
- Reduce the size of Mesh, Basis & Quadrature, Direction & Size, ElementId, FixedHashMap, and combine ElementId and DirectionalId (#6000)
- Enable filtering in GH LTS evolutions (#6013)
- More helper code for nodegroups, eg AtomicInboxBoundaryData, numberofblock_boundaries for an ElementId (#5997)
- Add ErrorIfDataTooBig to BBH pipeline (#6014)
- Implement reader for NuLib interaction tables (#5902)
- Update packet list on absorption in MC (#5995)
- Add increasingsubsteptime_steppers list (#6021)
- BBH pipeline: load subcommands lazily (#6025)
- Add pup and move constructor to AtomicInboxBoundaryData (#6026)
- Move element distribution code from DgElementArray to free function (#6028)
- More minor code for nodegroup elements (#6027)
- Split time-stepper-history cleaning from update (#6019)
- Compress ElementId more (#6046)
- Cleanup element map and decrease size of ChildSize/MortarSize enums (#6032)
- Update how often constraints are observed in BBH inspiral pipeline (#6039)
- Improve time step too small error. (#6035)
- Add ElementLocationsReference tag, and TransformPdalForNodegroup metafunction (#6040)
- Add SendDataToElement action for nodegroup elements (#6041)
- Add DgElementArrayMember (#6042)
- Use DirectionalIdMaps for data on mortars (#6051)
- Add support for Charm 7.0.1, switch container to it, and add Charm++ license+copyright (#6050)
- Draft function to take full MC step (#5907)
- Add limit to time step of packet in high opacity region (#5998)
- AMR: do not enforce 2:1 balance in normal direction (#6058)
Documentation (6):
- Document the CCE example input file (#6015)
- Update tutorial to match
generate-xdmfarguments (#6047) - Update CCE tutorial (#6029)
- Update Apple Silicon docs (#6038)
- Rename 3-metric as gamma in help for Kerr solution (#6055)
- Change to documentation for CaltechHPC cluster. (#6064)
Bugfixes (5):
- Fix overflow FPE in TimescaleTuner test (#5989)
- Remove extraneous factor of 2 in coord of MC packets (#5992)
- Fix Psi4 Test (#6033)
- Fix missing includes for no-PCH builds (#6034)
- Change subfile for constraint energy observation (#6062)
Build system (1):
- Fix linker errors when building with shared libs on macOS Apple Silicon (#6036)
Continuous integration & deployment (5):
- Fix broken codecov links in Readme (#5984)
- Disable code cov (#5991)
- Bump macOS GitHub CI runner version (#6006)
- Update docker github actions (#6045)
- Switch to using 4 cores in CI since GitHub supports that now (#6052)
Contributors (12): @nilsvu, @knelli2, @kidder, @wthrowe, @ffoucart, @shabibti, @ncorsobh, @nilsdeppe, @geoffrey4444, @AlexCarpenter46, @farhannaqib, @estherroselopez
- C++
Published by sxs-bot over 1 year ago
spectre - Release 2024.05.11
Upgrade instructions
From #5922 (Factor out Shape options from BCO and Sphere domain):
When using the hardcoded time dependent maps in the Sphere domain, you must now also specify SizeInitialValues: in the shape map options:
yaml
ShapeMap:
LMax: 10
InitialValues: Spherical
SizeInitialValues: Auto # <-- This is new
These are either Auto or an array of length 3 for the value and it's two time derivatives
From #5923 (Add ability to read horizon coefs from file into shape map):
Specify reading in the shape coefficients from a file like so
yaml
ShapeMap:
LMax: 8
SizeInitialValues: Auto
InitialValues:
H5Filename: NameOfFile.h5
SubfileNames:
- NameOfCoefSubfile
- NameOfdtCoefSubfile
- NameOfd2tCoefSubfile
MatchTime: 49.8
MatchTimeEpsilon: 1e-10 # <-- Use 'Auto' for a default of 1e-12
SetL2CoefsToZero: True
Merged pull-requests (70)
CLI & Python bindings (7):
- Print available observations in CLI (#5916)
- Clarify use of 'multiple' options in some CLI functions (#5917)
- Add CLI command to plot elliptic solver convergence (#5929)
- Bind horizon finder in Python (#5919)
- Log scale in PlotSizeControl.py (#5954)
- Animate PlotSlice and PlotAlongLine (#5968)
- PlotPowerMonitors: add figsize, axis labels (#5964)
General changes (54):
- Add an observer for tracking the size of DataBox items (#5858)
- Hypersurface calculations for Klein-Gordon Cce (#5883)
- Add calculation and use of opacities in MC (#5870)
- Allow Strahlkorper construction from different frame (#5871)
- Add spinlock and switch nodelock to use it (#5911)
- Add nodegroup element support to various Events (#5912)
- BinaryCompactObject domain: support initial Kerr horizon shape (#5896)
- Add tags for worldtube iterations (#5847)
- Diffusion scattering mc (#5851)
- Make Parallel::printf atomic (#5877)
- XCTS: add Robin outer boundary conditions (#5915)
- Add a reflective boundary condition (#5624)
- Add scalar self force and derivatives calculations (#5869)
- Add functionality to Ylm IO (#5921)
- Factor out Shape options from BCO and Sphere domain (#5922)
- Uncomment MC testing code (#5928)
- Add RotScaleTrans Map to BCO (#5854)
- XCTS: output spatial Christoffels (#5918)
- Normalize subfile path in H5 lib (#5924)
- Add nodegroup tags and DgElementArrayMemberBase class (#5936)
- Tune BBH ID input file a little (#5940)
- Remove TOV sanity check for RHS evaluation (#5934)
- BBH ID: compute initial orbital params from PN (#5933)
- Mbot fix paraview (#5946)
- Change translation control to work like SpEC (#5944)
- A couple type traits & SetTerminateOnElement action (#5945)
- Correct queue name in submit scripts (#5949)
- Print remark when AH finder fails for verbosity >= quiet (#5890)
- Add 0th order acceleration terms (#5860)
- Move Swsh classes and functions to their own directory (#5942)
- Add cartesiantospherical routines (#5948)
- Write data synchronously in CCE for monotomic times in output (#5950)
- Add actions ReceiveDataForElement, StartPhaseOnNodegroup, and SpawnInitializeElementsInCollection (#5958)
- Calculation of proper and coordinate volume needed for MC (#5904)
- Add hydro coupling bookkeeping to emission function in MC (#5903)
- Invoke executables on interactive nodes with mpirun (#5939)
- Bookkeeping of hydro-mc coupling in packet evolution (#5920)
- Parallelize blocklogicalcoords with OpenMP if enabled (#5947)
- Add Sarah Habib to metadata (#5965)
- Add ability to read horizon coefs from file into shape map (#5923)
- Handle substeps in LTS error control (#5943)
- Unconstrain numpy version (#5962)
- Binary Input File Tuning (#5953)
- Add iterative scheme to worldtube (#5855)
- Fix gcc warning about infinite recursion (#5970)
- Switch from std::tuple to evolution::dg::BoundaryData class (#5969)
- Add IrrotationalBNS Pointwise Functions (#5880)
- Update documentation and env for mbot (#5974)
- Add coupling to scattering (#5927)
- Correct tildeB sources and fluxes in ValenciaDivClean (#5960)
- Fix CaltechHPC environment (#5959)
- Add 1st order acceleration terms (#5861)
- Update contributor status in metadata (#5981)
- Add Cce H5 file type (#5963)
Documentation (3):
- Add IMEX tutorial (#5759)
- Document extract-dat to standard output (#5930)
- Fix beginners guide docker instruction (#5975)
Bugfixes (2):
Build system (3):
- Improve static linking of GSL, HDF5, libgfortran, & libquadmath. Add CMake & executable code to print licenses and copyrights of 3PLs (#5961)
- Bundle brigand and libsharp in externals (#5967)
- Static libsz and libaec, switch to HDF5::HDF5 in cmake, rename ENABLESPECTREDEBUG to SPECTRE_DEBUG in cmake, fix incorrect CCE assert (#5972)
Continuous integration & deployment (1):
- Bump versions of GitHub actions (#5980)
Contributors (14): @wthrowe, @kidder, @Sizheng-Ma, @ffoucart, @knelli2, @nilsdeppe, @nilsvu, @nikwit, @jyoo1042, @AlexCarpenter46, @isaaclegred, @shabibti, @geoffrey4444, @norafl
- C++
Published by sxs-bot almost 2 years ago
spectre - Release 2024.04.12
Merged pull-requests (26)
CLI & Python bindings (3):
- PlotSlice: add default title (#5872)
- PlotPowerMonitors: allow only integer ticks for modes (#5894)
- CleanOutput.py: support glob patterns (#5905)
General changes (17):
- Newtonian Euler: analytic prescription in boundary condition and use runtime EOS in NE (#5867)
- Use 2d EOS in Newtonian Euler, stop using EOS base tag in Newtonian Euler (#5884)
- Add derivatives of Kerr Schild quantities (#5865)
- Add Random StepChooser for debugging (#5866)
- Adjust timing of dense output checks (#5873)
- Add spins to BBH ID input file (#5868)
- Store slab-size change info in DataBox instead of inboxes (#5886)
- Generalize LTS communication handling (#5864)
- Do not serialize compute items of a DataBox (#5891)
- Move NeighborPackagedData into cpp files & allow volume tags in dg boundary terms (#5888)
- Observe KleinGordonPsi at future null infinity (#5885)
- Always enable time-dependent maps (#5878)
- Finish supporting volume tags in boundary terms (#5899)
- Add pretty-printer for Variables, VectorImpls, gsl::span, Tensor for GDB (#5879)
- Add ability to specify initial state for size control (#5889)
- Error if doing barycentric interpolation for FiniteDifference (#5897)
- Add option for monotonic AdamsMoulton dense output (#5900)
Bugfixes (2):
Build system (1):
- Fix pvpython support, specifically on mbot this is needed for the CLI (#5906)
Continuous integration & deployment (3):
- Fix workflow to deploy containers on release (#5876)
- Increase test timeout factor for clang-14 debug build (#5887)
- Fix workflow to deploy release container (#5908)
Contributors (8): @nilsdeppe, @nilsvu, @nikwit, @kidder, @wthrowe, @Sizheng-Ma, @isaaclegred, @knelli2
- C++
Published by sxs-bot almost 2 years ago
spectre - Release 2024.03.19
Upgrade instructions
From #5715 (Add exporter library):
The Python module Visualization.InterpolateToCoords has moved to IO.Exporter.InterpolateToPoints. It has a slightly different (easier) interface, is implemented in C++ now, and supports parallelization, which should make it considerably faster.
From #5725 (Update CaltechHpc environment files):
On CaltechHPC, the environment file caltech_hpc_gcc.sh has been renamed to caltech_hpc_gcc_skylake.sh.
There is also a new environment file
- caltech_hpc_gcc_icelake.sh
From #5779 (Use multiple highest modes for Persson TCI and remove initial data TCI):
All input files for executables using DG-FD (subcell) should make following changes in SpatialDiscretization-DiscontinuousGalerkin group
* Remove InitialData group, since we are not using initial data TCI anymore.
* Add PerssonTci group, to which PerssonExponent is moved as the Exponent option.
* In the PerssonTci group, a new option named NumHighestModes is added. This enables users to control how many highest modes to be left in the filtered solution of which norm is computed in the Persson TCI. Use 1 by default since this is the configuration that we have used so far.
Below is an example.
Before:
Subcell:
RdmpDelta0: 1.0e-7
RdmpEpsilon: 1.0e-3
PerssonExponent: 4.0
InitialData:
RdmpDelta0: 1.0e-7
RdmpEpsilon: 1.0e-3
PerssonExponent: 4.0
After:
Subcell:
PerssonTci:
Exponent: 4.0
NumHighestModes: 1
RdmpDelta0: 1.0e-7
RdmpEpsilon: 1.0e-3
From #5803 (Enforce limits on refinement levels and resolution during AMR):
In input files, the you will need to specify a new sub-option to the Amr Policies that specifies the Limits with sub-options RefinementLevel and NumGridPoints. The suggested value for these two options is Auto unless you want to limit refinement further.
From #5815 (Allow calling the TCI on the FD grid only every N steps, to wait M steps after rollback, and/or have K clear TCIs before going back to DG):
The TCI options now look like:
yaml
Subcell:
TroubledCellIndicator:
PerssonTci:
Exponent: 4.0
NumHighestModes: 1
RdmpTci:
Delta0: 1.0e-7
Epsilon: 1.0e-3
FdToDgTci:
NumberOfStepsBetweenTciCalls: 1
MinTciCallsAfterRollback: 1
MinimumClearTcis: 1
AlwaysUseSubcells: false
UseHalo: false
OnlyDgBlocksAndGroups: None
SubcellToDgReconstructionMethod: DimByDim
FiniteDifferenceDerivativeOrder: 2
Specifically, all the TCI-related options have been moved into a group called TroubledCellIndicator. The RDMP TCI options are now also in their own group. A new FdToDgTci: group controls when we try to go back to DG, e.g. every N steps, to wait M steps after rollback, or to have at least K clear TCIs before going back to DG. This is to allow reducing TCI overhead on FD and to allow additional smoothing by the FD solver before going back.
From #5817 (Add AMR to elliptic executables):
You'll have to add an Amr section to elliptic input files, as well as a PhaseChangeAndTriggers section to trigger AMR. See the input files in this PR for examples.
Merged pull-requests (109)
New features (1):
- Add exporter library (#5715)
CLI & Python bindings (4):
- Add CLI tool to plot volume data along a line, group plotting commands in CLI (#5749)
- Add domain rendering script (#5735)
- Add CLI to plot memory monitors (#5807)
- Add PlotSlice command (#5805)
General changes (74):
- Add solution of Einstein's equations for a generic gauge plane wave (#5712)
- Add RotScaleTrans Map and Tests (#5696)
- Add mbot as new machine (#5745)
- Small changes for elliptic AMR (#5736)
- Terminate parallel GMRES when it diverges (#5742)
- Fix oscillations in Heun2 IMEX dense output (#5734)
- Databox runtime retrieval (#5709)
- Limit initial time step to avoid control system deadlocks (#5732)
- Update CaltechHpc environment files (#5725)
- Python 12 fixes (#5744)
- Introduce AMR policies (#5765)
- Add uniform p-refinement criterion (#5754)
- Update TOV star test input file with more stable parameters. (#5753)
- Make Auto parsing failure print the Label (#5766)
- Create worldtube test library (#5774)
- Prevent NumGridPointsAndGridSpacing element dist when using GTS (#5769)
- Update cluster install docs (#5770)
- Monte carlo packets (#4089)
- Construct Klein-Gordon Cce data on the first hypersurface (#5752)
- Use multiple highest modes for Persson TCI and remove initial data TCI (#5779)
- Add an action for Klein-Gordon CCE worldtube data communication (#5717)
- Add TaggedTuple support to pypp (#5748)
- Switch to C++ 20 (partially) (#5747)
- Fix an unchaged filtering extent in PerssonTci (#5783)
- Increase max spectral basis functions from 12 to 20 (#5163)
- Add EvolvedPosition/Velocity Tags (#5775)
- Fix truncation error estimate for functions with symmetry (#5767)
- Allow random hp AMR for testing (#5781)
- Factor out linear elliptic solver algorithm (#5782)
- Enables AMR to be used in GH executables with one or two black holes (#5757)
- Add some elliptic AMR projectors (#5721)
- FD TCI call counters (#5792)
- Mc logical coordinates (#5771)
- Update ocean charm module for move to C++20 (#5806)
- Add rotation, expansion and translation maps to Sphere domain (#5758)
- Add
InitialPositionVelocitytag (#5776) - Remove p-refinement from punctures AMR criterion (#5796)
- Re-initialize Schwarz subdomain before each solve (#5802)
- Enforce limits on refinement levels and resolution during AMR (#5803)
- Add error if RotNS file does not exist (#5804)
- Observe elastic stress (#5809)
- Add
UpdateAccelerationmutator (#5777) - Replace Kerr-Schild with Spherical-Kerr-Schild for FishboneMoncriefDisk (#5800)
- Add Rk3Pareschi IMEX time stepper (#5760)
- Wrap RotatingStar to be usable in GhValenciaDivClean (#5790)
- Support a different elastic material in each block (#5737)
- Terminate parallel Newton-Raphson on error (#5813)
- Allow calling the TCI on the FD grid only every N steps, to wait M steps after rollback, and/or have K clear TCIs before going back to DG (#5815)
- Add InverseJacobianInertialToFluidCompute (#5811)
- Fix OptimizerHacks for clang 17 (#5823)
- Add some self-force option tags (#5785)
- Simplify pole connectivity when writing surface files (#5829)
- Support discontinuous fluxes in elliptic DG (#5789)
- Add normalization to error of InverseJacobianInertialToFluid test (#5833)
- Add
BackgroundQuantitiestag (#5787) - Add pybinding for WeylTypeD1 (#5834)
- Compute scalar sources for Klein-Gordon Cce hypersurface equations (#5784)
- Skeleton of full MC time step (#5820)
- Remove some libraries' implicit dependence on Parallel (#5830)
- Mc emission function (#5786)
- Filter evolved variables in ForceFree DG executable (#5838)
- Calculate packet energy for Monte-Carlo (#5821)
- Compute scalar self-force in
UpdateAcceleration(#5793) - Add AMR to elliptic executables (#5817)
- Enable printing containers holding non-streamable objects (#5845)
- Scatter packet (#5827)
- Add
FaceQuantitiesComputetag (#5831) - Add Wald magnetosphere initial data to ForceFree (#5839)
- Move EventsAndDenseTriggers lib to ParallelAlgorithms (#5844)
- Add Barotropic2D EOS (#5856)
- Make Newtonian Euler ID inherit from InitialData (#5857)
- Switch Newtonian Euler to use hydro::Tags instead of its own (#5859)
- Make Newtonian Euler sources runtime and fix circular dependency (#5862)
- Update Caltech HPC Skylake env (#5842)
Documentation (2):
Bugfixes (16):
- Fix bug in using allocationarraytags (#5741)
- Fix a minus sign in puncture equations (#5746)
- Add pound symbols to the check for an error message in the validate CLI (#5761)
- Fix a few bugs related to step-size changing (#5772)
- Prevent events used in control system from being factory creatable (#5763)
- Support older control system output in size plotting (#5768)
- Log Distribution Fix (#5795)
- Fix a typo in elliptic status CLI (#5810)
- Fix resetting compute subitems (#5814)
- Fix single precision interpolation in exporter and CLI (#5816)
- Fix primitive recovery with barotropic 3d EOS and use GRMHD EOS tag (#5824)
- Fix a race condition in AMR (#5836)
- Fix Puncture AMR criterion at element boundaries (#5843)
- Don't ignore quat InitialValues[3] in SphereTimeDependentMaps (#5848)
- Fix misspelled "ouputtimebounds" function name (#5850)
- A few small fixes (#5863)
Build system (6):
- Add LTO support (#5738)
- Find ParaView properly in build system (#5743)
- Fix error in FindPythonModule (#5751)
- Turn finding ParaView off by default (#5755)
- Add cmake check for broken hdf5 (#5819)
- Allow multi-line names for spectre test cases (#5852)
Continuous integration & deployment (6):
- Fix ParaView rendering on CI by avoiding apt update (#5773)
- Disable paraview rendering tests on CI temporarily (#5780)
- Increase PerssonTci test timeout (#5794)
- Add regression tests to elliptic input files (#5791)
- Fix a random test failure from Rotator masking (#5837)
- Add initial data executable to release container (#5846)
Contributors (17): @nilsvu, @kidder, @AlexCarpenter46, @knelli2, @nilsdeppe, @wthrowe, @ncorsobh, @nikwit, @ffoucart, @Sizheng-Ma, @yoonso0-0, @mar-celine, @macedo22, @guilara, @jyoo1042, @acifajkya, @geoffrey4444
- C++
Published by sxs-bot almost 2 years ago
spectre - Release 2024.02.05
Upgrade instructions
From #5655 (Move raise_or_lower_index and trace to Tensor lib):
The functions raise_or_lower_index and trace are now declared in DataStructures/Tensor/EagerMath/.
From #5656 (Simplify elliptic DG formulation):
In elliptic systems remove the auxiliary_fields and auxiliary_fluxes. Instead, formulate your fluxes in terms of the partial derivatives of the systems fields. See the FirstOrderSystem protocol for details.
From #5691 (Add a radial expansion to the BBH ID pipeline):
For the spectre bbh generate-id command, you must now also specify the radial expansion velocity with --radial-expansion-velocity/-a.
From #5684 (Solve for psi-1 in XCTS system):
In XCTS input files replace ConformalFactor and LapseTimesConformalFactor with ConformalFactorMinusOne and LapseTimesConformalFactorMinusOne in analytic boundary conditions and error observations.
Merged pull-requests (62)
CLI & Python bindings (3):
- Add a radial expansion to the BBH ID pipeline (#5691)
- Add 'status' CLI formatter for elliptic executables (#5701)
- Add CLI to plot size control diagnostics (#5723)
General changes (47):
- Add a static single-producer single-consumer queue (#5659)
- Worldtube buffer updater for Klein-Gordon (#5646)
- Add Kennedy and Carpenter's IMEX time steppers (#5652)
- Move
raise_or_lower_indexandtraceto Tensor lib (#5655) - Simplify elliptic DG formulation (#5656)
- Move frame transformations to Tensor lib, add function to transform flux tensors to logical frame (#5654)
- Add function for the spacetime derivative of goth(g) (#5648)
- Add serialization-versioning test utility (#5651)
- Convert Tags::TimeStepper to not be a base tag (#5657)
- Observe BBH individual horizons in distorted frame (#5675)
- Add IMEX SolveImplicitSector mutator (#5653)
- Switch elliptic DG to a primal formulation (#5667)
- Add truncate_* methods to ThreadsafeList (#5663)
- Support weak form in elliptic DG (#5679)
- Worldtube data manager for Klein-Gordon CCE (#5662)
- Add BondiSachs and deadlock analysis to SingleBH (#5680)
- Remove gamma1 from excision observations (#5665)
- Use a central list for reconstruction tags in G(H)RMHD (#5686)
- Simplify Riemann solver pypp testing (#5687)
- Combine time and spatial derivative in spacetimederivofgothg into… (#5678)
- Remove 2nd order worldtube evolution (#5666)
- Add spacetime Christoffel symbols to Kerr-Schild spacetime (#5688)
- Update copyright year to 2024 (#5693)
- Boundary component for Klein-Gordon CCE (#5683)
- Remove control system Event (#5682)
- Automate BBH pipeline (#5685)
- Generalize
InertialParticlePositioncompute tag (#5677) - Solve for psi-1 in XCTS system (#5684)
- Change worldtube scheme to inertial frame (#5668)
- Add PolarMagnetizedFmDisk to list of initial data (#5700)
- Use jemalloc on Caltech HPC (#5698)
- Add function to create a spacetime tensor from time and spatial ones. (#5692)
- Add Klein-Gordon CCE evolution component, metavariable, and executable (#5697)
- Reimplement arrayallocationtags (#5702)
- Add geodesic coordinate acceleration function (#5681)
- Add SettleToConstantQuaternion (#5703)
- Optimize FixConservatives (#5633)
- Remove boost::rational from FractionUtilities test (#5707)
- Add IMEX actions (#5676)
- Modify checkwithrandom_values (#5710)
- Initialize Klein-Gordon CCE variables (#5704)
- Add IMEX ImplicitDenseOutput mutator (#5711)
- Dump smoothing timescale in size control (#5720)
- Instantiate inertial->distorted for strahlkorperindifferent_frame (#5718)
- Support h-refinement in Variables AMR projector, more minor AMR changes (#5716)
- Add puncture field for arbitrary geodesic orbits (#5689)
- Move test into anonymous namespace (#5733)
Documentation (2):
- Improve documentation of EvenlySpaced TimeSequence (#5708)
- Update documentation of Persson TCI (#5713)
Bugfixes (6):
- Remove duplicate entries in clang-format. (#5690)
- Update Catch module on Wheeler (#5695)
- Fix ordering of IncludeCategories in clang-format (#5699)
- Handle overflow in ContinuedFractionSummer (#5714)
- Small Tov documentation typos (#5719)
- Fix reading input files with empty metadata (#5728)
Build system (1):
- Fix compilation with clang 17 (#5726)
Continuous integration & deployment (3):
- Fix Spack post-release workflow (#5661)
- Increase a test timeout (#5694)
- Update Intel SDE used for Arch tests (#5706)
Contributors (12): @nilsdeppe, @Sizheng-Ma, @nilsvu, @wthrowe, @ncorsobh, @geoffrey4444, @knelli2, @nikwit, @kidder, @jyoo1042, @pajkosmi, @yoonso0-0
- C++
Published by sxs-bot about 2 years ago
spectre - Release 2023.12.08
Upgrade instructions
From #5557 (Add option to output subdomain matrices in elliptic solver):
In input files for elliptic executable, change the option ExplicitInverse to:
yaml
ExplicitInverse:
WriteMatrixToFile: None
You can set this option to a filename to output the subdomain matrices for debugging or analysis.
From #5562 (Add Wcns5z for ghmhd, add Enable options to LimitLorentz & FixConservatives):
Need to add
Enable: false # Only needed when not using Kastaun for recovery
(or true) to FixConservatives and LimitLorentzFactor in input files.
From #5561 (Bump min Catch2 version to 3.4.0):
Building unit tests requires Catch2 v3.4.0 now. See the Catch2 docs for installation instructions (it's a standard CMake configure-build-install).
From #5542 (Clean up Sphere TimeDependentOptions):
To use hard coded time dependent maps with the Sphere domain creator, you no longer specify the following option
yaml
TimeDependentMaps:
...
SizeMap: # <-- Don't specify this
InitialValues: [...]
From #5573 (Enable p-refinement for ScalarWave executables):
ScalarWave input files need to have additional options, as well as now using global time-steppers instead of local time-steppers. (See the diff of tests/InputFiles/ScalarWave/PlaneWave1D.yaml)
From #5583 (Allow timescale tuner to not decrease timescale):
If your executable has a Size control system, remove the DecreaseThreshold: and DecreaseFactor: options from the TimescaleTuner of the Size control systems. Note that you should keep these options for the SmootherTuner option of Size control.
From #5608 (Support Gauss points in elliptic DG schemes):
In elliptic executables add the Discretization.DiscontinuousGalerkin.Quadrature option. Set it to GaussLobatto to keep the previous behavior.
From #5593 (Limit time step to prevent control-system deadlocks):
Executables with control systems and global time-stepping will now work with any time stepper, not just AdamsBashforth. When using a non-AdamsBashforth time stepper the step size will gradually decrease, so you should include the ChangeSlabSize event to increase it again.
From #5498 (Update GrMhd Analytic Boundary Conditions):
Gh-based initial data (which uses the WrappedGr wrapper class to add Gh) will require a wrapper GeneralizedHarmonic in input files. For example:
TovStar:
would become
GeneralizedHarmonic(TovStar):
From #5641 (Add option for runtime element distribution):
Evolution and elliptic executables must now have a new option in the input file called
yaml
Parallelization:
ElementDistribution: NumGridPoints
An exception to this are the *CharacteristicExtract executables. They do not need this new option.
From #5619 (Use wedge shape map transition in BCO domain):
For the BinaryCompactObject domain creator, you must add the following two options to each of the shape map blocks
yaml
BinaryCompactObject:
...
TimeDependentMaps:
...
ShapeMapA:
...
TransitionEndsAtCube: true
ShapeMapB: #Same as A
From #5626 (Make GrMhd and GhMhd executables use runtime initial data. ):
All Initial Data will now be identified by InitialData in the input file, rather than AnalyticSolution, AnalyticData, or InitialData.
The EoS must be explicitly identified in the input file for all evolutions. To achieve "legacy" behavior, of using the EoS associated with the Initial data, specify
EquationOfState: FromInitialData
This will extract the EoS from the initial data and promote it to a 3-d EoS for evolution.
Merged pull-requests (89)
CLI & Python bindings (3):
- Add skeleton BBH pipeline (#5546)
- Add Render3D command with simple "clip" rendering (#5507)
- Add -t abbreviation to schedule cli (#5644)
General changes (70):
- Allow DenseTriggers mutable access to the DataBox (#5533)
- Add expiration_after method to FunctionOfTime (#5544)
- Remove unnecessary tags in ForceFree FD reconstructors (#5555)
- Add TCI options to FFE subcell and fix TCI criteria for TildeQ (#5552)
- Add 3D EoS Promotion (#5554)
- Radially falling floor EoS call (#5556)
- Add option to output subdomain matrices in elliptic solver (#5557)
- Add Wcns5z for ghmhd, add Enable options to LimitLorentz & FixConservatives (#5562)
- Add executable summarizing time stepper properties (#5559)
- Pass around neighbor meshes when determining AMR decisions (#5558)
- Add an analytic data PolarMagnetizedFmDisk (#5563)
- Explicitly state CCE ordering (#5567)
- Clean up Sphere TimeDependentOptions (#5542)
- Make GrMhd system compatible with 3D EoS (#5479)
- Allow events to mutate the DataBox (#5565)
- Remove ASSERTIONTEST and ERRORTEST macros (#5572)
- Use smaller values in scalar wave char test (#5571)
- Allow multiple post interpolation callbacks (#5569)
- Make magnetic field configuration runtime choice (#5548)
- Enable p-refinement for ScalarWave executables (#5573)
- Revert "Use Catch2 for benchmarks" (#5582)
- Allow timescale tuner to not decrease timescale (#5583)
- Store control-system measurement times in the DataBox (#5566)
- fix ocean_gcc.sh (#5592)
- CCE dox and HDF5 error improvements (#5580)
- Add constraint energy normalization in GH (#5543)
- Add changeallvalences tensor metafunction (#5590)
- Add more extract_point overloads and add inverse (#5596)
- Observe more quantities in SolvePoisson (#5604)
- Move ProjectToBoundary from Evolution to DG (#5594)
- Use quadratic extrapolation for AHfinder guess (#5598)
- Create AnalyticSolution in elliptic boundary condition (#5603)
- Add transform for History (#5589)
- Add function for contracting the first N indices of two Tensors (#5602)
- Support domain deformations in elliptic solver (#5575)
- Improve floating-point behavior in wedge map (#5606)
- Support Gauss points in elliptic DG schemes (#5608)
- Add split_tuple function (#5613)
- Clarify debug prints in control system trigger (#5615)
- Add type Weyl Type D scalar and weyl electric to BBH executable (#5609)
- Add NeighborPackagedData to ForceFree subcell (#5568)
- Enable different upper and lower BCs for Brick. (#5611)
- C++20 compatibility (#5550)
- Add ErrorIfDataTooBig Event (#5614)
- Add the exact Wald solution to ForceFree system (#5527)
- Add compute tag for the second time derivative of the spacetime metric. (#5579)
- Add wedge transition for shape map (#5616)
- Limit time step to prevent control-system deadlocks (#5593)
- Update GrMhd Analytic Boundary Conditions (#5498)
- Optimize and vectorize TOMS748 (#5578)
- Simplify tmpl::list_contains, add lazy version (#5625)
- Add DirectionId and DirectionIdMap (#5621)
- Minor cleanup of testing framework code (#5622)
- Print more info on AHfinder failure. (#5597)
- Change behavior of sphere shape transition function (#5627)
- Switch evolvedswshdttag and evolvedswsh_tag to tmpl::list (#5637)
- Create a new element with the phase bookmarks of an existing element (#5634)
- Make shape map exactly like the one in SpEC (#5636)
- Cauchy-characteristic Evolution of Einstein-Klein-Gordon Systems (#5638)
- Remove enthalpy from list of primitive tags (#5631)
- Add IMEX time-stepper interface and Heun2 IMEX (#5617)
- Add option for runtime element distribution (#5641)
- Add IMEX protocols (#5618)
- Use wedge shape map transition in BCO domain (#5619)
- Minor db factoring (#5649)
- WorldtubeBufferUpdater and WorldtubeDataManager for CCE (#5640)
- Mutate NeighborMesh at beginning of AMR (#5643)
- Reduce compilation memory of executables (#5647)
- Make GrMhd and GhMhd executables use runtime initial data. (#5626)
- Add MortarSize hash and pup function to inbox tag (#5658)
Bugfixes (9):
- Check FoT before post intrp callbacks and UpdateMessageQueue (#5510)
- Reinterpolate to all elements for new target points (fix BBH deadlocks) (#5531)
- Fix regex for iterable actions in charm traces (#5574)
- Fix boundary condition bugs for temperature reconstruction (#5577)
- Prevent operations with DV expressions in translation map (#5601)
- Register derived parallel callbacks (#5607)
- Fix doxygen warnings for certain functions (#5620)
- Fix interpolation framework when there are no valid points to interpolate (#5623)
- Fix curved mesh support for FD (#5628)
Build system (1):
- Bump min Catch2 version to 3.4.0 (#5561)
Continuous integration & deployment (6):
- Fix script to add Spack version (#5560)
- Skip compiling executables in demo container when emulating (#5564)
- Add deploy container with compiled executables (#5591)
- Fix Zenodo upload (#5612)
- Increase a ScalarTensor input file test timeout (#5645)
- Fix Zenodo upload (#5660)
Contributors (15): @knelli2, @wthrowe, @yoonso0-0, @isaaclegred, @pajkosmi, @nilsvu, @nilsdeppe, @kidder, @jyoo1042, @AlexCarpenter46, @acifajkya, @markscheel, @macedo22, @ncorsobh, @Sizheng-Ma
- C++
Published by sxs-bot about 2 years ago
spectre - Release 2023.10.11
Upgrade instructions
From #5433 (Drop clang-10):
We don't guarantee compatibility with Clang 10 anymore. Upgrade to Clang 11+ or use GCC 9+.
From #5475 (Bump to clang-13 to get some C++20 support):
We don't guarantee compatibility with Clang < 13 anymore. Upgrade to Clang 13+ or use GCC 9+.
From #5462 (Add DeltaRDriftOutward (State 5) to size control.):
Input files using size control need to add a new option: * DeltaRDriftOutwardOptions: None
From #5499 (Remove layer of autogenerated code from executables):
If you're adding or editing executables in the build system, apply these changes (see one of the existing executables for an example):
add_spectre_parallel_executablewas deleted. Useadd_spectre_executableinstead and linkCharmxx::main.- Delete the
Fwd.hppfile. - Add a cpp file with a main function (specifically, a
CkRegisterMainModule()function). - Move the
charm_init_node_funcsandcharm_init_proc_funcsto the call toParallel::charmxx::register_init_node_and_procin the cpp file. Remove the error handling functions from these lists because they are registered automatically. - If needed, pass template parameters for the metavars from CMake to the cpp file with
target_compile_definitions.
Merged pull-requests (99)
CLI & Python bindings (5):
- Merge 'combine-h5 {dat,vol}' CLI commands (#5412)
- Adds more Pybindings for GH. (#5430)
- Allow overwriting H5 tensor data, add
--forceoption to transform-vol CLI (#5331) - Report output file path when submitting jobs (#5502)
- Minor improvements to Schedule.py (#5547)
General changes (40):
- Reset GH pi and phi to constraints (#5427)
- Add Reconstructor base tag (#5423)
- Interpolators tag and dg mesh (#5424)
- Add Mesh template tag to deriv, more ghmhd observers (#5426)
- Add Carter Anderson to contributors list (#5437)
- Add a mutator initializing ForceFree::Tags::NsInteriorMask (#5295)
- Use UpdateAggregator in control system (#5378)
- Remove ExtendConnectivity C++ executable (#5443)
- Add p-projector for time history (#5442)
- Delete rvalue iterator methods in STL boilerplate (#5439)
- Add p-projectors for Variables and Tensors (#5448)
- Add CircularDeque container (#5441)
- Add p-projector for EventsAndDenseTriggers. (#5450)
- Add AdaptiveOrder FD reconstructor to ForceFree system (#5436)
- Add AMR protocol conformance asserts (#5452)
- Add Piecewise Function to Translation Map (#5388)
- Add linear velocity term to BBH initial data (#5458)
- Add SetInterpolators mutator, some BNS input file improvements (#5456)
- Add p-projection for mortars for global time-stepping (#5474)
- Reconstruct temperature in GRMHD and GHMHD (#5466)
- Add ERROR_AS for custom exception types on errors (#5467)
- Only allow updating FoTs at expiration time (#5483)
- Improve handling of Tags::DataBox (#5478)
- Only allow one MutableCache callback per ArrayComponentId (#5484)
- Curved mesh fd (#5465)
- Add DeltaRDriftOutward (State 5) to size control. (#5462)
- Optimize interpolation onto sphere targets (#5503)
- Add CAPTUREFORERROR to print info on failure (#5506)
- Bns input file cleanups (#5497)
- Isolate multithreading in FoTs (#5491)
- Write and read surface spherical harmonic data to and from disk (#5416)
- Import FUKA initial data (#5339)
- Add FoTAreReady function for simple actions (#5513)
- Memoize controlsystem::combinedname (#5526)
- Move Francois Hebert and Jordon Moxon to Developers (#5529)
- Move internals of ThreadsafeList to a tpp file (#5525)
- Rewrite BoundaryHistory to support substeps (#5461)
- Clean up print helpers (#5523)
- Add max Lorentz factor to KastaunMHD and input file option (#5537)
- Add option to output matrix in elliptic solver (#5540)
Documentation (6):
- Update PPAO documentation (#5444)
- Add Variables Temporaries Documentation (#4951)
- Clarify expiration-time calculation documentation (#5482)
- Update installation instructions to include maximum version of Doxygen. (#5489)
- Fix h5 file names in CCE input file (#5500)
- Update some parallel documentation (#5515)
Bugfixes (22):
- Fix root brackets in Tabulated3D also for doubles (#5435)
- Fix tags on SeparationLessThan test (#5438)
- Fix race in list of StoredInfos (#5453)
- Fix an error message in factory creation (#5468)
- Fix bug in deserialization of old QuaternionFoTs (#5473)
- Use consistent memory order in QuatFoT (#5476)
- Increase some test timeouts, fix a tolerance (#5469)
- Make KastaunHydro stable against unphysical energy states (#5434)
- Make ExtractDat handle extensions and print error (#5496)
- Remove some catastrophic cancellation in prim recovery (#5494)
- Add missing include. (#5501)
- Fix bug in damped harmonic gauge (#5504)
- Correct tabulated eos indexing bug (#5511)
- Fix 1d recovery and 2d atmosphere fixing (#5522)
- Fix sphere optimization (#5521)
- Fix compiling temperature init with analytic solutions (#5508)
- Add transport velocity tag to namespace Hydro and insert Temperature tag to RotatingStar (#5464)
- Fix Bug in Grmhd BCGhostData (#5524)
- Add missing header to GR surface tags (#5539)
- Temperature updates for param delep 3D EoS (#5534)
- Fix missing include (#5545)
- Fix status CLI if user directory can't be read (#5551)
Build system (7):
- Don't run spectre py version test in PYDEVMODE (#5449)
- Rename AH lib to ApparentHorizonFinder (#5455)
- Work around boost failure to build in clang 15 (#5495)
- Fix linking of ExternalIO on Wheeler (#5530)
- Don't require FFTW unless we are linking FUKA (#5536)
- Fix missing lib dependence in ForceFreeAnalyticData (#5538)
- Remove layer of autogenerated code from executables (#5499)
Continuous integration & deployment (19):
- Don't save ccache temporary directory on CI (#5418)
- Add Docker container for Apple Silicon (#5373)
- Drop clang-10 (#5433)
- Build multi-platform x86 + ARM containers on CI (#5429)
- Fix adding Spack version post-release (#5445)
- Move devcontainer to repo root (#5447)
- Speed up building Docker containers, upgrade container to Ubuntu 22.04, test Clang 14 (#5432)
- Ignore some more clang-tidy warnings (#5454)
- Add docs on building the Docker containers (#5471)
- Bump to clang-13 to get some C++20 support (#5475)
- Disable clang-tidy trivially-copyable move check (#5477)
- Install Clang 15 in container, remove Clang 11 (#5481)
- Build charm
--with-productionin container (#5470) - Add clang-tidy annotations on CI, run only over changed lines (#5485)
- Fix clang-tidy on CI (#5493)
- Remove abseil checks from clang tidy (#5509)
- Add Clang 16 to CI container (#5492)
- Disable building executables on gcc 11 Release (#5553)
- Install CI compilers etc on demand to reduce disk space usage on CI (#5528)
Contributors (18): @nilsvu, @geoffrey4444, @nilsdeppe, @kenzenjones, @ctrandrsn, @ermost, @yoonso0-0, @knelli2, @jyoo1042, @kidder, @wthrowe, @AlexCarpenter46, @ncorsobh, @PunJustice, @markscheel, @pajkosmi, @macedo22, @isaaclegred
- C++
Published by sxs-bot over 2 years ago
spectre - Release 2023.09.07
Upgrade instructions
From #5326 (Add events to CCE):
All input files for the standalone CCE executable CharacteristicExtract must now have an
yaml
EventsAndTriggers:
- Trigger:
...
Events:
...
block in the input file.
From #5364 (Clean up unused arguments in add_test_library):
Two unused arguments were removed from add_test_library. Change code from this:
cmake
add_test_library(
${LIBRARY}
"Evolution/Systems/Cce/"
"${LIBRARY_SOURCES}"
""
)
to this:
cmake
add_test_library(${LIBRARY} "${LIBRARY_SOURCES}")
From #5348 (Preparation for adding AMR projectors):
You will now need to explicitly default initialize any items that were previously default initialized implicitly.
This is done by adding ::amr::projectors::DefaultInitialize<Tag0, Tag1, ...> to the list of amr::projectors in the metavariables of an executable.
From #5381 (Add size control to BH execs):
For the EvolveGhSingleBlackHole executable, you have to add the following options to your input file:
```yaml ApparentHorizons: ... ControlSystemCharSpeedAh: (same as the other options in this block)
InterpolationTargets: ... ControlSystemCharSpeedExcision: (same as the other options in this block)
ControlSystems: Size: IsActive: false Averager: (same as other control systems) Controller: (same as other control systems) TimescaleTuner: (same as other control systems) ControlError: (this is the only one that differs from other control systems) MaxNumTimesForZeroCrossingPredictor: 4 SmoothAvgTimescaleFraction: 0.25 SmootherTuner: InitialTimescales: [0.2] MinTimescale: 1.0e-4 MaxTimescale: 20.0 IncreaseThreshold: 2.5e-4 DecreaseThreshold: 1.0e-3 IncreaseFactor: 1.01 DecreaseFactor: 0.9 ```
For the BBH executable, you need both A/B versions of the above options: ControlSystemCharSpeedAh, ControlSystemCharSpeedExcision, Size.
From #5393 (Rename Ylm namespaces):
The following spherical harmonic namespaces have been renamed:
- StrahlkorperGr -> gr::surfaces
- StrahlkorperTags -> ylm::Tags
- StrahlkorperFunctions -> ylm
From #5405 (Put all Ylm things in namespace):
All items in NumericalAlgorithms/SphericalHarmonics/ now live in the ylm namespace (e.g. ylm::Strahlkorper).
From #5406 (Add VolumeIntegral norm to ObserveNorms):
In input files, make changes like:
yaml
- ObserveVolumeIntegrals:
to
yaml
- ObserveNorms:
SubfileName: VolumeIntegrals
TensorsToObserve:
- Name: AdmMassIntegrand
NormType: VolumeIntegral
Components: Individual
From #5410 (Add CombineH5Dat to CLI):
To join H5 dat files from different segments (e.g., the segments resulting from using schedule/ checkpoint & restart), you can use the new CLI command combine-h5-dat to combine these H5 files into a single H5 file. This is necessary before providing CCE output files to CharacteristicExtract.
Merged pull-requests (65)
CLI & Python bindings (6):
- Add pybinding for time deriv of lapse and spatial metric (#5357)
- Add Spacetime Deriv Of Norm Of Shift PyBind (#5226)
- Pybindings for Combine-H5 functionality (#5207)
- Add Python Bindings For Spectral And Enthalpy EoS (#5254)
- Some cleanups in CombineH5 CLI (#5398)
- Add CombineH5Dat to CLI (#5410)
General changes (38):
- Add events to CCE (#5326)
- Add basic p-refinement criterion based on truncation error (#5273)
- Add ComputeTags for observing electromagnetic variables in ForceFree system (#5171)
- Inject ExcisionSphere time dep in BCO domains (#5270)
- Print deadlock information in BBH exec (#5352)
- Add example executable for ScalarTensor (#5321)
- Remove ability to override functions of time (#4487)
- Add quick exit from cons 2 prim routine (#5347)
- Add protocols and docs for registration (#5318)
- Preparation for adding AMR projectors (#5348)
- Add is_isotropic function for mesh, remove debugging CMake message (#5368)
- Add h-refinement criterion based on 2nd derivs (#5371)
- Smooth horizon coefs in size control (#5255)
- Add size control to BH execs (#5381)
- Use infinity for non-expiring FoT (#5386)
- Add h-refinement criterion based on power in highest modes (#5372)
- Add CcsnCollapse as Gh executable (#5389)
- Add Quadrupole Moment and its first time derivative to GhValenciaDivClean (#5390)
- Emit error message when importing single-precision vol data (#5392)
- Add Jooheon to contributors list (#5396)
- Add Nick Corso to contributors (#5397)
- Add temperature to GRMHD related initial data (#5229)
- Make preparations for control system expr time changes (#5376)
- Move IsActive tag to IsActiveMap tag (#5383)
- Add MC reconstructor to ForceFree subcell (#5310)
- Print time step and next time in element deadlock action (#5399)
- Rename Ylm namespaces (#5393)
- Optionally write Bns control sys centers to disk (#5404)
- Rename code variables to match documentation (#5400)
- Add Wcns5z reconstructor to ForceFree subcell (#5407)
- Put all Ylm things in namespace (#5405)
- Add VolumeIntegral norm to ObserveNorms (#5406)
- Add UpdateAggregator (#5377)
- Add a rotating star magnetosphere initial data to ForceFree (#5281)
- Add p-refinement criterion based on constraints (#5375)
- Update contributing guidelines (#5369)
- Add hydro version of Kastaun Con2Prim. (#5328)
- Factor enum classes Basis and Quadrature into their own files (#5421)
Documentation (2):
- Update pybindings docs for pointwise functions (#5385)
- Document how to run compose and generate an EOS (#5411)
Bugfixes (9):
- Fix threadsafety of PiecewisePolynomial (#5334)
- Fix test libs (#5370)
- Fix running multiple random-value tests in a debugger (#5374)
- Two minor fixes in FFE code (#5379)
- Update Bond Sachs interpolation to run on GhMhd executables (#5394)
- Fix issue where bounds in Tabulated3D EOS can become zero (#5409)
- Fix race condition inside PiecewisePolynomial (#5402)
- Exit on reaching negative pressure in Newman Hamlin solver (#5417)
- Make Tabulated3D EOS PuPable (#5422)
Build system (5):
- Clean up unused arguments in
add_test_library(#5364) - Use CMake native BLAS and LAPACK targets (#5366)
- Use clang-format on CaltechHPC (#5387)
- Remove some unnecessary global CMake include dirs (#5408)
- Link libxsmm only in Release mode on ARM Macs (#5413)
Continuous integration & deployment (5):
- Evict older CI caches only on success (#5365)
- Encourage formaline CI test to reuse compiler cache (#5395)
- Add GitHub workflow to build Docker containers (#5380)
- Use ccache for building docs on CI (#5414)
- Add a few more labels to release notes (#5415)
Contributors (17): @knelli2, @acifajkya, @estherroselopez, @nilsvu, @yoonso0-0, @guilara, @kidder, @ffoucart, @aasthabagree21, @nilsdeppe, @pajkosmi, @ncorsobh, @ctrandrsn, @jyoo1042, @ermost, @isaaclegred, @geoffrey4444
- C++
Published by sxs-bot over 2 years ago
spectre - Release 2023.08.18
Upgrade instructions
From #5302 (Add BondiSachs to GhValencia executables):
All GhValenciaDivClean input files must now specify the following two blocks
```yaml InterpolationTargets: BondiSachsInterpolation: LMax: 16 Radius: [100, 150, 200] Center: [0, 0, 0] AngularOrdering: Cce
Cce: BondiSachsOutputFilePrefix: "BondiSachs" ```
Along with the BondiSachsInterpolation singleton in ResourceInfo:
From #5286 (Upgrade Catch2 to version 3+):
- Building tests now requires Catch2 version 3+. Install with your package manager (
brew install catch2on macOS) or with a standard CMake build and install from source (see the Catch2 docs). Build withBUILD_SHARED_LIBS=ONto build shared libs, or withCMAKE_POSITION_INDEPENDENT_CODE=ONif you're building static libs. - Rename
Catch::ContainstoCatch::Matchers::ContainsSubstring.
From #5337 (Use Catch2 for benchmarks):
Add microbenchmarks to your test cases. See the Catch2 benchmark documentation for instructions.
From #5340 (Split up RunTests):
To run unit tests you don't need to compile the giant RunTests executable anymore (or edit RunSingleTest). Just build the individual test executable (like Test_LinearOperators) and run it (like ./bin/Test_LinearOperators). See the Catch2 docs for details on running the test executables. You can still build all unit tests with the unit-tests target and run test cases with ctest (no change there).
From #5360 (Update catch2, use gcc on ocean):
When running spectre on ocean, use ocean_gcc.sh instead of ocean_clang.sh. This switches to use gcc and g++ instead of clang and clang++; compiling is slower but is compatible with importing SpEC initial data. To enable SpEC importing, set SPEC_ROOT to /opt/ohpc/pub/apps/spec/spec-interp4/ before running make.
Merged pull-requests (77)
General changes (68):
- Decrease test runtimes and increase test timeouts (#5264)
- Add largest characteristic speed for ScalarTensor (#5256)
- Add a tag for masking neutron star interior in ForceFree evolution system (#5232)
- Add data structure and tags for starting on FD (#5262)
- Add ObserverMeshVelocity tag and handle DG in ResizeAndComputePrims (#5263)
- Remove DgSubcell from ParallelInterpolation (#5274)
- Remove Time from Domain (#5276)
- Remove Time from ParallelInterpolation (#5275)
- Use unlimited-2 reconstruction with MC for GhGrmhd (#5277)
- Merge MutableGlobalCache into GlobalCache (#5240)
- Support subcell in importers (#5279)
- Add Dirichlet boundary condition for CurvedScalarWave (#5243)
- Add Kerr plus scalar wave initial data for ScalarTensor (#5257)
- Fix ApparentHorizon dependencies (#5267)
- Rewrite translation map root-find (#5268)
- Add FoT names to CoordMaps (#5266)
- Don't build same version of CMake twice in container (#5298)
- Make DG-FD executables to start on FD (#5283)
- Add PPAO reconstruction to GhGrmhd system (#5280)
- Add time derivative computation to ScalarTensor (#5212)
- Make namespaces consistent for wrapped initial data lists (#5303)
- Drop Py3.7 (#5297)
- Use highest possible FD order when computing GH derivatives (#5308)
- Add BondiSachs to GhValencia executables (#5302)
- Get h5 lock in DumpBondiSachs (#5300)
- Add boundary conditions for ScalarTensor (#5235)
- Allow use of ObservationBox in Intrp events (#5309)
- Add support for 2d EOS to SpecInitialData (#5305)
- Taking Out Unnecessary Includes in Psi4 Files (#5307)
- Move ExtendConnectivity helper functions (#5306)
- Add changelog with pre-release notes to docs (#5312)
- Add list of compute tags for ScalarTensor initialization (#5265)
- Add Boundary Corrections for ScalarTensor (#5220)
- Add thread-safety docs to some FoTs (#5327)
- Add quadrupole moment and its first derivative calculations to Hydro (#5178)
- Remove InitialDataTci from ForceFree system (#5322)
- Compute truncation errors in post-processing (#5320)
- Add some more pybindings in Spectral, Domain (#5330)
- Add cap to Lorentz factor and temperature minimum to GhGrmhd executable (#5332)
- Add density dependent limit to magnitude of tildeS (#5333)
- Mock global cache (#5319)
- Upgrade Catch2 to version 3+ (#5286)
- Add InversePlasmaBeta to Hydro (#5323)
- Evaluate background metric variables on FD grids (#5259)
- Add observation of inertial center of mass for BNS (#5296)
- Add prefix tags for observation of CSW variables in ScalarTensor (#5329)
- Allow FPEs to be caught as C++ exceptions (#5324)
- Find FFTW3 with CMake (#5343)
- Use Catch2 for benchmarks (#5337)
- Abbreviate more error handling frames in stacktrace (#5338)
- Move ::Tags::StepChoosers to the GlobalCache (#5350)
- Move ApparentHorizons to ParallelAlgorithms/ApparentHorizonFinder (#5335)
- Add classes to promote 1D and 2D EoSs to 3D EoSs (#5346)
- Run some input files only in one CI build (#5351)
- Build PCH with CMake (#5301)
- Upgrade ccache in CI container (#5355)
- Save CI caches earlier and on failure (#5356)
- Limit ccache size automatically on CI (#5358)
- Update CMake policies (#5345)
- Print more information when an exception is caught by DistributedObject (#5353)
- Use libbacktrace on CaltechHPC (#5344)
- Split up RunTests (#5340)
- Use ccache on CaltechHPC (#5359)
- Update catch2, use gcc on ocean (#5360)
- Enable ccache for formaline CI builds (#5362)
- Use full path to ccache (#5361)
- Remove RunSingleTest (#5363)
- Bind more Spectral functions (#5354)
Bugfixes (9):
- Fix Translation Map Test Failures (#5260)
- Add ScalarTensor stress energy test to cmake list (#5287)
- Restrict phase changes to slab boundaries (#5315)
- Remove reference to duplicate CMake on CI (#5311)
- Fix a GCC warning (#5313)
- Fix fm disk compilation & increase Render1D timeout (#5314)
- Fix whitespace issues in a DataBox test (#5316)
- Fix rebase bug in CharSpeed for ObservationValue (#5325)
- Avoid FPE for BBH observation horizon finds (#5317)
Contributors (14): @nilsdeppe, @AlexCarpenter46, @guilara, @yoonso0-0, @knelli2, @ffoucart, @wthrowe, @nilsvu, @asaju7, @ncorsobh, @jyoo1042, @kidder, @isaaclegred, @geoffrey4444
- C++
Published by sxs-bot over 2 years ago
spectre - Release 2023.07.29
Upgrade instructions
From #4996 (Add scheduling CLI):
- Install
Jinja2in your Python environment (it's probably already installed because other packages need it).
From #5006 (Enable Logarithmic Distribution in Envelope of BinaryCompactObject):
In input files that use the BinaryCompactObject domain creator, change the Envelope.UseProjectiveMap option to Envelope.RadialDistribution. Previous values of True and False correspond to Projective and Linear now.
From #5139 (Add setnumberofgridpoints utility):
Replace destructive_resize_components with the new set_number_of_grid_points.
From #5206 (Add AhC to BBH):
BBH input files must now have an
yaml
ApparentHorizons:
ObservationAhC:
block.
From #5190 (Make BBH time dependent options optional):
First, specifying options for shape/size maps has changed from
yaml
DomainCreator:
BinaryCompactObject:
TimeDependentMaps:
...
SizeMapA:
InitialValues: [0.0, 0.0, 0.0]
SizeMapB:
InitialValues: [0.0, 0.0, 0.0]
ShapeMapA:
LMax: &LMax 10
ShapeMapB:
LMax: *LMax
to
yaml
DomainCreator:
BinaryCompactObject:
TimeDependentMaps:
...
ShapeMapA:
LMax: &LMax 10
SizeInitialValues: [0.0, 0.0, 0.0]
ShapeMapB:
LMax: *LMax
SizeInitialValues: [0.0, 0.0, 0.0]
Then, to not have a time dependent map be included, specify None for its option like so:
yaml
DomainCreator:
BinaryCompactObject:
TimeDependentMaps:
InitialTime: 0.0
ExpansionMap: None
RotationMap:
InitialAngularVelocity: [0.0, 0.0, 0.0]
ShapeMapA:
LMax: &LMax 10
SizeInitialValues: [0.0, 0.0, 0.0]
ShapeMapB: None
To disable time dependent maps all together do
yaml
DomainCreator:
BinaryCompactObject:
TimeDependentMaps: None
From #5227 (Change observation value handling, allow any observation on failure):
The template for the type of observation value as been moved from Events to the actions that run them, so observation events that previously had an OverrideObservationValue option no longer do, and such behavior is handled at a higher level. When used in EventsAndTriggers or EventsAndDenseTriggers, the behavior is as if None had been specified. When used in EventsRunAtCleanup, the value is taken from the new, higher-level ObservationValue option.
In addition to removing any OverrideObservationValue options, any existing EventsRunAtCleanup section of input files should be changed to
yaml
EventsRunAtCleanup:
ObservationValue: <value, -1000.0 is used in our examples>
Events:
<list of events>
This is required even if the list of events is empty.
Merged pull-requests (118)
New features (5):
- Add ExtendConnectivity executable (#5083)
- Add scheduling CLI (#4996)
- Add scalar tensor system and tags (#5169)
- Add parameterized deleptonization, without entropy (#5156)
- Add Bns executable with control systems (#5238)
General changes (99):
- Make transpose use SIMD (#5099)
- Add size control error (#5084)
- Print message upon success of validate CLI (#5111)
- Added my name to Metadata file (#5118)
- Add some guidelines for writing CLI endpoints (#5107)
- Observe timestep in single BH exec (#5114)
- Test domain versioning (#5112)
- Add serialization of static_vector and fix History serialization (#5103)
- Support segments in PlotPowerMonitors (#5106)
- Allow user to specify columns in status CLI (#5115)
- Move LowerSpatialFourVelocity out of Xcts (#5123)
- Separate mutate_assign from InitializeCharacteristicEvolutionVariables (#5095)
- Add size control system (#5119)
- Add pybinding for Spatial Ricci Tensor (#5121)
- Strengthen domain versioning test (#5135)
- Deploy docs with GitHub Actions (#5122)
- Generate CLI docs (#5128)
- Support segments in GenerateXdmf (#5105)
- Add ForceFree executable (#4958)
- Add BoundaryHistory::map_entries (#4806)
- Add Interface Null Norm PyBinding (#5069)
- Increase some IO test timeouts (#5140)
- Added the pybindings for ExtendConnectivityData (#5126)
- Improve an error message in schedule CLI (#5151)
- Fix small ghgrmhd things for control systems (#5152)
- Weyl Type D1 (#4943)
- Minor changes working towards threaded DG elements (#5160)
- Infer output buffer tags in partial_derivatives (#5136)
- Minor cleanups to CombineH5 (#5162)
- Find streamable decls before static assert in streamobjto_stream (#5167)
- Add prefetch function (#5161)
- Add size StateHistory (#5141)
- Silence gcc 12 and 13 warnings (#5149)
- Add extend-connectivity to CLI (#5154)
- Allow L2IntegralNorm for subcell (#5053)
- Add grid anchors to domain creators (#5155)
- Add PyBinding for DerivSpatialMetric (#5144)
- Enable Logarithmic Distribution in Envelope of BinaryCompactObject (#5006)
- Add dox for running on an interactive wheeler node (#5134)
- Add setnumberofgridpoints utility (#5139)
- Add standard trigger for separation between objects (#5150)
- Add Shell0 block group to Sphere for single shell (#5185)
- Reference elliptic papers (#5164)
- Add moving mesh terms to GhGrhd system (#5005)
- Add Christoffel Python Bindings (#5187)
- Output resolved executable in schedule CLI (#5188)
- Add checkpointing to example BBH input files (#5186)
- Add Kyle to core devs (#5189)
- Non diagonal jac subcell (#5081)
- Upgrade SpEC exporter build on Wheeler (#5175)
- Add Py Bindings for Pi, Phi, and GaugeSource (#5143)
- Validate CLI: fall back to printing full error message (#5193)
- Add baryon mass to eos (#4992)
- Split up Time/Tags.hpp (#5196)
- Stop multiplying by 0 in GH and copying data (#5173)
- Add integer pow function (#4962)
- Allow observation of 3+1 metric in GrGhmd runs (#5197)
- Use SXS modules + SpEC exporter on CaltechHPC (#5200)
- Add maps to ExcisionSpheres (#5184)
- Add normaltimesflux (#5137)
- Only use BCO domains in BBH exec (#5210)
- Speed up
DampedHarmonic(#4964) - Add more debugging prints for size control (#5203)
- Fix lots of test linking, deprecate last argument in addtestlibrary (#5211)
- Add AhC to BBH (#5206)
- Update error tests in Averager (#5214)
- Make PiecewisePolynomial threadsafe (#5198)
- Add scalar sources (#5205)
- Remove an unused argument in partial_derivative (#5217)
- Add scalar stress energy tensor compute functions (#5199)
- Speed up
GH::TimeDerivativecalculation for harmonic gauge (#4970) - Add a new mutator (re-)computing background metric variables on DG grid (#5028)
- Observe div(B) in GRMHD exec (#5216)
- Make BBH time dependent options optional (#5190)
- Add Radial Function to Translation Map (#5166)
- Add Covariant Derivative of Extrinsic Curvature Py Binding (#5209)
- Disable some tests in PYDEVMODE (#5231)
- Add Imex sub-namespace to ForceFree system (#5233)
- Update Elias' affiliation (#5230)
- Add Pybindings for SpatialDerivOfLapse and SpatialDerivOfShift (#5148)
- Update UpdateControlSystem to handle size control (#5202)
- Simplify clang-format git hook (#5223)
- Changes to get clang 16 to compile (#5222)
- Change observation value handling, allow any observation on failure (#5227)
- Recover from permission error in status CLI (#5236)
- Add Guillermo (aei) to contributors list (#5242)
- Add scalar charge observable (#5218)
- Cleanups for starting on FD (#5239)
- Add outgoing char speeds boundary condition to ForceFree system (#5224)
- Add EquatorialCompression to Sphere (#5234)
- Revert failing commit hook on clang-format failure (#5248)
- Add some docs on Py formatting (#5204)
- Add OnSubsteps trigger to observe on substeps (#5241)
- Add Mutator protocol (#5253)
- Add truncation error estimate (#4725)
- Dynamically link FFTW3 if SpEC uses it (#5250)
- Avoid running out of disk space on CI (#5258)
- Convert some more error tests (#5225)
- Allow adaptive mesh refinement for ExportCoordinates (#5065)
Bugfixes (14):
- Fix Transpose using simd (#5116)
- Fix compiling Transpose.cpp on M2 Mac (#5113)
- Status CLI: recover from YAML parse error (#5124)
- Fix a typo in Poisson system docs (#5117)
- Minor fixes (#5129)
- Add Correct Gaussian3 Amplitude in BBH input files (#5147)
- Fix bug in XMF vector (#5159)
- Pin black version (#5170)
- Fix bug in computation of zero crossing predictor (#5142)
- Size unused tensor in IntrpTargetDetail (#5165)
- Add missing sqrt in calculation of W in SpEC ID (#5213)
- Handle relative paths in GenerateXdmf (#5215)
- Fix commit hook for older clang-format versions (#5251)
- Fix GH harmonic gauge FPEs (#5252)
Contributors (22): @nring21, @nilsdeppe, @nilsvu, @knelli2, @ajosorio3, @wthrowe, @ffoucart, @Sizheng-Ma, @yoonso0-0, @estherroselopez, @AlexCarpenter46, @aasthabagree21, @acifajkya, @mar-celine, @markscheel, @daniel20tellez, @isaaclegred, @guilara, @nikwit, @ermost, @kidder, @pajkosmi
- C++
Published by sxs-bot over 2 years ago
spectre - Release 2023.06.19
Upgrade instructions
From #4934 (Add OpeningAngle to BinaryCompactObject):
Add the new OuterShell.OpeningAngle option to BinaryCompactObject domains in input files. Set it to 90 to keep the previous behavior.
From #5026 (Switch Python formatting from yapf to black, also sort imports):
Python code is formatted with black and isort now instead of YAPF. Install it like this (make sure you run this in your Python env):
sh
pip install -r support/Python/dev_requirements.txt
Format Python code in the repo like this (or use autoformat in your editor):
black .
isort .
From #5045 (Move YlmSpherepack into namespace):
YlmSpherepack is ylm::Spherepack now.
From #5090 (Factor some code from Options.hpp into their own files):
- If you use Options::String, include Options/String.hpp instead of Options/Options.hpp
- If you use Options::Context, include Options/Context.hpp instead of Options/Options.hpp
- If you use PARSE_ERROR, include Options/ParseError.hpp instead of Options/Options.hpp
From #5079 (Write checkpoints to Checkpoints/ directory):
Checkpoints are now written in the format Checkpoints/Checkpoint_0123.
Merged pull-requests (88)
General changes (72):
- Add OpeningAngle to BinaryCompactObject (#4934)
- Make GH tags consistent with GR tags (#4991)
- Add Shape control to BBH (#5002)
- Add calculation of Adams-Moulton coefficients (#5001)
- Increase epsilon tolerance of testing TildeJ (#5004)
- Generalize and speed up stability test (#4982)
- Get CaltechHPC up and running again (#4993)
- Compute the Weyl scalar psi0 on the worldtube (#4005)
- Add More Pybindings for GR Functions and Tensor Types (#5011)
- Add debugging hint to message for uncaught exceptions (#5008)
- Add TCI on FD grid for ForceFree system (#5013)
- Change interface for evolution::dg::subcell::slice_data (#5014)
- Include step size in TimeStepId on substeps (#5012)
- Add separate dependencies bib (#5010)
- Add SizeControlSignal. (#4990)
- Validate CFF file before release (#5020)
- Remove template template from GHBase (#5018)
- Update RandomAmr to actually do random refinement (#5019)
- Speed up
Worldtube.Tagstest (#5032) - Add memory monitor to GH execs (#5015)
- Register BNS observers with Factory (#4891)
- Add python bindings for Weyl Propagating and Extrinsic Curvature (#5022)
- Put AMR options in group, add verbosity, fix averages (#5033)
- Speed up
InitializeElementFacestest (#5037) - Add control sys queue tags for size control (#4989)
- Pass grid to target velocity in Compute*Quantities (#4986)
- Add Ken Jones to Metadata.yaml (#5039)
- Add Python Bindings for weylmagnetic and weylmagnetic_scalar. (#5041)
- Add Pybindings for Weyl Electric (#5049)
- Remove 'A' from names in single BH exec (#5047)
- Add shifty quantity (#5036)
- Print stacktrace on segfaults (#5043)
- Add CLI endpoint to validate input files (#5025)
- Output flat logical metric in ExportCoordinates (#3597)
- Add
climake target (#5054) - Observe ADM integrals, radially compressed coords in SolvePunctures (#5038)
- Combine GH executables for analytic / numeric initial data (#4998)
- Include cli make target in some docs (#5056)
- Switch Python formatting from yapf to black, also sort imports (#5026)
- Add SpEC initial data classes (#4949)
- Add myself to Metadata.yaml (#5059)
- Add AdamsMoultonPc time stepper (#5017)
- Add Daniel Tellez to Metadata.yaml (#5064)
- Shorten GH exec file names (#5061)
- Upgrade Doxygen theme (#5063)
- Add SpEC ID to BBH and GHMHD executables (#5060)
- Move YlmSpherepack into namespace (#5045)
- Add size control diagnostics (#5027)
- Build Python docs with Sphinx (#5058)
- Clenshaw method (#4937)
- Account for the possibility of Subcell in BNSCenterOfMass (#5046)
- Add more Pybindings for GR (#5074)
- Allow control sys dense output during first time step (#5075)
- Add more size error diagnostics (#5071)
- Print prettier stacktraces (#3907)
- Rename usespartiallyflatcartesiancoordinates (#5024)
- Add index to TimeAndPrevious tag (#5073)
- Add reset function to size Info (#5072)
- Factor some code from Options.hpp into their own files (#5090)
- Increase timeout of rotation control sys test (#5087)
- Make stl_boilerplate sequence comparisons optional (#5085)
- Add subcell fluxes to ForceFree system (#5042)
- Add computation of inertial center(s) of mass in GhGrmhd code (#5050)
- Disable coverage CI build (#5092)
- Write checkpoints to Checkpoints/ directory (#5079)
- Make db::mutate_apply and db::mutate consistent (#5093)
- Add initial data TCI for ForceFree system (#5040)
- Add RAII class for saving and restoring FPE state (#5052)
- Add PyBindings for Time Derivative of Shift in GH (#5076)
- Represent segments/checkpoints in Python, use in status CLI (#5078)
- Created PyBinding for DerivativeSpatialMetric (#5098)
- Add subcell ghost data for ForceFree system (#5034)
Bugfixes (16):
- Make status CLI backwards compatible + some more fixes (#5007)
- Prevent density from old value overwrite (#5016)
- Remove whitespace from registration names (#5009)
- Fix cores/nodes in status CLI when job is pending (#4997)
- Validate user input in CleanOutput, find PhaseChange in input file, add build dir option to CLI (#5023)
- Work around H5 issue with signed chars (#5030)
- Add History::insertinplace and fix occasional test failure (#5055)
- Account for inverse roundoff in StrahlkorperInDiffFrame (#4994)
- Use correct mesh and jacobian for integrals with subcell (#5051)
- Have zero crossing predictor actually return min positive time (#5062)
- Fix some TOCs in docs (#5067)
- Somewhat fix ordering issues in interpolator (#5070)
- Constrain SpEC exporter threads to local node (#5077)
- Fix input file tests (#5080)
- Add missing includes for Utilities/TMPL.hpp (#5091)
- Fix element_name Documentation (#5097)
Contributors (19): @mar-celine, @nilsvu, @knelli2, @wthrowe, @yoonso0-0, @Sizheng-Ma, @AlexCarpenter46, @kidder, @nilsdeppe, @markscheel, @pajkosmi, @nikwit, @ffoucart, @kenzenjones, @daniel20tellez, @Bronoulli, @isaaclegred, @DavidWu421, @ajosorio3
- C++
Published by sxs-bot over 2 years ago
spectre - Release 2023.05.16
Upgrade instructions
From #4917 (Add Serialization library):
If you have one of the following files - src/Parallel/PupStlCpp11.hpp - src/Parallel/PupStlCpp17.hpp - src/Parallel/CharmPupable.hpp - src/Parallel/RegisterDerivedClassesWithCharm.hpp - src/Parallel/PupBoost.hpp - src/Parallel/Serialize.hpp
they are now in src/Utilities/Serialization/. Also, all functions in RegisterDerivedClassesWithCharm.hpp were moved from the Parallel namespace to the global namespace.
From #4926 (Organize control sys tags):
Tags previously found in ControlSystem/Tags.hpp can now be found in
- OptionTags -> ControlSystem/Tags/OptionTags.hpp
- QueueTags -> ControlSystem/Tags/QueueTags.hpp
- IsActive tag -> ControlSystem/Tags/IsActive.hpp
- remaining tags -> ControlSystem/Tags/SystemTags.hpp
From #4910 (Add option to use hard coded time dep maps in Sphere):
If you are using the Sphere domain creator, the name of the time dependent options has changed from
yaml
Sphere:
...
TimeDependence:
...
to
yaml
Sphere:
...
TimeDependentMaps:
...
To specify no time dependent maps, still use None as before like
yaml
Sphere:
...
TimeDependentMaps: None
From #4938 (Add versioning to coord maps and functions of time, add docs):
This change breaks deserialization of domains written into volume data files by older versions of the code (and is intended to prevent such breaking changes in the future). For tools that need the deserialized domain (e.g interpolate-to-coords or plot-power-monitors) use an older version of the code, or regenerate your volume data files with the upgraded code.
From #4942 (Improve YAML formatting of EventsAndTriggers):
In input files that use EventsAndTriggers, EventsAndDenseTriggers, or PhaseChanges, change the - - syntax to something like this:
yaml
EventsAndTriggers:
- Trigger:
Slabs:
Specified:
Values: [100]
Events:
- Completion
From #4940 (Promote input file metadata to YAML):
Every input file must now start with a metadata section terminated by ---, like this:
```yaml
Metadata here
Options start here
```
The metadata section may also be empty:
```yaml
Options start here
```
See the option parsing documentation for details.
From #4957 (Add debug prints to control system):
Add
yaml
ControlSystems:
...
Verbosity: Silent
to you input file with control systems. To turn on debug prints for the control system, change the verbosity to Verbose or Debug. Note that Debug will print things for every element of the domain.
From #4950 (Add shape control to single BH executable):
There must be a new ControlSystem: block in your input file for a SingleBH run like so:
yaml
ControlSystems:
WriteDataToDisk: false
MeasurementsPerUpdate: 4
Shape:
IsActive: false
Averager:
AverageTimescaleFraction: 0.25
Average0thDeriv: false
Controller:
UpdateFraction: 0.03
TimescaleTuner:
InitialTimescales: 0.2
MinTimescale: 1.0e-2
MaxTimescale: 10.0
IncreaseThreshold: 2.5e-4
DecreaseThreshold: 1.0e-3
IncreaseFactor: 1.01
DecreaseFactor: 0.98
ControlError:
From #4985 (Make GR tags parameter order consistent):
Change the order of template parameters to <DataType, Dim, Frame> wherever these three appear together (mostly in gr::Tags).
Merged pull-requests (59)
General changes (47):
- Add Serialization library (#4917)
- Add CLI status for SingleBH executable (#4921)
- Add references to metadata, forward to Zenodo + GitHub (#4919)
- Organize control sys tags (#4926)
- destvarsfromsrcvars now treats time-independent case with different tags. (#4907)
- Support high-order FD derivatives with DG-FD (#4918)
- Load config file in CLI (#4916)
- Unify phase control factory classes across evolution executables (#4933)
- Add ability to watch status command (#4935)
- Speed up status CLI (#4927)
- Add size function of time to Shape map (#4920)
- Add option to use hard coded time dep maps in Sphere (#4910)
- Add ability to specify colors/styles in
statuscommand (#4913) - Add worldtube observation action (#4925)
- Add Alfven wave solution to ForceFree system (#4893)
- Add two AMR actions used when creating new child elements (#4922)
- Delete generic DG fluxes (#4941)
- Add versioning to coord maps and functions of time, add docs (#4938)
- Improve YAML formatting of EventsAndTriggers (#4942)
- Promote input file metadata to YAML (#4940)
- Add debug prints to control system (#4957)
- Add remaining AMR actions (#4952)
- Add shape control to single BH executable (#4950)
- Rename Lmax to LMax for consistency (#4979)
- Add Python Binding for Psi4Real (#4965)
- Support observe actions in parallel GMRES (#4924)
- Rename
GeneralizedHarmonicnamespace togh(#4978) - Avoid DataBox access in threaded code (#4981)
- Combine tests, reorganize debugging code (#4960)
- Create larger work area for LAPACK call (#4954)
- Record diagnostics about adaptive stepping (#4953)
- Filter job steps in status CLI (#4971)
- Smooth out simulation speed estimate in status CLI (#4973)
- Repack H5 file in
delete-subfilesCLI (#4946) - Clean up docs and code in Shape control error (#4980)
- Add Shape map to BCO domains (#4849)
- Make GR tags parameter order consistent (#4985)
- Allow extract-dat to extract single subfile to stdout (#4988)
- Add second way to specify shape coefs in sphere creator (#4984)
- Allow control sys Info and state to be copyable (#4987)
- Add StrahlkorperInDifferentFrameAligned (#4967)
- Make some Adams-Bashforth helpers public (#4995)
- Factory-create numeric initial data (#4977)
- Add projection matrices for cell faces (#4948)
- Add DirichletAnalytic boundary condition to ForceFree system (#4890)
- Add FD reconstructor base tags to ForceFree (#4959)
- Add TCI on DG grid for ForceFree evolution system (#5000)
Bugfixes (12):
- Fix Zenodo references (#4928)
- Minor fix in ObserveFields (#4929)
- Fix incorrect header for BBH status (#4932)
- Allow sphere transition inverse to handle epsilon (#4931)
- Fix status CLI for jobs running in same work dir (#4936)
- Fix num orbits in BBH status (#4930)
- Minor fixes on GRMHD TCIs (#4939)
- Fix helpoptionnames in standalone Py scripts (#4963)
- Fix C-Fortran interface argument conventions (#4956)
- Fix debug print in control system (#4975)
- Fix conflict between merged PRs (#4976)
- Fix bug in filter by block tag creation (#4999)
Contributors (10): @knelli2, @nilsvu, @markscheel, @nilsdeppe, @nikwit, @yoonso0-0, @kidder, @wthrowe, @AlexCarpenter46, @ffoucart
- C++
Published by sxs-bot almost 3 years ago
spectre - Release 2023.04.07
Upgrade instructions
From #4874 (Enforce 3-con in GH numeric initial data):
After this change, all numeric initial data for generalized-harmonic evolutions enforce that the three-index constraint vanishes at the initial time.
From #4875 (Allow different boundary conditions in Brick):
Change input files from:
BoundaryCondition: Periodic
to
BoundaryConditionInX: Periodic
BoundaryConditionInY: Periodic
BoundaryConditionInZ: Periodic
From #4867 (Add ability to filter by block):
If you are using filtering, change the DisableForDebugging: option to Enable: and also add a new option BlocksToFilter:. This new option is either All or a vector of block names.
From #4897 (Add spectre status CLI endpoint ):
Add pandas and humanize to your Python environment. An easy way to update your Py env is this:
```
in your Py env
pip install -r support/Python/requirements.txt ```
Merged pull-requests (91)
New features (5):
- Add and use weighted element distributions (#4713)
- Add worldtube executable (#4833)
- Add observer at extremum (#4831)
- Support GHMHD numeric initial data (#4848)
- Add
spectre statusCLI endpoint (#4897)
General changes (72):
- Speed up IterElements a bit (#4820)
- Add
GridtoInertialInverseJacobiancompute tag (#4817) - Print full command upon startup (#4811)
- Observe hydro quantities in XCTS solver (#4815)
- Write control system damping timescales to disk (#4823)
- Improve dox for Shape/Size maps. (#4822)
- Added function to find contour in an element. (#4732)
- Add AO derivs support (#4821)
- Add Peter James Nee as a contributor. (#4836)
- Merge Shell into Sphere domain creator (#4772)
- Rename Lambda to FunctionOfTime when writing control sys to disk (#4835)
- Add time stepping to worldtube (#4826)
- Increase test timeout for gcc-10 Debug build (#4838)
- Add
CheckInputFiletag (#4834) - Print pretty walltime in ObserveTimeStep event (#4841)
- Prepare loading GHMHD initial data from files (#4829)
- Add 1st order puncture field (#4843)
- Add miscellaneous changes needed for Charm++ messages (#4805)
- Add ExcisionBoundaryA and B to EvolveGhBinaryBlackHole (#4852)
- Allow specifying single RadialDist in Sphere (#4839)
- Add electric current density (Ohm's law) to ForceFree system (#4711)
- Add curved area element (#4743)
- Refactor CylBBH test (#4824)
- Modernize CSW System (#4860)
- Do time stepping per-system (#4853)
- Have the control system work in the Distorted frame (#4813)
- Improve CSW characteristics calculations (#4858)
- Make TimeStepperHistory an initialization mutator (#4859)
- Refactor CSW
UpwindPenalty(#4862) - Rename NeighborDataForReconstruction tag to GhostDataForReconstruction (#4855)
- Don't print traceback for incorrect CLI command (#4869)
- Add
ChangeSlabSizeaction to worldtube singleton (#4830) - Add db::creationtag and db::tagdepends_on metafunctions (#4782)
- Add GhostData class (#4854)
- Allow the use of simple cartesian grid around compact objects (#4840)
- Add real spherical harmonics implementation (#4865)
- Check type of tensor observed at extremum in constructor (#4850)
- Clean up the time dependent options for BCO domains (#4844)
- Enforce 3-con in GH numeric initial data (#4874)
- Add CharSpeed control system measurement (#4879)
- Adaptive order derivatives in GRMHD (#4837)
- Allow read access to inboxes in DistributedObject (#4876)
- Allow different boundary conditions in Brick (#4875)
- Change storage type of NeighborDataForReconstruction tag (#4856)
- Rewrite AdamsBashforth LTS to reduce allocations (#4877)
- Template Shape control on measurement (#4878)
- Add Ylm to STF conversion up to l=2 (#4866)
- Make Worldtube use STF tensors (#4881)
- Remove default template to ApplyBoundaryCorrections (#4887)
- Transform time derivative of regular field to grid frame (#4885)
- Enable worldtube evolution at 1st expansion order (#4883)
- Add compute tag for time deriv of strahlkorper (#4884)
- Add
TraceSpacetimeChristoffelSecondKindtag (#4886) - Add function for determining new neighbors after h-refinement (#4880)
- Add
TimeDerivativeaction to worldtube (#4896) - Add InitializeSpacetimeTags mutator (#4894)
- Improve error messages when parsing a variant (#4895)
- Remove includes of ParseOptions.hpp from some headers (#4888)
- Add 2nd order puncture field (#4898)
- Add
ObserveLineSegmentto worldtube (#4899) - Add ability to filter by block (#4867)
- StrahlkorperCoordsInDifferentFrame: time-indep map (#4901)
- Stop passing enthalpy to ConservativeFromPrimitive (#4908)
- Dump reconstruction method (#4904)
- Name change in Metadata author list (#4909)
- Run events on failure grmhd (#4905)
- Initialize constraint gammas for worldtube scheme (#4902)
- Implement second order worldtube evolution (#4903)
- Factor out time dep maps for BCO domains (#4847)
- Enable 2nd order worldtube tests (#4915)
- Add action to initialize a newly created child element during adaptive mesh refinement (#4906)
- Add boundary conditions to GRMHD supporting high-order FD (#4914)
Bugfixes (14):
- Minor worldtube fixes (#4825)
- Allow con2prim after tci fail with DG clamp (#4816)
- Fix History equality operator (#4828)
- No fd element with dg block neighbor at initialize (#4842)
- Fix evolution DgElementArray round robin proc skipping and info (#4845)
- Fix bug in
Composition(#4851) - Fix comment in CylBinaryCompactObject (#4861)
- Correct name of executable for PlaneWave3D tutorial (#4863)
- Fix some CMake targets (#4870)
- Correct options to generate-xdmf in tutorials (#4864)
- Add missing instantiation to OrszagTangVortex (#4882)
- Fix bug in maps list of ScalingAndZRotation time dependence (#4889)
- Increase amr test timeouts (#4900)
- Fix bulged frustum inverse (#4892)
Contributors (14): @nilsvu, @nikwit, @knelli2, @pajkosmi, @wthrowe, @markscheel, @PunJustice, @nilsdeppe, @macedo22, @ffoucart, @mar-celine, @yoonso0-0, @geoffrey4444, @kidder
- C++
Published by sxs-bot almost 3 years ago
spectre - Release 2023.03.09
Upgrade instructions
From #4646 (Support derivatives and integrals in ApplyPointwise, rename to TransformVolumeData):
spectre apply-pointwise is now spectre transform-volume-data (or spectre transform-vol).
From #4697 (CylBinaryCompactObject: add equiangular map.):
When using the CylindricalBinaryCompactObject domain creator one must now specify UseEquiangularMap. Setting this option to false gives the previous behavior.
From #4718 (Add radial partitions, radial grid point distributions, block names + groups to Sphere domain):
To now use the upgraded Sphere domain there will be 3 changes needed to existing .yaml files that have previously used the Sphere domain:
RadialPartitioning:specifies the distance from the origin where a radial partition will occur. For example specifyingRadialPartitioning: [2]withInnerRadius: 1andOuterRadius: 3will create 2 sets of 6 separate wedges who share an interface at a distance of 2 from the origin. Likewise,RadialPartitioning: [1.3, 1.4, 1.5]would create 4 sets of 6 wedges.- Given
RadialPartitioning, theRadialDistribution:must have a number of elements equal to the number of entries inRadialPartitioning+ 1. For the above example ofRadialPartitioning: [1.3, 1.4, 1.5], one could chooseRadialDistribution: [Linear, Linear, Linear, Logarithmic]. This sets the radial gridpoint spacing of the innermost 3 shells to be linearly spaced and the radial gridpoint spacing of the outermost shell to be logarithmically spaced. InitialRefinement:now specifies refinement levels based on different portions of the domain. For the above example one could choose:yaml InitialRefinement: InnerCube: [4,4,4] Shell0: [3,3,3] #innermost shell Shell1: [2,2,2] Shell2: [1,1,1] Shell3: [1,1,1] #outermost shellspecifying the two angular refinement levels and the last entry is the number of refinement levels in the radial direction. Furthermore a selection of
yaml InitialRefinement: InnerCube: [4,4,4] Wedges: [3,3,3]would apply a refinement level of 3 to all wedges outside of the inner cube.
From #4745 (Fix library dependencies in Domain):
The src/Domain/OptionTags.hpp file has been moved to src/Domain/Creators/OptionTags.hpp
The following tags are now located in the src/Domain/Creators/Tags/ directory with a different hpp file for each tag. The name of the file is the name of the tag:
- domain::Tags::Domain
- domain::Tags::InitialExtents
- domain::Tags::InitialRefinementLevels
- domain::Tags::Block{Names, Groups} (in same file called BlockNamesAndGroups.hpp)
- domain::Tags::ObjectCenter
- domain::Tags::FunctionsOfTimeInitialize (the file is just called FunctionsOfTime.hpp. The base tag is still located in src/Domain/FunctionsOfTime/Tags.hpp so if you only need to use the base tag to access the functions of time from the GlobalCache, you can use the old file. If you need to initialize functions of time with a tag, use the new file)
From #4756 (Remove intermediate cubed shell in BBH domain):
In input files using the BinaryCompactObject domain, remove the EnvelopingCube.Sphericity option and the OuterShell.InnerRadius option. EnvelopingCube is now just Envelope, and OuterShell.OuterRadius is now OuterShell.Radius.
From #4803 (Add Rk5Tsitouras time stepper):
Rk5Tsitouras is stable for a larger step size and claims to be a moderate (~10%) improvement over DormandPrince5. If you are running evolutions you may want to try it.
From #4754 (Support grid point distributions in Interval domain creator, refactor tests):
If you use the 1D Interval domain creator, add the Distribution: Linear and Singularity: None options to keep the previous behavior. The Interval domain creator now supports logarithmic and inverse grid point distributions as well.
Merged pull-requests (98)
New features (5):
- Extend Xcts::WrappedGr to GRMHD (#4712)
- Add radial partitions, radial grid point distributions, block names + groups to Sphere domain (#4718)
- Refactor Render1D (#4757)
- Add Rk5Tsitouras time stepper (#4803)
- Plot power monitors over time, filter by element (#4799)
General changes (82):
- Make small optimization to ComputeTimeDerivative (#4705)
- Add more Jacobians to Compute VolumeQuantities files (#4709)
- Add bounds on electron fraction and beta equilibrium Ye (#4467)
- Support derivatives and integrals in ApplyPointwise, rename to TransformVolumeData (#4646)
- Add a quick way to launch a REPL with pybindings (#4696)
- Remove domain namespace from within amr namespace (#4716)
- Add additional check for testing Block connectivity (#4717)
- Use mpi-smp charm on CI (#4673)
- Add abutting direction per element to
ExcisionSphere(#4719) - Add SlabJet analytic data (#1224)
- Factor comoving magnetic field into free function, add hydro StressEnergy functions (#4715)
- Add AMR criterion to Punctures (#4699)
- CylBinaryCompactObject: add equiangular map. (#4697)
- Add
euclidan_surface_jacobian(#4722) - Add new receive_data entry method to DistributedObject (#4674)
- Fix finding libsharp and Numpy (#4731)
- Add Transformed Shift with Mesh Velocity (#4734)
- Organize control system measurements (#4728)
- Only include object centers tags if needed (#4735)
- Add Single horizon measurement (#4729)
- Upgrade HDF5 on Wheeler (#4742)
- Rewrite History (#4704)
- Add weights for FD integration (#4698)
- Move ObjectLabel from Domain to DomainStructure (#4746)
- Unify naming pattern of excision spheres (#4747)
- Add derivation of ConstraintPreserving BCs of CSW to docs and fix typo (#4733)
- CSW: Add
evolved_from_characteristic_fieldsoverload (#4752) - Control when we ObserveCenters from input file in BBH (#4744)
- Adds a mutator that calculates the coordinates of element faces abutting the worldtube (#4726)
- Allow reference tags to list multiple arguments (#3142)
- Add invoke and apply to TaggedContainers.hpp (#4737)
- Support any MathFunction in Poisson solver (#4751)
- Update installation instructions on Apple Silicon, suppress linker warnings (#4703)
- Speed up BBH domain tests (#4755)
- Further reduce number of allocations in InternalMortarDataImpl (#4750)
- Support exit codes (#4758)
- Add distorted frame to shape time dependence (#4736)
- Add reduction action for AMR diagnostics (#4759)
- Delete Tags::BlockNames and Tags::BlockGroups (#4763)
- Use preinstalled Py env on Wheeler (#4768)
- Find apparent horizon in distorted frame (#4720)
- Add worldtube boundary conditions to CSW (#4753)
- Add
CenteredFaceCoordinatescompute tag (#4771) - Add
InertialParticlePositioncompute tag (#4775) - Add Worldtube ExpansionOrder tag (#4774)
- Minor CI cleanup, revive coverage build on CI, update ccache sizes (#4762)
- Add 0th order puncture field to CurvedScalarWave (#4760)
- Send cell centered fluxes (#4739)
- Have time steppers overwrite in update_u again (#4748)
- Cell centered flux tags (#4738)
- Upgrade codecov action on CI (#4778)
- Add high order flux correction for Cartesian meshes (#4688)
- High order cleanups (#4787)
- Add fd::DerivativeOrder enum (#4788)
- Use shape map in AH finder test (#4781)
- Send cell centered fluxes with FD. (#4786)
- Use history instead of separate rollback values (#4783)
- Base RK substeps off step start value (#4785)
- Remove intermediate cubed shell in BBH domain (#4756)
- Allow the control system to use NS centers of mass as measurements (#4769)
- Ignore FD elements in PlotPowerMonitors (#4796)
- Generalize FaceCenteredCoordinates to Frame and Centered (#4776)
- Add PunctureField compute tag (#4780)
- Fix SSP property of Rk3HesthavenSsp (#4795)
- Test backwards evolution in an integration test (#4807)
- Put GRMHD equations to the system struct docs (#4770)
- Add more std::array helpers (#4797)
- Add spectre EOS reader to tabulated equation of state (#4468)
- Add wrappers around high-order flux correction computation (#4791)
- Refactor high order flux correction (#4800)
- Adds infrastructure and actions for elements to send data to the worldtube (#4798)
- Add radially compressed coordinates (#4793)
- Support grid point distributions in Interval domain creator, refactor tests (#4754)
- Add actions to send data from worldtube to abutting elements (#4804)
- Add CharacteristicSpeedsOnStrahlkorper to ExcisionBoundary in EvolveGeneralizedHarmonicSingleBlackHole (#4749)
- Split PyTensor instantiations into multiple files (#4810)
- Add integrands for BNS observers (#4802)
- Add CMake flag to enable debug checks in release (#4789)
- Return reconstruction order from ppao (#4801)
- High order fd for grmhd (#4809)
- Add distorted frame to BBH domains (#4792)
- Grmhd AO recons (#4819)
Bugfixes (11):
- Add missing include to Test_JacobianDiagnostic.cpp (#4714)
- Fix bug in GHMHD time derivative (#4721)
- Fix component naming in shape control system (#4727)
- Revert "Find NumPy with CMake's built-in FindPython" (#4740)
- Fix library dependencies in Domain (#4745)
- Use iterable approx in control error tests (#4779)
- Fix typo in Kerr Schild comment (#4790)
- Use CHECKITERABLEAPPROX in TE Product test (#4784)
- Get EvolveGhCceGaugeWave to compile again (#4808)
- Add more small fixes to GH+CCE (#4812)
- Instantiate electron fraction for RiemannProblem (#4814)
Contributors (13): @knelli2, @gsb76, @ermost, @nilsvu, @nilsdeppe, @kidder, @nikwit, @markscheel, @wthrowe, @ffoucart, @pajkosmi, @macedo22, @yoonso0-0
- C++
Published by sxs-bot almost 3 years ago
spectre - Release 2023.02.09
Upgrade instructions
From #4604 (Add option to export FD coordinates in ExportCoords executable):
Add an option called ActiveGrid: to the SpatialDiscretization: block of your ExportCoordinates input file. Choose either Dg or Subcell for the active grid.
From #4612 (Replace CheckCxxLinkerFlag module with CMake one):
The minimum version of CMake has been increased to 3.18.
From #4438 (Interpolate initial data to evolution domain):
If you have an Importers: section in your input file, add Interpolate: False to it to keep the current behavior of just loading data directly to the grid points. Set Interpolate: True to interpolate the data to your domain.
From #4623 (Run events on failure (added to GHMHD)):
You need to specify the following in the input file:
EventsRunAtCleanup:
For example, if you want to dump volume data on failure use:
```
EventsRunAtCleanup:
- ObserveFields:
VariablesToObserve:
[RestMassDensity, SpecificInternalEnergy, Pressure,
SpecificEnthalpy, SpatialVelocity, LorentzFactor,
MagneticField, DivergenceCleaningField,
TildeD, TildeTau, TildeS,
SpacetimeMetric, Pi, Phi,
Error(RestMassDensity),
Error(SpacetimeMetric),
Error(Pi), Error(Phi),
Error(SpatialVelocity),
TciStatus
]
SubfileName: FailureVolumeData
InterpolateToMesh: None
CoordinatesFloatingPointType: Double
FloatingPointTypes: [Double]
OverrideObservationValue: 0.0
```
ObserveFields now needs to specify an OverrideObservationValue which should be None except for in the EventsRunAtCleanup where it can be any value (0.0 is a reasonable choice, or a value less than the start of an evolution, e.g. -1.0)
From #4634 (Remove StepControllers):
Remove any "StepController" options from your input files. The "BinaryFraction" value is now used unconditionally.
From #4676 (Enable equiangular maps in BBH domain):
In input files using the BinaryCompactObject domain creator, add the UseEquiangularMap: True option.
From #4706 (Add Bondi Sachs interpolation to BBH):
In your BBH input files, you'll need two new blocks:
yaml
InterpolationTargets:
BondiSachsInterpolation:
Lmax: 16
Radius: [100, 150, 200]
Center: [0, 0, 0]
AngularOrdering: Cce
and
yaml
Cce:
BondiSachsOutputFilePrefix: "BondiSachs"
Merged pull-requests (89)
New features (8):
- Add ApplyPointwise to Python CLI (#4561)
- Interpolate initial data to evolution domain (#4438)
- Run events on failure (added to GHMHD) (#4623)
- Add power monitors (#4622)
- Add jacobian diagnostic to ExportCoordinates (#4660)
- Add Punctures analytic data and executable (#4635)
- Add script to plot power monitors (#4663)
- Tabulated equation of state (#4422)
General changes (70):
- Add t-dep maps to CylindricalBinaryCompactObject (#4491)
- Add the system struct of GRFFE system (#4440)
- Improvements and bug fixes for GHMHD evolutions, part 0 (#4602)
- Add option to export FD coordinates in ExportCoords executable (#4604)
- Volume term instantiation for ForceFree system (#4608)
- Communcate TCI status between neighbor elements (#4618)
- Add iter_elements Python function (#4556)
- Replace CheckCxxLinkerFlag module with CMake one (#4612)
- Remove separate RK error tableaus (#4613)
- Add stream operator for MortarData (#4614)
- GHMHD TCI improvements, GHMHD filtering, GHMHD test (#4620)
- Factor elliptic solver stack out of XCTS metavars (#4552)
- Add Punctures docs and system (#4549)
- Improve enthalpy test documentation (#4625)
- GHMHD high-order GH var reconstruction at DG-FD interfaces (#4621)
- Add stream operator for BoundaryHistory (#4617)
- Add Composition coord map (#4605)
- Update copyright year to 2023 (#4627)
- Add simple helper methods and sanity checks for TimeStepIds (#4626)
- Remove chained creation of distributed objects (#4624)
- Print input file with syntax coloring in Python CLI (#4631)
- Allow specifying which blocks are allowed to do subcell (#4628)
- Remove GeneralIndexIterator (#4632)
- Add some AMR helper functions (#4629)
- Add Rusanov boundary correction to ForceFree system (#4609)
- Have MortarData store DataVectors rather than std::vector (#4636)
- Decrease initial step size in TOV integrator, switch conformal factor interpolant to CubicSpline (#4539)
- Add new inbox tag that uses BoundaryMessage (#4643)
- Add profiling to Python CLI (#4639)
- Make Jacobians available in Python (#4630)
- Store block names and groups in Domain/Block, bind in Python (#4641)
- CylindricalBinaryCompactObject: add ExcisionSpheres. (#4526)
- Disable HDF5 file locking to prevent crashes (#4633)
- Add XCTS TOV solution, enabling simple head-on BNS initial data (#3903)
- Add Punctures ADM mass (#4637)
- Jacobian diagnostic (#4644)
- Add more descriptions on the Ohms law to ForceFree evolution system documentation (#4659)
- Add the fast wave analytic solution to ForceFree system (#4615)
- UniformTranslation: add distorted frame. (#4652)
- Add ScalarWaveWorldtube library (#4654)
- Add resubmit capability to Wheeler submit script (#4638)
- Remove StepControllers (#4634)
- Increase timeout of control system Shape test (#4667)
- Allow transform to Distorted frame. (#4661)
- Add distorted frame to blocklogicalcoordinates (#4653)
- Add worldtube excision sphere tag (#4655)
- Add
this_machinePython function (#4642) - Only use charm built with gcc on CI (#4677)
- Add functions to determine new Mesh after refinement (#4675)
- Add FFE breakdown problem analytic data to ForceFree system (#4640)
- Various minor time-related test cleanup (#4664)
- Add function to get refinement levels from an ElementId (#4679)
- Add function to copy mutable creation items from DataBox into a TaggedTuple (#4678)
- StrahlkorperCoords src can be Frame::Distorted. (#4665)
- Add pybindings for Jacobian diagnostic (#4685)
- Add an AMR refinement criterion useful for testing (#4691)
- Enable equiangular maps in BBH domain (#4676)
- Add StaticDeque (#4658)
- Enable no-math-errno and reciprocal optimizations. (#4693)
- Change
ExcisionSphere::center()return type totnsr::I<double, 3, Frame::Grid>(#4666) - Prevent an Element from splitting and joining at the same time (#4701)
- Add input file for head-on BNS initial data (#4683)
- Add ExcisionBoundaryA InterpolationTarget to EvolveGhSingleBlackHole (#4518)
- Pass rdmp size to ghost data (#4689)
- Add executable to dump EOS for RotNS (#4687)
- Add object centers tags (#4686)
- Add Bondi Sachs interpolation to BBH (#4706)
- Implicitly convert Numpy arrays to Tensors (#4680)
- Work around version bug in Blaze 3.8.2 (#4708)
- Improve documentation for amr::Criterion (#4707)
Bugfixes (11):
- Fix spelling in Metadata.yaml (#4606)
- Pin macOS version on CI (#4607)
- Fix BoundaryMessage on macOS (#4616)
- Fix unused variable warning in H5/File.cpp (#4671)
- Fix warnings from GNU grep 3.8 (#4681)
- Fix order of objects in Binary initial data (#4684)
- Psi4 Fix (#4647)
- Fix floating point bug in Test_Tov.cpp, ASSERT/ERROR print to full precision (#4692)
- Fix PiecewisePolytropicFluid Python test, add some bindings (#4682)
- Fix cartesian_product dox (#4700)
- Fix missing include in AMR code (#4702)
Contributors (14): @markscheel, @nilsvu, @yoonso0-0, @nilsdeppe, @knelli2, @wthrowe, @kidder, @isaaclegred, @guilara, @geoffrey4444, @nikwit, @AlexCarpenter46, @ermost, @gsb76
- C++
Published by sxs-bot about 3 years ago
spectre - Release 2023.01.13
Upgrade instructions
From #4271 (GH+CCE for a gauge wave):
I add one more template to SendGhWorldtubeData so that it can distinguish between LTS and GTS. Please remember to update your CceWorldtubeTarget @knelli2
From #4520 (Refine GenerateXdmf command-line interface):
When invoking spectre generate-xdmf pass a file glob instead of --file-prefix, like this:
spectre generate-xdmf path/to/VolumeData*.h5 -d SubfileName -o OutputName
You can also pass a single file now, which is useful for surface data like AH finder output.
Omit the subfile name to print all available subfiles.
From #4548 (Add Render1D.py to Python CLI):
Invoke spectre render-1d -h to run the Render1D.py script.
From #4472 (Add InterpolateVolumeData.py to Python CLI):
Invoke spectre interpolate-vol -h to run the InterpolateVolumeData script.
From #4532 (Swap meaning of objects A and B in BinaryCompactObject domain creator):
When using the BinaryCompactObject domain creator, make sure that ObjectA is on the right (on the positive x-axis) and ObjectB is on the left (on the negative x-axis).
From #4366 (Rename some of the time steppers):
Some of the time steppers have been renamed. Update your input files accordingly:
- AdamsBashforthN -> AdamsBashforth
- Cerk2 -> Heun
- RungeKutta4 -> ClassicalRungeKutta4
Merged pull-requests (43)
New features (3):
- Add subcell to GH+GRMHD executable (#4519)
- Add InterpolateToCoords script to Python CLI (#4565)
- Add post interp callback to dump metric data in Bondi-Sachs form (#4489)
General changes (35):
- Convert initialization action for time to mutator (#4513)
- GH+CCE for a gauge wave (#4271)
- Print exception type (#4525)
- Refine GenerateXdmf command-line interface (#4520)
- Remove Doxygen DOT_TRANSPARENT option (#4540)
- Update spectre apple silicon docs (#4542)
- Parallelize ExtractDatFromH5.py (#4457)
- Add toroidal field to GRMHD initial magnetic fields (#4488)
- Configure Python init files (#4543)
- Add Render1D.py to Python CLI (#4548)
- Bind CubicSpline and BarycentricRational in Python, add accessors, fix default-constructed serialization (#4538)
- Add
InterpolateVolumeData.pyto Python CLI (#4472) - Add DeleteSubfiles script (#4546)
- Fix writing functions of time in observer, bind Domain items in Python (#4547)
- Retrieve coordinate derivative of pressure from TOV star solution (#4462)
- Make ElementId hashable and comparable in Python (#4545)
- Return basis and quadrature enums in H5 (#4544)
- Swap meaning of objects A and B in BinaryCompactObject domain creator (#4532)
- Clean up Py CMake (#4553)
- Bind logical_coordinates, IrregularInterpolant in Python (#4551)
- Bind Tensor in Python (#4555)
- Add preload of jemalloc library to spectre script (#4550)
- Convert evolution::dg::Initialization::Domain from action to mutator (#4528)
- Bind block/elementlogicalcoords in Python (#4557)
- Bind create_domain in Python (#4558)
- Bind tensor derivatives in Python (#4560)
- Bind definite_integral in Python (#4566)
- Bind Tensor/EagerMath in Python (#4578)
- Rename some of the time steppers (#4366)
- Add Charm++ message for boundary data (#4563)
- Increase Test_BinaryCompactObject timeout (#4579)
- Add protections against missing excision spheres in control system (#4533)
- Observe the magnitude of comoving magnetic field in GRMHD (#4554)
- CylindricalBinaryCompactObject: use new maps. (#4469)
- Add docs to ah::ObjectLabel (#4534)
Bugfixes (5):
- Fix a bug at roundoff error in blocklogicalcoords (#4510)
- Fix bug in rootfind for enthalpy parametrization (#4536)
- Fix issues with non-owning VectorImpls (#4524)
- Fix density and temperature bounds in Compose table reader (#4530)
- Ignore targets that don't use interpolator when cleaning interpolator (#4564)
Contributors (11): @nilsdeppe, @nilsvu, @kidder, @Sizheng-Ma, @isaaclegred, @wthrowe, @geoffrey4444, @knelli2, @ermost, @yoonso0-0, @markscheel
- C++
Published by sxs-bot about 3 years ago
spectre - Release 2022.12.16
Upgrade instructions
From #4406 (Split boundary conditions out of Domain):
Boundary conditions have moved. They are not stored in the Domain anymore but separately in domain::Tags::ExternalBoundaryConditions in the global cache.
From #4455 (Build Python CLI with click, rich and shell completion, add clean-output as an example):
Added the Python dependencies click and rich. Update your Python environment with pip install -r support/Python/requirements.txt. Make sure you are working in a Python venv before installing packages. Alternatively, you can set BOOTSTRAP_PY_DEPS=ON in your CMake configuration to have CMake manage the Python dependencies automatically in the build directory.
From #4456 (clean up and rename Initialization tags):
- Do not add ResourceInfo, AvoidGlobalProc0, or Singletons tags to tag lists.
- If you have an input file, you need to specify a ResourceInfo option, and if the executable has Singletons, you must specify the Singletons sub-option. To keep prior behavior use:
ResourceInfo: AvoidGlobalProc0: false Singletons: Auto - If you have specified explicit options for a singleton, you will need to do so for all singletons.
From #4477 (Add GenerateXdmf.py to Python CLI):
Invoke spectre generate-xdmf -h to run the GenerateXdmf.py script.
From #4437 (Dump Interpolator volume data on failure):
If your executable uses the Interpolator parallel component, you'll need to add the following block to your input file:
yaml
Interpolator:
DumpVolumeDataOnFailure: false
From #4475 (Add H5 extraction scripts to Python CLI):
- Invoke
spectre extract-input -hto run theExtractInputSourceYamlFromH5.pyscript. - Invoke
spectre extract-dat -hto run theExtractDatFromH5.pyscript.
From #4508 (Add PlotDatFile.py to Python CLI and refactor):
Invoke spectre plot-dat -h to run the PlotDatFile.py script.
Merged pull-requests (60)
New features (2):
- Build Python CLI with
click,richand shell completion, addclean-outputas an example (#4455) - Add piecewise polytrope EoS (#4465)
General changes (50):
- Initialize background metric variables when using runtime initial data (#4377)
- Add DG time derivative to ForceFree system (#4435)
- Update sphere domain creator (#4394)
- Split boundary conditions out of Domain (#4406)
- Multi-linear tabulated interpolation (#4243)
- Optionally bootstrap missing Py dependencies (#4445)
- Have SpECTRE control system act more like SpECs control system (#4254)
- Make some error messages more verbose (#4452)
- Add extra use case to UniformCylindricalSide (#4453)
- Use ObserverInverseJacobian in GaugeAndDerivative tag (#4454)
- Add SetPiFromGauge mutator to GH system (#4449)
- clean up and rename Initialization tags (#4456)
- Use runtime gauge condition in GH (#4450)
- Add filters for FD, e.g. KO dissipation (#4443)
- Add abstract base class for GRMHD initial magnetic fields (#4463)
- Don't override functions of time in BBH (#4458)
- Add poloidal initial magnetic field to GRMHD (#4476)
- Factor out detail namespace in ComputeHorizonVolumeQuantities (#4320)
- Amend publication policies and metadata (#4479)
- Use Auto singleton info holder in singleton pack (#4470)
- Add
GenerateXdmf.pyto Python CLI (#4477) - Reduce recomputations in damped harmonic (#4478)
- Eliminate remaining redundant computation from damped harmonic (#4480)
- Allow specifying which tags to reconstruct and support BCs in GH+GRMHD (#4425)
- Enable Pybindings by default (#4459)
- Allow sphere target to hold multiple spheres of different radii (#4460)
- Loosen da Hb tolerance in GH DuDt (#4497)
- Fix tags in GHMHD dirichlet analytic boundary condition (#4493)
- Make constructor explicit in GH CP BC (#4499)
- Factor GRMHD HydroFreeOutflow FD code into impl (#4502)
- SetPiFromGauge for GH+GRMHD (#4495)
- Ghmhd filter options (#4498)
- Add missing newline to ExtractionRadius print in CCE (#4504)
- Add subcell observer Jacobian tags (#4494)
- Add GHMHD boundary condition ghost data (#4481)
- FixedSpeedCubic: add stream operator. (#4490)
- Add KO dissipation filter to GRMHD (#4500)
- Add action to initialize DataBox items (#4486)
- Add DirichletFreeOutflow to GHMHD (#4507)
- Add NeighborPackagedData to GHMHD (#4506)
- Cleanup gh execs and pass LTS bool in as template parameter (#4492)
- Add support for Variables being passed to TimeDerivativeTerms (#4496)
- Add
CharmSimplifyTraces.pyto Python CLI (#4511) - GHMHD pass variables to time derivative (#4503)
- Dump Interpolator volume data on failure (#4437)
- Add GHMHD fd time derivative (#4509)
- Add GHMHD ConstraintPreservingFreeOutflow BC (#4512)
- Add H5 extraction scripts to Python CLI (#4475)
- Add
PlotDatFile.pyto Python CLI and refactor (#4508) - Make Enthalpy EoS improvements (#4483)
Bugfixes (8):
- Installation dox: refer to new docker containers. (#4471)
- Decouple metavariables and LTS in step chooser simple tags (#4466)
- Fix bug in UpdateU (#4485)
- Fix bugs in GRMHD NeighborPackagedData test (#4501)
- Fix types in GHMHD reconstruction (#4505)
- Interpolator only recognizes targets that use the Interpolator (#4451)
- Update Test_FileSystem to pass on macOS (#4517)
- Fix docs about GenerateXdmf (#4516)
Contributors (12): @yoonso0-0, @knelli2, @nilsvu, @ermost, @markscheel, @nilsdeppe, @kidder, @nikwit, @gsb76, @pajkosmi, @geoffrey4444, @isaaclegred
- C++
Published by sxs-bot about 3 years ago
spectre - Release 2022.12.02
Upgrade instructions
From #4376 (Split IO libs):
Instead of linking with IO, check if you should link with H5 or Observer instead.
From #4373 (Streamline ElementVolumeData):
TensorData.*hpp(withTensorComponentandElementVolumeData) has moved toIO/H5/.- The constructor of
ElementVolumeDatahas changed. The order of arguments is now: element_name, components, extents, basis, quadrature. There's also a convenience constructor that takes an ElementId, components, and a mesh.
From #4413 (Remove unused template parameter for DgDomain initializer):
If you passed in two or more template parameters to evolution::dg::Initialization::Domain, eliminate the second one.
From #4417 (Databox creation cleanup):
If you use db::create_from, just use db::create
From #4412 (Remove Initialization::Action::RemoveOptionsAndTerminatePhase):
- Remove type alias
initialization_tags_to_keep - Change
Initialization::Actions::RemoveOptionsAndTerminatePhasetoParallel::Actions::TerminatePhase>
From #4419 (Drop Python 2 support):
If you're using Python 2, stop doing that. Upgrade to Python 3.7+ and never look back.
From #4430 (Remove initial time databox tag):
Replace Initialization::Tags::InitialTime with ::Tags::Time
Merged pull-requests (73)
New features (1):
- Core-collapse Supernova Profile Readin (#4350)
General changes (59):
- Split IO libs (#4376)
- Dump volume data from interpolator upon failure (#4280)
- Make Test_FileSystem independent of working tree (#4368)
- Add ForceFree to the ctest labels (#4384)
- Raise SIGTRAP in Blaze when in debug mode (#4371)
- Clean up StepChooser interface (#4372)
- Streamline ElementVolumeData (#4373)
- Support runtime initial data and boundary conditions in ScalarWave (#4336)
- Add
ObserveLineSegmentcallback (#4295) - Use ccache module on Wheeler (#4386)
- Move functions into anonymous namespaces and similar (#4381)
- Parse ElementId from string representation (#4380)
- Make tests for ExtractDatFromH5 in build directory (#4392)
- Cleanup code coverage and document it (#4385)
- Add tags and fluxes to the ForceFree evolution system (#4344)
- Write domain into H5 volume files (#4378)
- Compute gauge constraint terms last in GH RHS (#4333)
- Allow assigning a subset of tags to a Variables (#4332)
- Add runtime initial data to GH (#4337)
- Add XSIMD and Blaze interoperability (#4390)
- Increase tolerance of HydroFreeOutflow test (#4389)
- Add largest characteristic speed to FFE system (#4346)
- Add periodic boundary condition to ForceFree system (#4400)
- Don't print warning about cleanup phase in DistObj (#4411)
- Add Psi4 to GeneralRelativity (#4317)
- Prepare for serializing domains into output files (#4407)
- Allow correcting only a subset of variables when rolling back (#4339)
- Compute derivatives of spacetime variables in GH+GRMHD (#4327)
- Remove unused template parameter for DgDomain initializer (#4413)
- Damped harmonic cleanups, part 1 (#4410)
- Add function halfpiandphitwo_normals (#4414)
- Print error messages better during cleanup (#4402)
- Initialize tuners properly for rotation (#4395)
- Print walltime at phase change (#4423)
- Compute source terms in the ForceFree evolution system (#4351)
- Add largest char speed for GH+GRMHD (#4409)
- Databox creation cleanup (#4417)
- Remove Initialization::Action::RemoveOptionsAndTerminatePhase (#4412)
- Use TimeAndPrevious tag for control sys IntrpTargetTags (#4396)
- Make UniformRotation time dependence just Rotation (#4421)
- Choose if control systems are active at runtime (#4416)
- Drop Python 2 support (#4419)
- Add compute tag for subcell mesh (#4431)
- Store EOS in global cache (#4426)
- Add some resource info into the GlobalCache (#4294)
- New epsilon in ZeroCrossingPredictor test. (#4436)
- Add analytic gauge condition to GH (#4405)
- Remove initial time databox tag (#4430)
- Add DirichletAnalytic boundary condition for GHMHD (#4427)
- Remove db::remove (#4424)
- Add boundary correction base class for ForceFree system (#4429)
- Add function to print diagnostic info related to the domain (#4428)
- Add UniformCylindricalSide. (#4247)
- List Py dependencies in a requirements.txt file (#4432)
- Add Shape TimeDependence to Creators (#4398)
- Add UniformCylindricalFlatEndcap. (#4267)
- GHMHD system class cleanup: use largest char speed and remove cyclic include (#4444)
- Gauge observer tags (#4442)
- Add dispatch function for gauge conditions (#4441)
Bugfixes (13):
- Fix #4374 (#4375)
- Fix ObserveLineSegment (#4388)
- Avoid roundoff error in boost odeint in QuatFoT (#4391)
- Don't dump volume data from the interpolator upon failure (#4404)
- Fix GenerateXdmf for #4378 (#4403)
- Ensure random_lapse is not too close to zero (#4401)
- Fix exception-safety issues with DataBox and locks (#4420)
- Fix output errors on subcell (#4418)
- Fix issue with
PY_DEV_MODE, consistently passPYTHONPATHto unit tests (#4434) - Fix DistributedObject for tracing (#4439)
- Fix depth when simplifying charm traces (#4446)
- Increase a test timeout (#4448)
- Add newline to InitializeJ print statement (#4447)
Contributors (12): @nilsvu, @knelli2, @wthrowe, @yoonso0-0, @nilsdeppe, @nikwit, @pajkosmi, @geoffrey4444, @AlexCarpenter46, @kidder, @markscheel, @gsb76
- C++
Published by sxs-bot about 3 years ago
spectre - Release 2022.11.15
Upgrade instructions
From #4163 (Introduce electron fraction to GrMhd modules):
The electron fraction needed to be added to all tests, and interfaces involved GrMhd routines. This might affect existing codes calling any GrMhd function that is not included in the development branch.
From #4299 (Remove CCE dependency from Interpolation):
src/ParallelAlgorithms/Interpolation/Callbacks/SendGhWorldtubeData.hpp has been moved to src/Evolution/Systems/Cce/SendGhWorldtubeData.hpp
From #2690 (Remove redundant SPECTREMACOSXMIN option):
If you're building on macOS, check if you are configuring CMake with the MACOSX_MIN option. If you do, replace it with the standard CMAKE_OSX_DEPLOYMENT_TARGET. You may also want to use this option if you are getting "built for newer macOS version than being linked" warnings.
From #4357 (Gh mesh velocity damping):
The generalized-harmonic time derivative and characteristic speeds now take additional parameters because of the newly introduced dependence on the mesh velocity.
Merged pull-requests (85)
New features (1):
- Add minimal executable that finds apparent horizons in numeric volume data (#3819)
General changes (73):
- Change tolerance in Test_PredictedZeroCrossing. (#4268)
- Add structured bindings support to Variables (#4265)
- Updating Cce input file to have higher LMax and finer time sampling (#4262)
- Add orient functions for DataVectors (#4192)
- Allow custom Metavariables in DG boundary condition tests (#4258)
- Add positivity-preserving adaptive order reconstruction (#4167)
- Add more documentation to YlmSpherepack. (#4264)
- Add summation by parts FD derivative operators (#4207)
- Compute trace Christoffel from GH vars better (#4259)
- Add Shape control system (#4232)
- Add GH Gauge base class and Harmonic derived class (#4256)
- Add cell-centered FD derivatives (#4206)
- Make db::constitemtype public, add observer tags for Jacobians and mesh velocity (#4273)
- Add clangd cache to git ignore files (#4281)
- Work towards eliding unnecessary DG-FD projects (#4178)
- Add more overloads of todifferentframe (#4272)
- Avoid unnecessarily communicating new slab sizes (#4279)
- Add and update profiling documentation. (#4186)
- Loosen tolerance on control sys shape test (#4289)
- Increase timeout for product of sinusoid tests (#4292)
- Have VectorImpl use static allocation for small sizes (#4274)
- Combine sub libraries into GH (#4285)
- Add 7th & 9th order FD reconstruction for PPAO (#4174)
- Enable catch STL printing (#4296)
- Clear GR solutions a bit (#4284)
- Introduce electron fraction to GrMhd modules (#4163)
- Remove deprecated
std::binary_function(#4303) - Suppress g++12 warning about array bounds (#4304)
- Add REaDT postprocessor to check functions of time (#4300)
- Add Elias to contributors list (#4306)
- Remove CCE dependency from Interpolation (#4299)
- Ignore architecture flags on "aarch64" (#4307)
- Don't use checkwithrandom_values for tensor transform tests (#4308)
- Add fitylmcoeffs to StrahlkorperFunctions (#4145)
- Update Beginner Tutorial docs (#4313)
- Add missing documentations on electron fraction (#4309)
- Start adding support for specifying the initial data in the input file (#4261)
- Support yaml-cpp 0.7.0 (#4283)
- Class template deduction for WrappedGr and ProductOfConditions, remove if in FD BCs (#4286)
- Use pressure instead of TildeTau for PerssonTCI in GRMHD (#4314)
- Add deduction guidelines for ElementMap (#4316)
- Add damped harmonic class for runtime gauge condition (#4290)
- Add more atmosphere treatments to TCI for GRMHD (#4315)
- Make electron fraction cutoff and min value as an input file option (#4312)
- Shrink finite difference stencil in test (#4321)
- Rename outflow boundary condition (#4322)
- Remove unphysical GH+GRMHD solutions again (#4324)
- Equivalence for GRMHD+GH Riemann solvers, extract individual solvers in GH+GRMHD solver (#4329)
- Compute the number of ghost cells in the FD derivatives routine (#4330)
- Print output on failure in Burgers formaline test (#4331)
- Use runtime initial data in ScalarAdvection and Burgers (#4325)
- Fix map sizes in GH+GRMHD FD code (#4326)
- Make GH solutions factory creatable (#4328)
- Ignore substeps in PreventRapidIncrease (#4334)
- Minor cleaning/improving of time-action tests (#4335)
- Remove FIXMEs from AnalyticData and AnalyticSolutions (#4341)
- Add tnsr::aI and fix GHMHD FD TCI (#4348)
- Update conditions in TimescaleTuner (#4345)
- Add phases for adaptive mesh refinement (#4338)
- Use lapse and shift to compute the largest char speed in GRMHD (#4352)
- Update documentation of Parallel::Phase (#4355)
- Adaptive-stepping preparation cleanup of ErrorControl (#4347)
- Remove newton_raphson root finder (#4349)
- Add support for receiving DG volume data (#4288)
- Elide DG->FD project when not needed (#4291)
- Remove redundant SPECTREMACOSXMIN option (#2690)
- Elide copies and allocations (#4361)
- Validate release name in specified timezone (#4363)
- Gh mesh velocity damping (#4357)
- Remove backtrace from a simple error message (#4359)
- Add more observables to BBH (#4362)
- Add error-based slab-size adjustment (#4358)
- Use approx comparison in TciOnDgGrid (#4367)
Bugfixes (11):
- Fix sign error in ErrorControl (#4270)
- Fix CMake option for enabling profiling (#4275)
- Fix unsigned-integer bug in FastFlow. (#4277)
- Make EventsAndTriggers only run at slab boundaries (#4276)
- Fix uninitialized timescale tuners from options (#4269)
- Minor fixes to FD, remove anon namespace from header & square a term in PPAO (#4297)
- Link Parallel in MinimalExample executable (#4323)
- Find Python more consistently, fix macOS CI issues (#4356)
- Fix magnetic field sign error in MagnetizedTovStar analytic data (#4360)
- Fix sign error in FixedSpeedCubic 2nd deriv (#4365)
- Fix IO volume data docs about tensor component names (#4369)
Contributors (13): @markscheel, @nilsdeppe, @keefemitman, @wthrowe, @knelli2, @yoonso0-0, @ermost, @nikwit, @gsb76, @isaaclegred, @kidder, @nilsvu, @geoffrey4444
- C++
Published by sxs-bot over 3 years ago
spectre - Release 2022.10.04
Upgrade instructions
From #4255 (Make execution order of events deterministic):
The syntax for the EventsAndTriggers and EventsAndDenseTriggers input-file sections has changed. Each ?: entry should be changed from
yaml
? Trigger
: - Event
- PossibleOtherEvents
to
yaml
- - Trigger
- - Event
- PossibleOtherEvents
This results in all event and trigger arguments indenting one additional level (typically two spaces).
Merged pull-requests (52)
General changes (45):
- Various Adams-Bashforth reorganization (#4201)
- Increase timeouts of expensive tests (#4203)
- Add DG FreeOutflow boundary condition to GRMHD (#4196)
- Add utility to extract all dat files from h5 file (#4199)
- Allow TOV executables to use generic equations of state (#4111)
- Add TimeAndPrevious tag (#4220)
- Clean up some interpolation stuff for CCE (#4219)
- Change default InitializeJ in input file for CharacteristicExtract (#4211)
- ObserveCenters: use Euclidean area element. (#4218)
- UniformCylindricalEndcap: more tests and improvement. (#4179)
- Fix doc bugs in CurvedScalarWave's TimeDerivative (#4182)
- Clarify Tutorial Instructions (#4224)
- Make TCI status a simple tag with integer values (#4212)
- Print more useful slurm info in wheeler submit script (#4226)
- Assign integer values to TCI status in ValenciaDivClean subcell (#4213)
- Only print phase control phase change if phase is actually different (#4229)
- Revive clang build on Wheeler (#4230)
- Print pretty wall time in ERROR and Informer (#4227)
- Allow TimescaleTuner to be initialized with arbitary number of timescales (#4223)
- Add Leo in Contributors, and umiss in Affiliations (#4228)
- Add more docs about Tags::Time (#4202)
- Update ocean to gnu 11, clang 13, smp charm 7 (#4234)
- catch2 installation updated for apple silicon installation guide (#4162)
- Add subcell boundary conditions to GRMHD (#3972)
- Add Constant class inherited from DampingFunction class (#4115)
- Put GR variables on right grid for FixToAtmosphere (#4237)
- Add Pajkos to contributors list (#4242)
- Make AlgorithmArray patch work with macOS 13 (#4238)
- Support cleanup on termination (#4231)
- Use angular ordering in Sphere intrp target (#4239)
- Make receive_data an inline entry method (#4240)
- Add spherical torus coordinate map (#4225)
- Make spatial metric positive-definite in test (#4244)
- fix a mistake in the CCE tutorial (#4248)
- Add C and Fortran to cmake compile language (#4241)
- Add TensorExpression support for std::complex
and ComplexDataVector (#4216) - Treat deadlock/hangs in iterable actions as failed execution (#4236)
- Fix a typo in the comment of GaugeUpdateInertialTimeDerivatives (#4250)
- Remove Newton-Raphson from UniformCylindricalEndcap (#4246)
- Make all TimeStepper methods add to their results (#4208)
- Slightly improving test helper floating point error (#4253)
- Tagged tuple structured bindings suppor (#4257)
- Fix possible roundoff error in MC reconstructor (#4263)
- Stop fixing atmosphere from blocking switch back to DG (#4252)
- Remove GCC7 workaround from GRMHD subcell (#4260)
Bugfixes (7):
- Check only actual #includes in file test (#4204)
- Fix vector size bug in FreeOutflow boundary condition (#4214)
- Fix the AnalyticTestCharacteristicExtract bug when inertial coordinates are evolved (#4221)
- Add missing target link libraries to SetupPch.cmake (#4233)
- Put missing sqrt function in DG FreeOutflow boundary condition (#4251)
- Make execution order of events deterministic (#4255)
- Fix bug causing events to be improperly rerun (#4266)
Contributors (14): @wthrowe, @nilsdeppe, @yoonso0-0, @knelli2, @isaaclegred, @duetosymmetry, @markscheel, @pajkosmi, @geoffrey4444, @HengruiPrinceton, @Sizheng-Ma, @MarloMo, @gsb76, @macedo22
- C++
Published by sxs-bot over 3 years ago
spectre - Release 2022.09.02
Upgrade instructions
From #4130 (Unify iterable action return type):
For an iterable action, the following changes should be applied:
- #include <optional>
- #include "Parallel/AlgorithmExecution.hpp"
- remove #include "Parallel/AlgorithmMetafunctions.hpp" if present
- Declare the return type of the apply function of an iterable action to be Parallel::iterable_action_return_t
- Replace the return statements of the iterable action in the following way:
- If returning a one argument tuple of a DataBox, instead return {Parallel::AlgorithmExecution::Continue, std::nullopt};
- If returning a two argument tuple of a DataBox and bool, instead return {Parallel::AlgorithmExecution::Continue, std::nullopt}; if the bool is false and return {Parallel::AlgorithmExecution::Pause, std::nullopt}; if the bool is true
- If returning a two argument tuple of a DataBox and Parallel::AlgorithmExecution, instead return the Parallel::AlgorithmExecution follwed by std::nullopt
- If returning a three argument tuple of a DataBox, Parallel::AlgorithmExecution, and size_t, just remove the first argument (i.e. the DataBox)
From #4108 (Cce data in separate file):
Cce output will now be written to the reductions file instead of to a volume data file.
From #4153 (Remove support for Charm v6.10.2):
upgrade the version of charm++ you are using to v7.0.0
From #4151 (Dynamical creation and destruction of array element chares):
If you create an array element on a specified chare, you may have to add the type of to the constructor call to disambiguate from the newly added constructor.
From #4164 (Replace spin_vector function with new version.):
- spin_vector now takes different arguments than previously, and it has an additional template parameter.
- DimensionfulSpinVectorCompute now takes different Tags, and has an additional template parameter.
Neither one of these functions were actually being used in any of the executables.
From #4165 (AH finder computes inertial AH coords, not inertial Strahlkorper.):
The full Inertial-frame Strahlkorper is no longer available after horizon finds. This is ok, because except for spin direction (see #4164) all observables are scalars should be computed in the frame that the Strahlkorper was found, which is more efficient and more straightforward.
From #4183 (Add new stages and images to the Dockerfile):
Once this is merged, rebase on the latest develop branch to use the new container for CI on your PR.
Merged pull-requests (54)
General changes (47):
- Unify iterable action return type (#4130)
- Add predictedzerocrossing function generalized for Datavectors (#4004)
- Add spectre h5 table reader (#4127)
- UniformCylindricalEndcap: make clang-tidy happy. (#4142)
- Fix new compilation errors on gcc 12 (#4140)
- Add absolute cutoff to ScalarAdvection subcell TCI (#4141)
- Cce data in separate file (#4108)
- Add LinearRegression. (#4136)
- Add size control logic and test. (#4097)
- Add Beginners tutorial to SpECTRE (#4146)
- Add actions for evaluating AMR criteria and updating AMR decisions based on neighbor decisions (#4134)
- Add momentum density to scalar wave (#4122)
- Change PredictedZeroCrossing algorithm. (#4137)
- Add CombineH5 executable (#4129)
- Remove support for Charm v6.10.2 (#4153)
- Add python code to visualize Dat files (#4062)
- Add ZeroCrossingPredictor (#4147)
- Add Christoffel and ExtrinsicCurvatureFunctions to KerrSchild, Minkowski and SphericalKerrschild (#4148)
- Replace CSW compute tags (#4149)
- Assume frustum not invertible below lower bound (#4161)
- Add clone methods to
MathFunction(#4156) - Dynamical creation and destruction of array element chares (#4151)
- Replace spin_vector function with new version. (#4164)
- Add StrahlkorperCoordsInDifferentFrame. (#4158)
- Add zero spin optimizations to
KerrSchild(#4168) - Split dense trigger triggering and rescheduling (#4077)
- Remove
ScalarWaveGr(#4157) - Add clang build analysis tools to build optimization docs (#4160)
- Remove quotes from python test names (#4169)
- Add filtering to BBH exec for local or global time stepping (#4144)
- Set SpherepackIterator by compact index (#4072)
- Add CompOSE EOS table reader (#4087)
- Add makewithvalue implementation for Rational (#4175)
- Add MP5 reconstruction to finite difference (#4064)
- Add MP5 reconstructor to ValenciaDivClean system (#4066)
- Add Andrea Ceja to Metadata (#4180)
- Add new stages and images to the Dockerfile (#4183)
- Correct name of subcell option struct in docs (#4190)
- Add time dependence to
CSWsystem (#4152) - Remove functions/tags for taking square roots (#4191)
- Low-level performance improvements (#4187)
- Disable HDF5 default initialize datasets (#4194)
- Push new
demoDocker image on PostRelease workflow (#4193) - Make RunEventsAndDenseTriggers more generic (#4177)
- Upgrade docs stylesheets (#4188)
- Add executable to convert CompOSE EOS table to SpECTRE table (#4176)
- Skip TciAndSwitchToDg action for elements that just switched from DG to FD (#4198)
Bugfixes (7):
- Fix formatting in post-release workflow (#4143)
- Fix bug in
test_copy_semanticswhere constructor instead of assignment operator is called (#4154) - Fix finding Python on macOS CI (#4170)
- Fix a check in CubicScale. (#4173)
- Conditionally resize LHS Tensors before RHS TensorExpression evaluation (#4159)
- AH finder computes inertial AH coords, not inertial Strahlkorper. (#4165)
- Don't die on non-real quadratic equation roots (#4189)
Contributors (13): @kidder, @MarloMo, @nilsdeppe, @markscheel, @wthrowe, @yoonso0-0, @nilsvu, @geoffrey4444, @knelli2, @acifajkya, @asaju7, @nikwit, @macedo22
- C++
Published by sxs-bot over 3 years ago
spectre - Release 2022.08.01
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
- C++
Published by sxs-bot over 3 years ago
spectre - Release 2022.07.18
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
yaml
ResourceInfo:
AvoidGlobalProc0: false
If your executable has at least one InterpolationTarget parallel component, add the following under the ResourceInfo block in the input file
yaml
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:
yaml
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::Phaseas the type of a phase - Do not specify a
determine_next_phasemember function for metavariables. Instead define thedefault_phase_ordermember 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 tobasis&toquad, 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::upperspatialz4_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 getdataby_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):
- Remove load balancing test (#4052)
- Cleanup execs and libs after running tests (#4040)
- Interpolation without Interpolator ParallelComponent for time-dependent maps. (#4044)
- Fix Charm v7.0.0 AlgorithmArray.def.h patch (#4063)
- Clean up register phase in BBH exec (#4083)
- Fix non-positive times in getdataby_element (#4106)
- Pin Spack version on CI (#4110)
- Minor fixes in quickstart guide, fix rendering of $ in docs (#4095)
Contributors (10): @nilsdeppe, @kidder, @wthrowe, @knelli2, @markscheel, @macedo22, @yoonso0-0, @nilsvu, @DavidWu421, @nring21
- C++
Published by sxs-bot over 3 years ago
spectre - Release 2022.06.14
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::isa with tt::isa_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)
- Make Frustum test robust and add diagnostics (#4034)
Contributors (14): @nilsvu, @hrueter, @knelli2, @yoonso0-0, @moxcodes, @nilsdeppe, @kidder, @wthrowe, @geoffrey4444, @gsb76, @MarloMo, @markscheel, @AlexCarpenter46, @nring21
- C++
Published by sxs-bot over 3 years ago
spectre - Release 2022.05.05
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
TensorExpressionsnamespace should now usetenex - Anywhere using
ti_a(tensor indices) should now useti::a
From #3828 (InterpolateWithoutInterpComp: Use computevarsto_interpolate.):
InterpolateWithoutInterpComponent now uses computevarstointerpolate instead of computeitemsonsource.
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::spatialriccitensor (#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 computevarsto_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 elementlogicalcoordinates 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
- C++
Published by sxs-bot almost 4 years ago
spectre - Release 2022.04.04
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,
yaml
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 (posthorizonfind_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 ASSERTIONTEST or ERRORTEST as a separate SPECTRETESTCASE, they should be combined with the standard SPECTRETESTCASE by calling CHECKTHROWSWITH (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_MODECMake 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)
- posthorizonfind_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
- C++
Published by sxs-bot almost 4 years ago
spectre - Release 2022.03.07
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 isanalytic*, 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
- C++
Published by sxs-bot almost 4 years ago
spectre - Release 2022.02.17
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
- C++
Published by sxs-bot about 4 years ago
spectre - Release 2022.02.08
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>, addCharmxx::puptotarget_link_libraries. - If you include
<charm++.h>, addCharmxx::charmxxtotarget_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):
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
CurvedScalarWaveevolved variables tags consistent (#3728) - Move
ScalarWaveevolved variables intoTagsnamespace (#3722) - Convert elliptic boundary conditions to use factory map (#3669)
- MutableGlobalCache: Clear callbacks before invoking them. (#3725)
- Make order of
ScalarWaveevolved variables tags consistent (#3723) - Clean up CMake code for defining tests (#3708)
- Refactor
ScalarWaveGrinstantiations (#3733) - Remove redundant SWSH calculation (#3736)
- Make
ScalarWaveGracceptCurvedScalarWaveinitial 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_TESTINGoption, 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 testoptiontagfactorycreation (#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 asexpansion_center()(#3741) - Use Python 3.7 module on Wheeler (#3734)
- Add
CurvedScalarWaveexecutable 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
PYTHONPATHin 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
- C++
Published by sxs-bot about 4 years ago
spectre - Release 2022.01.03
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 dimensionfulspinmagnitude free function to StrahlkorperGr.cpp (#3671)
Contributors (7): @markscheel, @knelli2, @nilsleiffischer, @kidder, @yoonso0-0, @nilsdeppe, @MarloMo
- C++
Published by sxs-bot about 4 years ago
spectre - Release 2021.12.15
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
- C++
Published by sxs-bot about 4 years ago
spectre - Release 2021.12.06
Upgrade instructions
From #3598 (Bulged Frustums in BinaryCompactObject Domain):
The EnvelopingCube in the BinaryCompactObject Domain will now take a Sphericity parameter, which can be
set to any value between 0 and 1, inclusive. A value of 0 corresponds to an EnvelopingCube with a flat surface, and
a value of 1 corresponds to an EnvelopingCube with a spherical surface.
Merged pull-requests (56)
New features (3):
- Add horizon finder into BBH executable (#3566)
- Bulged Frustums in BinaryCompactObject Domain (#3598)
- Support ObservationBox compute tags in ObserveFields and ObserveNorms (#3558)
General changes (47):
- Remove Frame::Logical (#3569)
- Add AOWeno(5,3) reconstruction scheme to advection subcell (#3619)
- Interpolate Ah quantities to 2 frames if desired. (#3623)
- Add GHGRMHD Prims after rollback (#3615)
- GHGRMHD add FD directory and basic structure (#3628)
- Small changes to help enable subcell for Newtonian Euler (#3632)
- Add CCZ4 functions for lower and upper spatial Z4 constraint (#3622)
- Add subcell time derivative to advection subcell (#3611)
- Add NeighborPackagedData to advection subcell (#3591)
- Add FunctionsOfTime base tag (#3639)
- Remove inlining of TensorContract::get (#3645)
- Add unlimited degree 2 and 4 FD reconstruction (#3629)
- Add InitialData base class, namespace, and library (#3599)
- Optimize elliptic solver (3): Sparse subdomain data (#3605)
- Allow XDMF generation with partial output (#3642)
- ValenciaDivClean primitive-recovery tweaks (#3641)
- Derive advection solutions from the new ID base class (#3600)
- Add deriv determinant spatial metric computation to KerrSchild (#3610)
- More floating point changes to FixConservatives (#3653)
- Add CCZ4 simple tag and function for gradient of the spatial Z4 constraint (#3633)
- Add initial data TCI to Burgers subcell (#3649)
- Update advection executables to use subcell (#3647)
- Add test of MC.reconstructfdneighbor for GRMHD (#3634)
- Add docs to Burgers boundary condition classes (#3654)
- Allow creation of FunctionsOfTime with control system info (#3644)
- Use ObservationBox in events (#3557)
- Add TCI on DG and FD grid to Burgers subcell (#3655)
- Add PrimitiveGhostData to GH+GRMHD (#3636)
- Add FixConservativesAndComputePrims to GH+GRMHD (#3638)
- Add FD ghost data to Burgers subcell (#3659)
- Remove a redundant operator in Grmhd ResizeAndComputePrims (#3665)
- Add Tom's ORCiD (#3658)
- Add CCZ4 function for the spatial ricci tensor (#3553)
- Add CCZ4 function for ricci scalar plus divergence Z4 constraint (#3656)
- Add ResizeAndComputePrimitives to GH+GRMHD (#3637)
- Add FD flux compute to Burgers subcell (#3662)
- Add reconstructor base class and option tag to Burgers subcell (#3663)
- Use obs box in ScalarWave, switch ObserveVolumeIntegrals to obs box (#3664)
- Add error in SetupLocalPythonEnvironment env if path doesn't exist (#3670)
- Add publication policies (#3631)
- Construct measurement timescales using control sys info (#3660)
- Add temporary tags for repeated expressions in CCZ4 eqs (#3668)
- Add MC reconstruction to Burgers (#3673)
- Add NeighborPackagedData to Burgers subcell (#3674)
- Make Ccz4::divergence_lapse take square of conformal factor as arg (#3681)
- Add Frame::Distorted to Block (#3625)
- Find Scotch library with CMake (#3571)
Bugfixes (6):
- Upgrade Doxygen theme to v1.6.1 to fix issue on mobile (#3624)
- Replace cachecontainsfunctionsoftime (#3635)
- Remove duplicate
inverse_spatial_metrictag (#3650) - Add back TensorExpression test that was accidentally removed (#3657)
- Fix macOS arm64 linker errors (#3675)
- Fix linking error for TOV executables (#3679)
Contributors (11): @kidder, @yoonso0-0, @markscheel, @nilsdeppe, @macedo22, @nilsleiffischer, @knelli2, @wthrowe, @gsb76, @nikwit, @geoffrey4444
- C++
Published by sxs-bot about 4 years ago
spectre - Release 2021.11.01
Upgrade instructions
From #3570 (Support 1/r radial distribution in BBH domain outer shell):
- When constructing a
BinaryCompactObjectdomain from options, move theUseProjectiveMapoption into theEnvelopingCubegroup. Furthermore, the options for the outer spherical shell have changed to support more radial distributions. If you had these options before:yaml # Old EnvelopingCube: Radius: 55. UseProjectiveMap: True OuterSphere: Radius: 300. UseLogarithmicMap: Falseadjust them like this:yaml # New EnvelopingCube: Radius: 55. UseProjectiveMap: True OuterShell: InnerRadius: Auto # you can specify the first spherical radius explicitly now, or use the default OuterRadius: 300. RadialDistribution: Linear # You can also set this to `Logarithmic` or `Inverse`
From #3583 (Add IndexPolarAxis Option to Shell Domain):
The Shell constructor has been changed such than an additional argument index_polar_axis (additional Option IndexPolarAxis) must be passed following the argument aspect_ratio (Option AspectRatio). The default value is set to 2 (the z axis).
From #3617 (Move YlmSpherepack to NumericalAlgorithms/SphericalHarmonics.):
YlmSpherepack is now in the library NumericalAlgorithms/SphericalHarmonics.
Merged pull-requests (40)
General changes (36):
- Add ObservationBox (#3556)
- Support 1/r radial distribution in BBH domain outer shell (#3570)
- Make EquatorialCompression generic in polar axis. (#3572)
- Add CCZ4 functions for contracted conformal spatial christoffel 2nd kind and its derivative (#3579)
- Optimize elliptic solver (1): Avoid unnecessary random-access operations (#3574)
- Add excision_sphere to Domain, changes to Shell (#3563)
- Add control system singleton parallel component (#3551)
- Add FD computeflux to advection subcell and fix initial TCI args order (#3575)
- Add more instantiations of averager (#3550)
- Rename control system action namespace (#3589)
- Add control system trigger (#3548)
- Add ExcisionSpheres to BinaryCompactObject Domain (#3581)
- Make pup NOLINTs consistent (#3582)
- Add IndexPolarAxis Option to Shell Domain (#3583)
- Allow creation of multiple control systems from options (#3588)
- Remove BlueWaters installation instructions. (#3595)
- Update dox for INTERFACE, PUBLIC, PRIVATE libraries. (#3562)
- Add DirichletMinkowski GH BC (#3473)
- Optimize elliptic solver (2): Generalize equalwithinroundoff to Variables, skip an unnecessary subdomain-operator application (#3586)
- Add comparison operator for Direction and ElementId (#3585)
- Use latest version of codecov action (#3596)
- Add MC reconstructor to advection subcell (#3546)
- Add velocity field to FD cell and face tensor in advection subcell (#3578)
- Change PerssonTCI implementation (#3604)
- Use Direction/ElementId comparison operator (#3606)
- Add control system measurement initialization (#3590)
- Split up bulky tensor expression test into two test files (#3616)
- ComputeHorizonVolumeQuantities documentation. (#3613)
- Silence clang 13 unused-but-set warnings (#3618)
- Add initial data TCI for GH+GRMHD system (#3526)
- Add GH+GRMHD TCI for DG and FD grids (#3609)
- Add CCZ4 function for trace-free part of extrinsic curvature, related tags (#3593)
- Add Ricci Scalar compute tags to EvolveGeneralizedHarmonic.hpp (#3576)
- Add simple post-Newtonian compact binary trajectories (#3608)
- Add radial velocity to initial data solves (#3602)
- Move YlmSpherepack to NumericalAlgorithms/SphericalHarmonics. (#3617)
Bugfixes (4):
- Fix typo in gr::ricci_tensor equation documentation (#3577)
- Fix floating point behavior and an initialization bug in FixConservatives (#3584)
- StrahlkorperInDifferentFrame now works for center not at origin. (#3594)
- Fix unused var error when profiling (#3630)
Contributors (11): @nilsdeppe, @nilsleiffischer, @gsb76, @macedo22, @knelli2, @yoonso0-0, @wthrowe, @markscheel, @geoffrey4444, @kidder, @MarloMo
- C++
Published by sxs-bot over 4 years ago
spectre - Release 2021.10.04
Upgrade instructions
From #3475 (Add and observe XCTS constraint norms):
ObserveNorms now takes the observation value tag as first template parameter. Pass ::Tags::Time to get the same behavior as before.
From #3538 (Enforce tags for Variables are derived from db::SimpleTag):
Any tag used in the list of tags on which a Variables is templated must derive from db::SimpleTag
From #3552 (Move parallel interpolator to ParallelAlgorithms.):
All the parallel interpolation framework is now in ParallelAlgorithms instead of NumericalAlgorithms.
From #3559 (Change source frame of ElementMap from Logical to ElementLogical):
If you use Frame::Logical this will now need to be either Frame::BlockLogical or Frame::ElementLogical depending upon which of the two frames the map uses or tensor represents.
From #3507 (Add block names to BinaryCompactObject domain, support per-block refinement):
When constructing a BinaryCompactObject domain creator from options, delete the AdditionToRadialRefinementLevel options. They have been replaced by per-block support for the InitialRefinement and InitialGridPoints options.
If you used no additional radial refinement before, you can just delete the options:
```yaml
New - uniform refinement
DomainCreator: BinaryCompactObject: # ... (delete AdditionToRadialRefinementLevel options) InitialRefinement: 1 ```
If you had this additional radial refinement configuration before:
```yaml
Old - additional radial refinement
DomainCreator: BinaryCompactObject: ObjectA: # ... AdditionToRadialRefinementLevel: 1 # ... OuterSphere: # ... AdditionToRadialRefinementLevel: 2 InitialRefinement: 1 ```
you can reproduce it now with these options:
```yaml
New - additional radial refinement
DomainCreator: BinaryCompactObject: # ... InitialRefinement: ObjectAShell: [1, 1, 2] ObjectBShell: [1, 1, 1] ObjectACube: [1, 1, 1] ObjectBCube: [1, 1, 1] EnvelopingCube: [1, 1, 1] CubedShell: [1, 1, 1] OuterShell: [1, 1, 3] ```
Refer to the help string of the BinaryCompactObject domain creator for details.
From #3568 (Remove noexcepts):
Remove all noexcept specifiers.
Merged pull-requests (59)
New features (1):
- Add BBH executable (#3468)
General changes (51):
- Add Bayliss-Turkel boundary conditions to CurvedScalarWave system (#3411)
- Add block names to domain creators (#3457)
- Print number of DataBox items on startup (#3476)
- Add simple tags related to conformal metric and for CCZ4 auxiliary variables (#3502)
- Add and observe XCTS constraint norms (#3475)
- Compress docs upload on CI (#3496)
- TCI for DG and FD grid for advection system (#3497)
- Add StrahlkorperInDifferentFrame. (#3477)
- Add CenterOfStar interpolation to magnetized TOV (#3508)
- Add apparent-horizon boundary conditions to XCTS executable (#3491)
- Restrict Variables subitems to Tags::Variables (#3248)
- Add functions for updating FunctionsOfTime in GlobalCache (#3478)
- Add modal to nodal pybindings (#3504)
- Use linear interpolation for subcell (#3506)
- Add GR function for spatial derivative of inverse spatial metric (#3509)
- Rename BBH exec, clarify why it doesn't use GHBase (#3520)
- Remove use of deprecated action in self-start test (#3523)
- Update ocean doxygen to 1.9.1 (#3518)
- Add CCZ4 functions for christoffel 2nd kind and conformal christoffel 2nd kind (#3517)
- Remove initialization_tags in InitializeInterpolationTarget. (#3524)
- Allow coveralls upload to fail on CI (#3529)
- Support time indices for some TensorExpressions (#3470)
- Add CCZ4 functions for the gradient of the gradient of the lapse and the divergence of the lapse (#3513)
- Add CCZ4 function for derivivative conformal spatial christoffel second kind (#3516)
- Compute Inertial Strahlkorper if Strahlkorper frame is not inertial. (#3485)
- Add Daniel, Sizheng to DOI, Himanshu's ORCID (#3543)
- Add TensorIndex m and instructions on how to add new TensorIndexs (#3535)
- Add basic control system protocols and measuring (#3469)
- Enforce tags for Variables are derived from db::SimpleTag (#3538)
- Remove EquationOfStateType from NewtonianEuler::System (#3536)
- Remove template from UpdateFunctionOfTime functions (#3537)
- Print Charm++ startup time (#3527)
- Add dense output to GRMHD subcell executable (#3540)
- Add reconstructor base class to advection subcell (#3532)
- Modify translation map (#3534)
- Most remaining evolution cleanups from 2779 (#3533)
- Add tutorial on events and triggers (#3505)
- Move parallel interpolator to ParallelAlgorithms. (#3552)
- Add ghost data routines to advection subcell (#3542)
- Document elliptic systems (#3154)
- Moving H5 test files (#2250)
- Update installation docs (#3519)
- Change source frame of ElementMap from Logical to ElementLogical (#3559)
- Support time indices for TensorExpressions with addition, subtraction, and square roots of scalars (#3539)
- Add block names to BinaryCompactObject domain, support per-block refinement (#3507)
- Add ExcisionSphere to Domain/Structure and test (#3541)
- Add ffmpeg as optional dependency (#3567)
- Move member function defs out of AlgorithmImpl (#3564)
- Switch documentation to more modern theme (#3412)
- Remove noexcepts (#3568)
- Support scalar division and unary minus for TensorExpressions (#3549)
Bugfixes (7):
- Find yapf consistent with Python (#3490)
- Fix LTS dense output at initial time (#3510)
- Make doxygen installation correct in buildenv (#3515)
- Increase test timeout for ASAN builds (#3521)
- Build Doxygen with bugfixes in container (#3522)
- Remove unneeded interp dependencies. (#3555)
- Fix some includes and lib dependencies in Interpolation (#3560)
Contributors (12): @nikwit, @nilsleiffischer, @macedo22, @yoonso0-0, @markscheel, @nilsdeppe, @knelli2, @geoffrey4444, @wthrowe, @kidder, @isha1810, @gsb76
- C++
Published by sxs-bot over 4 years ago
spectre - Release 2021.09.11
Upgrade instructions
From #3482 (Interpolate to center of star on subcell):
The interpolation target tags need interpolating_component to be templated on the metavariables
Merged pull-requests (15)
New features (1):
- Support per-core reductions (#3464)
General changes (12):
- Add StrahlkorperTags::PhysicalCenterCompute. (#3484)
- Upgrade Doxygen in the container (#3483)
- Add spherical harmonic initial data for CurvedScalarWave (#3416)
- Add code to check if functions of time are ready (#3467)
- Add LinkedMessageQueue (#3479)
- Interpolate to center of star on subcell (#3482)
- Add 3d time dependent rotation matrix (#3364)
- Fix superluminal velocities in Kastaun recovery scheme (#3500)
- Add virtual functions to FunctionOfTime base (#3499)
- Add MeasurementTimescales Tag (#3495)
- Add initial data TCI for advection system (#3494)
- Add pybindings for mesh.slices() (#3503)
Bugfixes (2):
Contributors (8): @markscheel, @nilsleiffischer, @nikwit, @wthrowe, @kidder, @knelli2, @nilsdeppe, @yoonso0-0
- C++
Published by sxs-bot over 4 years ago
spectre - Release 2021.09.06
Upgrade instructions
From #3307 (Add FixedSpeedCubic to BinaryCompactObject):
When time dependence is enabled in the BinaryCompactObject domain, previously, the options for the ExpansionFactor included options to specify the two FunctionOfTimes used by the CubicScale map, e.g.
~~~yaml ExpansionMap: OuterBoundary: 25.0 InitialExpansion: [1.0, 1.0] InitialExpansionVelocity: [-0.1, -0.01] FunctionOfTimeNames: ['ExpansionFactor', 'ExpansionFactorOuterBdry'] ~~~
After this PR, instead specify one FunctionOfTime and the desired asymptotic velocity (and timescale for approaching that velocity) for the outer boundary, e.g.
~~~yaml ExpansionMap: OuterBoundary: 25.0 InitialExpansion: 1.0 InitialExpansionVelocity: -0.1 FunctionOfTimeName: 'ExpansionFactor' AsymptoticVelocityOuterBoundary: -1.0e-6 DecayTimescaleOuterBoundaryVelocity: 50.0 ~~~
From #3421 (Specify temporal_id for interpolation in interpolation target tags):
Interpolation target tags must now specify a temporal_id. In almost all cases it should be using temporal_id = ::Tags::Time;.
From #3365 (Use Frame::BlockLogical as source frame for CoordinateMap in a Block):
- DomainCreators will need to switch the source frame of their CoordinateMaps to use Frame::BlockLogical
- If you use BlockLogicalCoordinates for interpolation, they will need to be defined in Frame::BlockLogical
- If you create a CoordinateMap to construct a Block, it will need to use Frame::BlockLogical as the source frame
From #3330 (Logarithmic cylinder):
The Cylinder now allows to choose the distribution of grid points along the z-axis for each layer. To keep the behaviors the same as before for a single layer, specify DistributionInZ: [Linear].
From #3471 (Convert BoundaryCondition to factory map):
- Instead of having a type alias of
creatable_classeswithin the system-specific BoundaryCondition base classes, specify a type alias such asstandard_boundary_conditionsin the BoundaryConditions namespace of the system. - In evolution executables, add a
tmpl::pair<SYSTEM::BoundaryConditions::BoundaryCondition, SYSTEM::BoundaryConditions::standard_boundary_conditions>to thefactory_classesin the metavariables (where SYSTEM should be replaced by the appropriate namespace of the evolution system). - You don't need the system-specific
BoundaryConditions::register_derived_with_charmfunction incharm_init_node_funcsanymore.
Merged pull-requests (68)
New features (3):
- Events and dense triggers with local time stepping (#3355)
- Switch GRMHD executable to support DG-subcell (#3427)
- Add multigrid to elliptic executables (#3392)
General changes (49):
- Ease code coverage target for random-value tests (#3403)
- Small CMake cleanups (#3402)
- Add TimeDependence to RotatedIntervals (#3389)
- Add a note to Pybindings docs (#3415)
- Document stable step sizes for different time steppers (#3406)
- GRMHD subcell TCI check positivity of TildeD and TildeTau (#3410)
- Add Newtonian Euler numerical characteristics (#3395)
- Convert interpolation indexing to doubles (#3409)
- Add FixedSpeedCubic to BinaryCompactObject (#3307)
- Move index reordering higher up in TensorExpression syntax trees (#3387)
- Add option to apply Persson TCI to GRMHD TildeB (#3418)
- Add NeighborPackagedData to GRMHD (#3413)
- Mixed GH+MHD boundary conditions (#3358)
- Add shape map (#3017)
- Allow adding dense triggers programmatically (#3429)
- Specify
temporal_idfor interpolation in interpolation target tags (#3421) - Add MinusLaplacian subdomain preconditioner to speed up elliptic solves (#3378)
- Pass more things to dense triggers' is_ready (#3433)
- Use Frame::BlockLogical as source frame for CoordinateMap in a Block (#3365)
- Add output operators for DataBox and AlgorithmImpl (#3401)
- Update Gh Bjorhus BC to freeze VPlus if char speed becomes negative (#3370)
- Add previous trigger time to dense triggers (#3445)
- Avoid default-constructing all DataBox items twice (#3441)
- Make a common H5 error message friendlier (#3439)
- Add analytic data for a plane wave in Minkowski background (#3100)
- Add load balancing notes to dev guide (#3426)
- Logarithmic cylinder (#3330)
- Enable running a gauge wave on a moving mesh (#3435)
- Observe lapse, constraints in GH exec (#3462)
- Support spatial spacetime indices for TensorExpressions::AddSub (#3420)
- Add a flag to prevent factory creation of a class (#3444)
- Add elliptic HasConverged trigger (#3452)
- Update python on ocean (#3400)
- Add Krivodonova and Kuzmin analytic solution to ScalarAdvection (#3386)
- Add filtering to GH Exec (#3461)
- Evaluate damping parameters in grid frame (#3460)
- Make timescale tuner serializable and constructible from options. (#3425)
- Make Averager serializable and constructible from options. (#3424)
- Add Quaternion FunctionOfTime (#3327)
- Subcell minor fixes (#3455)
- Clarify simple-action failure message (#3474)
- Make PiecewisePolynomial streamable (#3423)
- Add range checking to Blaze vector access (#3458)
- Add outflowing boundary conditions to CurvedScalarWave system (#3407)
- Add Krivodonova and Kuzmin executable to ScalarAdvection (#3405)
- Convert BoundaryCondition to factory map (#3471)
- Add action to randomize elliptic initial guess (#3437)
- Add orcid ID (Yoonsoo Kim) (#3488)
- Add apparent-horizon boundary conditions (#2961)
Bugfixes (16):
- Fix compilation error when the inertial coordinates are evolved in CCE (#3408)
- Fix AH find (#3399)
- Fix bounds for XCTS equation tests (#3404)
- A few minor fixes (#3428)
- Fix random roundoff cylindrical map errors (#3430)
- Fix PiecewisePolynomial results at update times (#3432)
- Fix InterpolationTarget docs (#3438)
- Fix order of multigrid actions in XCTS executable (#3443)
- Remove incorrect assertion in component mocking (#3449)
- Increase an input file test timeout (#3463)
- Fix typos in Poisson first order system documentation (#3466)
- Move test functions into anonymous namespace (#3472)
- MutableCache callbacks now work in ActionTesting. (#3465)
- Add missing include to DeterminantAndInverse.hpp (#3480)
- Clear PreviousTriggerTime when it is invalid (#3486)
- Update visualization docs (#3487)
Contributors (16): @Sizheng-Ma, @nilsleiffischer, @fmahebert, @moxcodes, @kidder, @nilsdeppe, @wthrowe, @geoffrey4444, @macedo22, @nikwit, @markscheel, @knelli2, @prayush, @tomwlodarczyk, @yoonso0-0, @osheamonn
- C++
Published by sxs-bot over 4 years ago
spectre - Release 2021.08.02
Upgrade instructions
From #2805 (The transformation between the inertial coordinates and the Cauchy coordinates in CCE):
The feature is controlled by uses_inverse_coordinates of CCE metavariables.
From #3279 (Horizon finder in grid frame):
One must now specify compute_vars_to_interpolate instead of compute_items_on_source for interpolation that uses the Interpolator ParallelComponent.
Merged pull-requests (50)
New features (2):
General changes (44):
- Subcell GRMHD MC reconstruction (#3319)
- Add GRMHD prims after rollback mutator (#3328)
- Factor out TensorIndex into own file (#3339)
- BoundaryCondition class for GH (#3172)
- Add the Apparent Horizon tags to EvolveGeneralizedHarmonicWithHorizon.hpp (#3315)
- Use history order in dense output (#3353)
- Add overload for GH f_constraint that includes the stress energy contribution (#3350)
- Rename "new feature" label for release notes (#3344)
- Make GRMHD conserved variable fixing faster and more robust in atmosphere (#3320)
- Improve compiler error for bad tmpl::transform (#3356)
- Remove DG boundary schemes code (#3274)
- Make Options::Auto take type as label (#3348)
- Add GRMHD FD time derivative computation (#3331)
- Add error-based step chooser to executables (#3342)
- Remove make_overloader from coord maps (#3361)
- Convert MathFunction to use factory map (#3362)
- Add EnergyDensity function and tags for the scalar wave system (#3343)
- Cancel redundant builds on CI (#3351)
- Add WENO limiter specialized to the NewtonianEuler system (#3359)
- Revive caching on CI (#3366)
- Don't cancel repeated CI runs on develop (#3371)
- Add Schwarz smoothing to elliptic executables (#3271)
- Move QuaternionHelpers definitions to source file (#3375)
- Clarify installation docs (#3383)
- Add ComputeHorizonVolumeQuantities. (#3261)
- Add velocity field to ScalarAdvection (#3283)
- Add environment files for expanse (#3324)
- Factor out common TensorIndex transformation logic into own file (#3349)
- Add 1D sinusoid solution to ScalarAdvection (#3357)
- Installing Arpack in the containers (#3323)
- Fix LibraryVersions.txt (#3369)
- Port over upwind flux for curved scalar waves as a BoundaryCorrection (#3116)
- Clean up a left-over file in Docker container (#3385)
- Add ScalarAdvection executable for 1D sine wave (#3360)
- Support skipping the preconditioner in elliptic solves (#3379)
- Revive code coverage reports on CI (#3367)
- Move stored deriv info to helper in PiecewisePolynomial (#3321)
- Update FunctionOfTime docs (#3390)
- Minor cleanups (#3388)
- Add CREATEGETSTATICMEMBERVARIABLEORDEFAULT (#3391)
- Increase cache sizes on CI (#3396)
- The transformation between the inertial coordinates and the Cauchy coordinates in CCE (#2805)
- Add CITATION.cff file (#3397)
- Horizon finder in grid frame (#3279)
Bugfixes (4):
- Fix missing renames of GrMhd BlastWave (#3363)
- Add a missing cache flag on CI (#3372)
- Fix dimensionality bug in GenerateXdmf script (#3382)
- Clean up ExportCoordinates reduction files (#3398)
Contributors (14): @nilsdeppe, @macedo22, @prayush, @MarloMo, @moxcodes, @nilsleiffischer, @kidder, @fmahebert, @wthrowe, @knelli2, @markscheel, @yoonso0-0, @GitHimanshuc, @Sizheng-Ma
- C++
Published by sxs-bot over 4 years ago
spectre - Release 2021.07.08
Upgrade instructions
From #3164 (Horizon finder can now fail gracefully):
A type alias horizon_find_failure_callback must now be specified inside of each InterpolationTargetTag that also has a post_horizon_find_callback.
From #3226 (Fix Doxygen grouping):
Any incorrect doxygen grouping symbols (e.g. // @{) will have to be updated to the correct versions (e.g. /// @{).
From #3227 (Fix circular dependency for Parallel/PhaseControl):
Includes will need to be updated to Parallel/PhaseControlTags.hpp, and anything that uses the PhaseControl features likely needs to link the PhaseControl library.
From #3272 (Add phase bookmarks to Algorithm):
Conceivably, if you are designing a phase-control structure that involves returning to a previously visited phase, you may need to consider this change when designing the structure of the action list for the phase that is visited more than once. Most likely, it just relaxes the constraint of ExecutePhaseChange appearing last in the corresponding phase.
From #3304 (Add self-start procedure to CCE):
Any changes to the CCE initialization procedure involving the time step will likely need to be rethought in light of these changes.
Merged pull-requests (88)
New features (5):
- Add ObserveNorms event to observe norms of any tensor in the DataBox (#3244)
- Add PhaseControl for checkpointing after wallclock; add checkpointing documentation (#3263)
- Add EventsAndDenseTriggers (#3221)
- Allow writing volume data at single precision (#3239)
- Gh plus mhd (#3219)
General changes (60):
- Constraint-preserving boundary terms for VMinus (GH) (#3000)
- Add GH+MHD BoundaryCondition (#3177)
- Add GH GaugeWave executable (#3131)
- Switch compute tags to simple tags for elliptic domain geometry (#3247)
- Add explicit instantiation: Kastaun, NewmanHamlin, Palenzuela to PrimitiveFromConservative (#3252)
- Improve limiter documentation (#3246)
- Add new WriteCheckpoint phase (#3209)
- Cce analytic test: Robinson-Trautman (#2610)
- Stop storing old values in time-stepper history (#3253)
- Improve atmosphere treatment (#3241)
- Fix git info in InfoAtLink and simplify it (#3193)
- Update GRMHD analytic data for use in
WrappedGr(#3190) - Add TciOnFdGrid to ValenciaDivClean (#3257)
- Add InitialDataTci to ValenciaDivClean (#3254)
- Make ElementId support up to 2^24 blocks and 2^8 grid indices (#3240)
- Horizon finder can now fail gracefully (#3164)
- Add elliptic DG subdomain operator (#3127)
- Subcell: Add NewtonianEuler AO-WENO(5,3) reconstruction (#3222)
- Remove AddMeshVelocity*, ComputeVolumeSources, source terms and fluxes in cons init, boundary scheme support (#3232)
- Generalize spec reader to nth order polynomials (#3200)
- Fix Doxygen grouping (#3226)
- Add ResizeAndComputePrimitives mutator to NewtonianEuler (#3224)
- Subcell GRMHD: swap gr tags between DG and subcell grids (#3256)
- Convert TimeSequence to use factory map (#3258)
- Add PrimsAfterRollback mutator to NewtonianEuler (#3225)
- Add functions to transform tensors to different frames. (#3147)
- Subcell: NewtonianEuler mutators for computing ghost cell data (#3223)
- Make supporting 50th order DG easier (#3264)
- Subcell resize dt(vars) and link IO lib (#3265)
- Add SphericalHarmonic basis (#3047)
- Minor ElementId cleanup (#3282)
- Add HLL boundary correction to GRMHD (#3262)
- Add AddSimpleTags initialization action (#3286)
- Subcell grmhd ghost data (#3287)
- Make Options::Parser serializable (#3280)
- Add FixedSpeedCubic FunctionOfTime (#3275)
- Add GeneralizedHarmonic Outflow BC (#3288)
- Factor out TensorExpression::evaluate rank 3 and 4 tests to own files (#3281)
- Restore missing assignment in BjorhusImpl.cpp (#3303)
- Add the IrreducibleMassTag to EvolveGeneralizedHarmonicWithHorizon.hpp (#3302)
- Add ResizeAndComputePrimitives to ValenciaDivClean (#3289)
- Clarify DataBox error for cases with incorrect member functions (#3312)
- Add phase bookmarks to Algorithm (#3272)
- Add subcell GrTagsForHydro (#3290)
- Add SetVariablesNeededFixingToFalse initialization mutator (#3291)
- Add FixConservativesAndComputePrims mutator to ValenciaDivClean (#3292)
- Add compute fluxes helpers to GRMHD for subcell (#3293)
- Add helper functions for boost quaternions (#3310)
- Support generic spatial indices for spacetime indices in TensorExpressions except AddSub (#3269)
- Add NewtonianEuler-specialized minmod limiter (#3267)
- Convert DomainCreator to use factory map (#3295)
- Leave moved-from Variables in a valid state (#3329)
- Make the Krivodonova limiter copyable (#3332)
- Add SphericalCompression TimeDependence (#3228)
- Store elliptic internal and external face data in unified map (#3273)
- Add self-start procedure to CCE (#3304)
- Update spectre doi author list (#3333)
- Add ValenciaDivClean Outflow BC (#3285)
- Add local time-stepping for CCE (#3326)
- Remove single-extent volume data in test (#3336)
Bugfixes (23):
- Increase timeout for Schwarzschild input file test (#3251)
- Fix CylindricalEndcap test (#3238)
- Eliminate rare asynchronization bug in interpolator. (#3260)
- Remove ANSI color strings so clang-format patch is valid (#3235)
- Fix RicciScalarScalar Argument Tag (#3250)
- Fix circular dependency for Parallel/PhaseControl (#3227)
- Fix MagnetizedTovStar inheritance bug (#3268)
- Work around a bug in gcc 7.3 (#3259)
- Fix doxygen formatting (#3277)
- Test_CylindricalSide: Don't put proj point near edge. (#3296)
- Load updated git module on Caltech HPC (#3301)
- fix slicing
inverse_spatial_metriconto boundary for systems with curved backgrounds (#3308) - Change stride argument type from
floattointin InterpolateVolumeData (#3305) - Compute AddSub symmetry using operand symmetries and index orders (#3245)
- Fix linking in DenseTriggerHelpers and GhGrMhd (#3313)
- fix format for doxygen grouping (#3314)
- Fix exponential filter input file example dox (#3309)
- Fix some more linking (#3318)
- Bayliss Turkel documentation correction (#3316)
- Fix factory creation in new GH+MHD executable (#3334)
- Fix ghmhd analytic data (#3338)
- Add Timeout to TovStar input file test (#3346)
- Fix segfault in test for clang12 (#3340)
Contributors (14): @prayush, @moxcodes, @nilsleiffischer, @markscheel, @nilsdeppe, @fmahebert, @wthrowe, @MarloMo, @geoffrey4444, @kidder, @isha1810, @macedo22, @nikwit, @knelli2
- C++
Published by sxs-bot over 4 years ago
spectre - Release 2021.06.08
Upgrade instructions
From #3074 (Find horizon for time-dependent maps.):
The Shell DomainCreator now takes a TimeDependence, and requires TimeDependence in the input file. Set it to None to add no time dependence.
From #3146 (Switch hydro and GH systems to new evolution scheme):
The following changes to Rel Euler, GRMHD, and GH input files are necessary:
- Domain creator:
* Remove IsPeriodic (depends on specific domain used)
* Add BoundaryCondition (depends on specific domain used)
- Add BoundaryCorrection to SpatialDiscretization
- Remove NumericalFlux: part of input file
From #3167 (Add scotch dependency):
To use Scotch, follow a build procedure similar to that in the Caltech HPC environment file, and supply the -D USE_SCOTCH_LB=ON cmake flag.
From #3175 (Add Kastaun et al GRMHD primitive recovery scheme):
This is a new primitive recovery scheme.
To enable it in a GRMHD executable, add grmhd::ValenciaDivClean::KastaunEtAl to the ordered_list_of_primitive_recovery_schemes in the metavariables.
From #3150 (Add radial partitioning to Shell domain):
The option parsing arguments for Shell has changed. Example:
Old:
Shell:
InnerRadius: 1.
OuterRadius: 2.
UseLogarithmicMap: false
RadialBlockLayers: 2
New:
Shell:
InnerRadius: 1.
OuterRadius: 2.
RadialPartitioning: [1.5]
RadialDistribution: [Linear, Linear]
From #3212 (Ban {CHECK,REQUIRE}_THROWS):
Replace any uses of CHECK_THROWS and REQUIRE_THROWS with CHECK_THROWS_WITH and REQUIRE_THROWS_WITH
Merged pull-requests (82)
Major new features (3):
- Switch hydro and GH systems to new evolution scheme (#3146)
- Switch elliptic executables to new compact DG operator (#3113)
- Add XCTS executable (#3162)
General changes (71):
- Replace action is_ready with a Retry return result for apply (#3128)
- Find horizon for time-dependent maps. (#3074)
- Subcell: add ability reconstruct neighbor fluxes, AO-WENO(5,3) (#3124)
- Add Z-curve based element distribution (#3056)
- Add fluxes and characteristics to ScalarAdvection (#3143)
- Subcell: add ObserveFields event (#3136)
- Notify components of phase change before starting LB phase (#3145)
- Subcell: Add action TciAndSwitchToDg (#3133)
- Add GH+MHD TimeDerivativeTerms (#3134)
- Add XCTS system and tests (#3107)
- Switch M1Grey system to new evolution scheme (#3151)
- Add a safe way to mutably access a DataBox item (#3152)
- Subcell: add functions for the DG actions to call to support subcell (#3137)
- Add actions for sending subcell reconstruction data (#3138)
- Add action to take time step on FD grid (#3139)
- Add GH+MHD BoundaryCorrection (#3153)
- Subcell: tags LowerSpatialFourVelocity, OnSubcells, OnSubcellFaces, SubcellSolver option group (#3156)
- Delete lots of old DG code, move remaining (#3158)
- Patch charm files quietly (#3161)
- Support subcell in Burgers HLL and Render1D (#3123)
- Convert Trigger to use factory map (#3141)
- Add overlaying to the option parser (#3058)
- Subcell: Add function to correct packaged data for conservation (#3140)
- Subcell: GRMHD FD directory, reconstructor base class, and registration function (#3159)
- Support "massive" elliptic DG operator (#3148)
- Subcell: Prep GRMHD, var fixers return bool, add subcell dir to GRMHD, return status in recovery (#3157)
- Print contents of an uncaught exception. (#3170)
- Add Kerr horizon conforming map (#3115)
- Add scotch dependency (#3167)
- Temporarily disable charm inlining (#3165)
- Compile InfoAtLink.cpp with appropriate flags (#3103)
- Add walltime output (#3106)
- Convert DenseTrigger to use factory map (#3174)
- Constraint-preserving boundary terms for VSpacetimeMetric (#2998)
- Add periodic boundary condition to ScalarAdvection (#3178)
- Include TensorExpression interface in Tensor.hpp and clean up TensorExpression includes (#2992)
- Add DimensionfulSpinVectorTag and change RadiusCompute to type Scalar
(#2965) - Add hard-coded time-dependent maps to BinaryCompactObject (#2837)
- Add time derivative and volume terms to ScalarAdvection (#3149)
- Convert StepChooser to use factory map (#3173)
- Constraint-preserving boundary terms for VZero (GH) (#2999)
- Add lld to docker image. (#3189)
- Add Grmhd riemann problems analytic data (#3180)
- Grmhd spherical blast wave analytic data (#3181)
- GRMHD: add magnetized tov analytic data (#3186)
- CylindricalBBH domain: Add outer radial refinement. (#3168)
- Move Verbosity to IO/Logging (#3185)
- Add Charm++ section reductions (#3144)
- Subcell NewtEul: Add subcell directory and DgInitialDataTci mutator (#3176)
- Add interpolation target for user-specified points (#3191)
- Make alg::minelement and alg::maxelement constexpr (#3194)
- Convert Event to use factory map (#3196)
- Subcell GRMHD: add VariablesNeededFixing tag and TCI options (#3197)
- Add Kastaun et al GRMHD primitive recovery scheme (#3175)
- Subcell: Add TciOnDgGrid mutator for NewtonianEuler (#3198)
- Add ExportTimeDependentCoordinates3D (#3195)
- Print an error message if memory allocation fails (#1485)
- Improve GRMHD FixConservatives, remove seconds as unit of simulation time (#3201)
- Add radial partitioning to Shell domain (#3150)
- RunSingleTest: Print contents of uncaught exception. (#3205)
- Print backtrace on floating point exception (#3207)
- Add Rusanov boundary correction to ScalarAdvection (#3179)
- Ban {CHECK,REQUIRE}_THROWS (#3212)
- Make Symmetry doc match implementation and prohibit antisymmetries (#3202)
- Subcell: NewtonianEuler MC reconstruction scheme in primitive variables (#3160)
- Subcell: Add TciOnFdGrid mutator for NewtonianEuler (#3199)
- Add GeneralizedHarmonic: Christoffel (#3129)
- Add hydro tag LorentzFactorTimesSpatialVelocity (#3231)
- Switch compute tags to simple tags in Schwarz solver (#3217)
- Small cleanups to the boundary conditions and corrections (#3214)
- Subcell: Add TciOnDgGrid to ValenciaDivClean (#3204)
Bugfixes (8):
- Fix random failure in HalfSpaceMirror test, speed it up, fix linking error with TimeSequence (#3132)
- Fix MagneticRotor documentation (#3171)
- Revert #3103 (#3187)
- Remove doxygen from BjorhusImpl.cpp (#3192)
- Remove an extra db::AddSimpleTags (#3188)
- Loosen approx for Teukolsky test (#3237)
- Add radial partitioning check and improve help strings (#3236)
- Fix failure in CylindricalSide (#3208)
Contributors (14): @wthrowe, @markscheel, @nilsdeppe, @moxcodes, @yoonso0-0, @fmahebert, @nilsleiffischer, @nikwit, @erfz, @prayush, @macedo22, @MarloMo, @geoffrey4444, @kidder
- C++
Published by sxs-bot over 4 years ago
spectre - Release 2021.05.03
Upgrade instructions
From #3048 (Rename projection functions for use in AMR, add docs):
- Rename
projection_matrix_mortar_to_element->projection_matrix_child_to_parentandprojection_matrix_element_to_mortar->projection_matrix_parent_to_child. Make sure to check the order of their arguments.
From #3045 (Add load balancing):
Many yaml files must now include a PhaseChangeAndTriggers: block. If you do not wish to enter the load balancing phase, the block may be left empty.
From #2993 (Merge Wedge2D and Wedge3D maps):
- If you're using
Wedge2DorWedge3D, rename them toWedge<2>orWedge<3>, respectively. Note that the constructor forWedge<3>takes its argument in a slightly different order now because it was made consistent withWedge<2>.
From #3065 (Doxygen-ignore cpp files):
- You don't have to Doxygen-ignore problematic code in cpp files anymore using
/// \cond-comments (though you may still have to do so in header files). - For Doxygen
\snippets write// [snippet_name], not/// [snippet_name].
From #3046 (Add interpolator deregistration, Add load balancing to remaining executables):
Now all of the executables require input file .yamls to have a PhaseChangeAndTriggers entry
From #3080 (Support log and inverse radial distributions of grid points in Cylinder):
If you construct Wedges with the use_logarithmic_map option, change the boolean to domain::CoordinateMaps::Distribution::Logarithmic.
From #3084 (Move factory information to the metavariables):
The available factory-creatable types for some base classes (currently just StepController) are now specified in a factory_creation struct in the metavariables. See one of the standard executables for an example. More base classes will be converted to this new method over time.
Merged pull-requests (61)
Major new features (2):
- Add load balancing (#3045)
- Switch Burgers, ScalarWave, and NewtonianEuler to new evolution scheme (#3053)
General changes (47):
- Utilites for spacetime quantities on 2-surfaces (#2997)
- Clarify errors: CERROR breakpoint, backtrace addr2line support, DataBox clarification (#3052)
- Rename projection functions for use in AMR, add docs (#3048)
- Improve YlmSpherepack documentation (#3029)
- Merge Wedge2D and Wedge3D maps (#2993)
- Add option to output noninertial News (#3044)
- Doxygen-ignore cpp files (#3065)
- Use charm inline method instead of eliding charm (#3067)
- Add interpolator deregistration, Add load balancing to remaining executables (#3046)
- Improve EveryLB instructions (#3077)
- Add needsevolvedvariables method to events (#3064)
- Forbid cmake commands using literal library names (#3042)
- Add higher-dim projection operators, child_size function for AMR (#3082)
- Add DynamicBuffer (#3055)
- Auto-publish releases on Zenodo (#3089)
- Add boundary conditions for radiation transport system (#3090)
- Add dense triggers (#2983)
- Add comment explaining charm inline oddities (#3093)
- Add XCTS system equations (#2667)
- Add DG-subcell initialization action (#3069)
- Make CSW::ComputeLargestCharSpeed a compute tag (#3099)
- Template YlmSpherepack interpolation so it can use DataVectors and doubles (#2940)
- Instantiate Fastflow and its dependents for Frame::Grid. (#3104)
- Support parsing Charm++ 6.11 version file (#3079)
- Add contributors and PR counts to release notes (#3088)
- AddTemporalIdsToInterpolationTarget now works with time-dependent maps (#3005)
- Add "compact" elliptic DG operator (#2912)
- Add caltech HPC environment file (#2470)
- KerrSchild analytic solution now works for different frames. (#3105)
- Add HLLC boundary correction for NewtonianEuler system (#3063)
- Add subcell action labels and select method action (#3108)
- Add finite difference reconstruction schemes: minmod and MC (#3094)
- Update parallelization docs on action types (#3112)
- Add Kerr solution to XCTS equations (#3068)
- CylindricalBinaryCompactObject domain (#3059)
- Subcell init action cleanup (#3121)
- Add script that can interpolate VolumeData in an h5 file (#2761)
- Add binary data for the XCTS equations (#3057)
- Add ScalarAdvection system skeleton and Tags (#3111)
- Add dot product between std::arrays (#3114)
- Adds time dependence to InterpolationTargetReceiveVars (#3073)
- Subcell: Cartesian flux divergence, compute boundary terms (#3125)
- Add DG-subcell TciAndRollback action (#3122)
- Support log and inverse radial distributions of grid points in Cylinder (#3080)
- Add valencia stress energy calculation (#3083)
- Move factory information to the metavariables (#3084)
- Add multigrid hierarchy functions (#3096)
Bugfixes (12):
- Fix handling of base alias in simple tags (#3070)
- Fix issue with link.h being unavailable on some platforms (#3081)
- Loosen tolerance in GRMHD char test (#3075)
- Loosen tolerance in RelativisticEuler cons2prim (#3072)
- Allow non-static library for
moduleLB(#3087) - Fix broken example executables (#3091)
- Remove doxygen comments from DynamicBuffer.cpp (#3095)
- Restore CI: Use a cmake variable in M1 system (#3097)
- Remove use of env -S (#3098)
- Fix Caltech HPC environment according to follow-up suggestions (#3120)
- Change wheeler openmpi module down to openmpi/2.0.0 (#3109)
- Enable cleanup on CCE input file tests (#3130)
Contributors (9): @prayush, @nilsdeppe, @nilsleiffischer, @nikwit, @moxcodes, @wthrowe, @fmahebert, @markscheel, @yoonso0-0
- C++
Published by sxs-bot almost 5 years ago
spectre - Release 2021.04.06
Upgrade instructions
From #2984 (Fix vector comparison):
Be sure to use == on Variables and vectors only where you actually mean strict (bitwise) equality. Otherwise, use CHECK...APPROX in tests.
From #2862 (Error stepper action reorder):
Be sure to update any local time-stepping action lists to match the control flow in the EvolveScalarWave.hpp in this PR.
Note that when using local time-stepping and not in self-start, the ComputeTimeDerivative action now performs the steps previously done by RecordTimeStepperData, UpdateU, and ChangeStepSize.
Those actions are still available for cases in which either local time-stepping is not used or ComputeTimeDerivative is not used.
From #3010 (Include factor of dimension in CFL calculation):
The SafetyFactor option to the Cfl step chooser has changed its meaning. To maintain the same behavior, multiply the value in the input file by the spatial dimension of the evolution.
From #3026 ((De)registration during serialization):
Any new registration structs should define the new perform_registration and perform_deregistration functions to conform to the interface expected by the DgElementArray pup.
From #3020 (Add error control step chooser):
Most executables should now add the simple and compute tags associated wtih the metavariables' step_choosers sometime during initialization.
The compute_largest_characteristic_speed alias of most Systems must now be a compute tag.
Merged pull-requests
General changes:
- Clean up Algorithm iterable action implementation (#2960)
- Clean up CMakeLists oddities (#2966)
- Rename and add a few functions in MockRuntimeSystem. (#2974)
- Add Inactive tag to Dg-subcell (#2959)
- Add function to compute FD mesh from DG mesh (#2941)
- Use multi-indices to compute LHS tensor from tensor expressions (#2968)
- Add ability to specify ranges for random numbers in boundary corrections test helper (#2969)
- ScalarWave ConstraintPreservingSphericalRadiation and Periodic boundary conditions (#2938)
- Finish dense output for substep integrators (#2976)
- Add TensorExpressions::evaluate overload that takes LHS Tensor as an argument (#2946)
- Fix vector comparison (#2984)
- Add Rusanov boundary correction for the relativistic Euler system (#2970)
- Add function to reconstruct DG solution from subcells (#2958)
- Add functions to compute interface projection operators (#2820)
- Add SphericalCompression CoordMap (#2720)
- Simplify code in DataBoxTag.hpp (#2929)
- Instantiate
volume_termsfor CurvedScalarWave (#2972) - Add functions to compute Weyl char modes U8 (#2850)
- Covariant derivative of extrinsic curvature (#2851)
- Add action to reset Schwarz subdomain solver (#2949)
- Export GCCHOME in oceangcc.sh spectreruncmake (#3008)
- Add HLL boundary correction for NewtonianEuler system (#2921)
- Error stepper action reorder (#2862)
- Add elliptic InitializeBackgroundFields action (#2948)
- Support aggregate-initialization in option parsing (#3009)
- Fix source frame in CoordinateMap tag, take coordinates tag as template parameter for MappedCoordinates (#3004)
- Refactor minmod code (#3013)
- Simplify input arguments for the two-index and F-constraints (#2528)
- Factor out TensorExpression Product stress test into own own test file (#3012)
- Include factor of dimension in CFL calculation (#3010)
- Add interpolation of Gauss points to GL points for Bjorhus boundary conditions (#2975)
- Add some logging to Schwarz solver reductions (#2907)
- Remove unused TensorExpression tests from old implementation (#3006)
- Subcell tags for the mesh, coordinates, and TCI status (#3003)
- Add two-mesh relaxed DMP troubled cell indicator (#3001)
- Add boundary conditions for RelativisticEuler (#3015)
- Allow different boundary conditions on bases and mantle of cylinder (#2986)
- Add CylindricalSide Map (#2386)
- Add documentation to InterpolationTarget.hpp (#2943)
- Add Persson troubled-cell indicator function (#2942)
- Add infinity to the evolution comparators (#3007)
- Add subcell options class and tag (#3002)
- Add boundary conditions to ComputeTimeDerivative action (#2977)
- Add phase change factory-creatable (#2990)
- Combine excision and inner boundary condition options in binary domain creator (#2964)
- Update Minerva env and add submit script (#2947)
- Add Robin boundary conditions for Poisson system (#2951)
- Add Flatness boundary conditions for XCTS (#2954)
- Add Flatness solution for XCTS system (#2955)
- Add using_subcell type trait (#3036)
- Add visit and return phase change, and interface helpers (#2991)
- (De)registration during serialization (#3026)
- ObserveTimeStep Time Output (#2962)
- CylindricalFlatEndcap map. (#2401)
- Add Rusanov boundary correction for M1Grey system (#3033)
- Update CMake policy (#3027)
- Add elastic strain function, used for XCTS longitudinal shift (#3040)
- Update OceanClang.sh submit script to preserve spectre environment during submission (#2860)
- CylindricalFlatSide map. (#2405)
- Add error control step chooser (#3020)
- Add remaining XCTS variables to Schwarzschild solution (#3043)
- Subcell add function to compute TCI status and compute tag (#3035)
- Add tmpl::as_pack function (#3049)
- Add method to compute the spatial Ricci tensor from GR and GH vars (#2529)
- Subcell: add class to store neighbor data for reconstruction and RDMP TCI (#3038)
- Support anisotropic and inhomogeneous refinement in Cylinder (#3021)
- Add custom tolerance on boundary corrections conservation test (#3051)
- Add grid index to ElementId (#3031)
- Subcell: add relaxed discrete maximum principle TCI (#3039)
- Subcell: tags DidRollback and caching Jacobians (#3054)
- Compute boundary terms from package data in python tests (#3061)
- Add function to slice data on subcells (#3037)
Bugfixes:
- Fix missing dependencies (#2979)
- Fix linking in Options lib (#2982)
- Avoid negative radii in SphericalCompression test (#2996)
- Fix random unit test failures in computation of covD(ex curv) (#3018)
- Fix a missing include in build system (#3022)
- Have Options::Auto pass metavars along (#3025)
- Disallow step changes when slab number is negative (#3034)
- Minor fixes in new evolution scheme for LTS support (#3041)
- CylindricalEndcap: Keep proj point farther from invertibility cone. (#3032)
- Have GH quantities test range up to 1. instead of 10. (#3062)
- Tweak relative tolerance in ErrorControl test (#3066)
- C++
Published by sxs-bot almost 5 years ago
spectre - 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
functiontaking theirreturn_typebygsl::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::invokerandomqueued_action):
Usage of invokerandomqueuedaction is slightly different, as it now uses the new function arrayindiceswithqueued_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 unittestbuild_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
readonlyorreadwrite(#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::invokerandomqueued_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 dgpackagedata 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)
- C++
Published by sxs-bot almost 5 years ago
spectre - Release 2021.02.08
Upgrade instructions
From #2687 (Observe analytic solutions if available):
- If you retrieved analytic solutions from the DataBox as
::Tags::Analytic<Tag>, update your code to retrieve::Tags::AnalyticSolutionsBaseinstead. It currently always holds aVariablesfrom which you can retrieve the analytic solution fields as::Tags::Analytic<Tag>the same way you did before. In the future it may hold astd::optional<Variables>in cases where it is not clear at compile-time that analytic solutions are available.
From #2574 (Use Blaze 3.8 (exclusively) (again), and test architectures):
Upgrade the Blaze library to version 3.8.
From #2792 (Add mocked cores and nodes to ActionTesting):
- In ActionTesting, if you are mocking a Group, Nodegroup, or Singleton component, these should now have
chare_typeset toMockGroupChare,MockNodeGroupChare, orMockSingletonChareinstead ofMockArrayChare. Note thatMockArrayCharewill sometimes work for these components for some tests, but not ifckLocalorckLocalBranchis ever called on those components. - In ActionTesting, the new functions
emplace_singleton_component,emplace_group_component,emplace_array_component, andemplace_nodegroup_componentshould be used instead ofemplace_component. Note thatemplace_componentstill works but will be removed in the future. - The functions in Utilities/System/ParallelInfo now have two versions: the low-level charm++ version (in the
sysnamespace) and a new version templated on theDistributedObject. Thesysversion should be used only for low-level things likeAbortWithErrorMessageor theParallelInfoexecutable where you know they will never be mocked; the templated version should be used everywhere else.
Merged pull-requests
General changes:
- Add evolution boundary condition type and domain boundary condition base class (#2750)
- Check that det(Jacobian) is positive in coordinate maps using discrete rotations (#2751)
- Add quadrature to Mortars & DgDomain init, support Gauss pts and weak form in ComputeTimeDerivative (#2721)
- Add elliptic utility to work with tags containing maps (#2733)
- Fix slow vector tests gcc10 (#2730)
- Re-arrange Blaze template expressions (#2728)
- Add ApplyBoundaryCorrections action to go with ComputeTimeDerivative (#2722)
- Print back trace from ERROR and ASSERT macros, add ERRORNOTRACE macro (#2766)
- Finish removing uses of boost::optional (#2753)
- Make TensorExpression abstract (#2771)
- Add support for GR/non-flat metrics to ComputeTimeDerivative (#2772)
- Add ChristodoulouMass compute tag (#2752)
- Add test helper for elliptic first-order systems (#2675)
- Observe analytic solutions if available (#2687)
- Implement TensorExpression Product (#2716)
- Remove TensorExpression multi-index get overloads (#2775)
- Use unsorted generic indices in AddSub (#2776)
- Add error measures to steppers (#2630)
- Add TensorExpression test with multiple operations (#2777)
- Cce analytic test exe prep, add option parsing for std::complex, add integer static cache range (#2608)
- Upgrade docs deployment, enable on forks (#2739)
- Generalize Minmod limiter to handle Gauss points (#2783)
- Add boundary conditions to Block and Domain classes (#2770)
- Add curved background support to boundary corrections test helpers (#2765)
- Support factory-creating the Schwarz subdomain solver and add ExplicitInverse solver (#2664)
- Add Boundary conditions test helpers (#2798)
- Add Boundary corrections for Burgers (#2767)
- Add Rusanov boundary correction to Newtonian Euler (#2768)
- Derive elliptic solutions from base classes (#2698)
- Orient std::vector on slices (#2800)
- Add upwind penalty boundary correction for scalar wave (#2769)
- Add time dependence to evolution observer input file test (#2789)
- Prepare curved Poisson and Elasticity systems for use in XCTS equations (#2674)
- Refactor ComputeTimeDerivative (#2799)
- Add struct for marking DataBox tags for a reference item (#2807)
- Clarify contributing guide: PRs don't need everyone's re-approval before merging (#2811)
- Add python bindings for mesh and regular grid interpolant (#2734)
- Improve action of Minmod limiter and TCI at external boundaries (#2795)
- Update Blaze version requirements to 3.7 (#2816)
- Documentation: threaded_action is an entry method. (#2802)
- Prohibit serializing a non-owning vector (#2804)
- Add Rusanov boundary correction for GRMHD, make lapse, shift, inv spatial metric temp tags (#2814)
- Add trivial solution to Poisson and Elasticity systems (#2812)
- Make TensorExpression member variables non-const (#2810)
- Use Gauss points in test for ApplyMatrices (#2808)
- Add tag traits for a reference tag (#2817)
- Use Blaze 3.8 (exclusively) (again), and test architectures (#2574)
- Compute elliptic sources in two steps (#2818)
- Pypp: better error msg, better string support, factor normal vector boundary correction helper code (#2827)
- Rename elliptic fluxes and sources computer type aliases (#2819)
- Evolution: remove InterfaceTags, support unaligned meshes, stop copying fluxes (#2824)
- Add variables for Neumann boundary conditions to elliptic solutions (#2828)
- Add tags for elliptic DG (#2826)
- Add getter for remote mortar data (#2823)
- Add boundary condition support to Creators::Interval (#2803)
- Handle reference tags in db::tag_name (#2836)
- Add upwind penalty boundary correction to GH (#2813)
- Add mocked cores and nodes to ActionTesting (#2792)
- Add base class for elliptic boundary conditions (#2732)
- Move penalty function for elliptic DG to its own file (#2821)
- Loosen restrictions on divergence return buffer tags (#2822)
Bugfixes:
- Update Wheeler env, LIBXSSM+Pybind11 (#2749)
- Fix version name validation in release workflow (#2756)
- Fix arguments not passed to Python executables (#2759)
- Remove extra comma in python init files (#2764)
- Fix protocol assertconformsto, relax NumericalFlux requirements for evolution DG transition (#2763)
- Propagate PCH flags to dependent targets (#2778)
- Fix PCH dependencies (#2782)
- Restore clang-tidy on CI (#2785)
- Fix uninitialized array in OuterProduct (#2784)
- Don't disrupt PRs between releases (#2773)
- Make sure Python headers are consistent with interpreter (#2755)
- Register Newtonian Euler Rusanov solver in test (#2801)
- Restore CI: Fix a renamed type alias (#2834)
- Fix load balancing test (#2806)
- Restore behaviour of InitializeMortars (#2825)
- Fix linking of DomainBoundaryConditions lib (#2842)
- Fix latex for TensorExpressions::evaluate (#2838)
- C++
Published by sxs-bot about 5 years ago
spectre - Release 2021.01.11
Upgrade instructions
From #2672 (Make finding Python in build system more robust, update Docker container):
- To specify a Python executable when configuring CMake, use the variable
Python_EXECUTABLEinstead of the oldPYTHON_EXECUTABLE, e.g.:
cmake -D Python_EXECUTABLE=/usr/bin/python3 $SPECTRE_HOME
More information on configuring CMake with Python: https://cmake.org/cmake/help/latest/module/FindPython.html
- If you use the Python bindings at all, install Pybind11 via pip:
pip install pybind11
More information on installing Pybind11: https://pybind11.readthedocs.io/en/stable/installing.html
CMake should find the installation automatically. If you run into trouble, make sure you use the Python executable from the environment that you have installed pybind11 in, then file an issue. More information on finding Pybind11 in CMake: https://pybind11.readthedocs.io/en/stable/cmake/index.html
From #2737 (Require LIBXSMM 1.16.1):
Upgrade your local LIBXSMM installation to 1.16.1 or newer, or update to the latest container
From #2691 (Create low-level SystemUtilities lib to resolve cyclic dependency between ErrorHandling and Parallel):
- If you are looking for
ErrorHandling/headers, you'll find them inUtilities/ErrorHandling/now. - If you are looking for low-level headers like
Parallel/Info.hpp, see if you find what you need inUtilities/System/.
Merged pull-requests
Major new features:
- Add code development quick-start guide (#2465)
- Add parallel Newton-Raphson nonlinear solver with line-search (#2564)
- Add 1D data visualization tool (#1578)
- Add interpolation option for ObserveFields (#2658)
General changes:
- Improve/fix FixedHashMap & std::optional serialization (#2622)
- Provide the (reconstructed) input from the parser (#2624)
- Factor NewtonianEuler/ComputeItems.?pp into several files (#2617)
- Support 'None' label for Options::Auto (#2626)
- Add Schwarzschild solution to XCTS system in isotropic coords (#2490)
- Move algorithms to src (#2616)
- Add function to check conservation for new boundary corrections (#2589)
- Functions and tags for computing normal vectors in general spacetimes (#2596)
- Require catch 2.8, print more digits in catch output (#2638)
- Allow running clang-tidy in parallel (#2493)
- Remove TensorIndex type aliases (#2640)
- Make mesh option-parsable (#2642)
- Make DampingFunctions depend on FunctionsOfTime (#2643)
- Update catch2 on ocean (#2651)
- Add NumIterations convergence reason (#2627)
- Optimize serial linear solvers and support factory-creation (#2629)
- Refactor action testing (#2634)
- Add script to compile release notes, update PR template and add tests (#2637)
- Global cache serialization functions (#2613)
- Pypp revamp (#2557)
- Redesign spec FunctionOfTime importer to only read the H5 file once (#2559)
- Add CMake options to make profiling easier (#2633)
- Update Singularity Website links (#2657)
- Remove suggested values from ObserveFields (#2661)
- Distinguish option parser output from other output (#2662)
- Allow disabling git hooks (#2663)
- Make DampingFunctions return by not_null (#2665)
- Python visualization scripts cleanup (#2671)
- Add unit-tests target (#2670)
- Add SpinFunctionTags to Tags.hpp (#2635)
- Compute internal boundaries/faces in new DG dt action (#2621)
- Support shared libs with python bindings, switch CI to mostly use shared libs (#2669)
- Drop support for clang 6 and 7 (#2659)
- Update ocean to cmake 3.18.5 (#2688)
- Update wheeler environments (#2660)
- Add automatic versioning (#2598)
- Make finding Python in build system more robust, update Docker container (#2672)
- Replace boost::optional -> std::optional in CoordinateMaps (#2685)
- Add note for necessary jemalloc pre-load in documentation (#2704)
- Add CMake option to remove unit-tests from test-executables (#2723)
- Allow undefined symbols on Darwin for InfoAtLink (#2689)
- Remove unneeded TensorExpression storage index maps (#2715)
- Add documentation for how to run basic CCE (#2498)
- Serialize algorithm (#2374)
- Find newer versions of LIBXSMM and add clang-11 to CI (#2706)
- Make std::variant option-parsable (#2656)
- Add option alternatives (#2625)
- Add sending new boundary corrections to ComputeTimeDerivative (#2702)
- Require LIBXSMM 1.16.1 (#2737)
- Remove boost::optional in moving mesh code (#2736)
- Create low-level SystemUtilities lib to resolve cyclic dependency between ErrorHandling and Parallel (#2691)
- Add DimensionfulSpinMagnitudeTag to Tags.hpp (#2713)
- Fix move constructor and move assignment for NodeLock (#2699)
- Add enum for elliptic boundary condition types (#2725)
- Add logical partial derivative function for individual tensors (#2682)
- Add computation of Jacobian, inverse Jacobian, and determinant of the Jacobian that satisfy the metric identities (#2683)
- Prevent newer clang from producing FPEs (#2741)
- Convert FunctionsOfTime to cache tag (#2614)
- Update libxsmm on ocean to 1.16.1 (#2747)
- Fix automatic versioning on protected branch, enable reviewing releases before they are dispatched (#2738)
- Small code cleanups in coord maps (#2740)
- Add python test function for boundary corrections (#2700)
Bugfixes:
- Fix Boost header guard for versions 1.73.0+ (#2636)
- Fix HalfSpaceMirror test timeouts (#2641)
- Fix Boost version across CMake versions (#2649)
- Fix typo in clang-tidy runs (#2648)
- Fix typo in an error message (#2647)
- Fetch upstream tags on forks to fix CI (#2666)
- Raise a sigtrap so debuggers work without having to specify env variables (#2668)
- Fix some PUP includes (#2692)
- Print git description and hashes consistently in CMake (#2673)
- Loosen tolerance in HalfSpaceMirror test (#2686)
- Fix SetupJemalloc with CMake 3.12 (#2684)
- Add CMake hints to find Pybind11 in more cases (#2707)
- Handle newer nullptr mangling (#2709)
- Ensure GlobalCache contents are serializable in ActionTesting (#2708)
- Fix version strings that had leading zeros stripped (#2694)
- Make git description in build system more robust, make sure release tags are annotated (#2724)
- Fix AppleClang 12 warnings about non-reference iterators (#2711)
- Fix false negatives in db::apply callable check (#2714)
- Run Python executables in correct environment (#2712)
- [restore CI on develop] Fix catch labels to run in correct CI stage (#2731)
- computedataboxtype now works for incomplete types. (#2726)
- Fix Py_None reference counting in pypp, prevent modification of RunSingleTest/CMakeLists.txt, check for TODO comments (#2729)
- Fix an error handling include to restore CI (#2745)
- C++
Published by sxs-bot about 5 years ago