SpECTRE
v2024.12.16
|
Refine the grid towards the target constraint violation. More...
#include <Constraints.hpp>
Classes | |
struct | AbsoluteTarget |
struct | CoarseningFactor |
struct | ConstraintsToMonitor |
Public Types | |
using | options = implementation defined |
using | compute_tags_for_observation_box = implementation defined |
using | argument_tags = implementation defined |
Public Member Functions | |
Constraints (std::vector< std::string > vars_to_monitor, double abs_target, double coarsening_factor, const Options::Context &context={}) | |
std::string | observation_name () override |
template<typename ComputeTagsList , typename DataBoxType , typename Metavariables > | |
std::array< Flag, Dim > | operator() (const ObservationBox< ComputeTagsList, DataBoxType > &box, Parallel::GlobalCache< Metavariables > &cache, const ElementId< Dim > &element_id) const |
void | pup (PUP::er &p) override |
Public Member Functions inherited from amr::Criterion | |
Criterion (CkMigrateMessage *msg) | |
WRAPPED_PUPable_abstract (Criterion) | |
virtual std::string | observation_name ()=0 |
template<typename ComputeTagsList , typename DataBoxType , typename Metavariables > | |
auto | evaluate (const ObservationBox< ComputeTagsList, DataBoxType > &box, Parallel::GlobalCache< Metavariables > &cache, const ElementId< Metavariables::volume_dim > &element_id) const |
Evaluates the AMR criteria by selecting the appropriate derived class and forwarding its argument_tags from the ObservationBox (along with the GlobalCache and ArrayIndex) to the call operator of the derived class. More... | |
Static Public Attributes | |
static constexpr Options::String | help |
Refine the grid towards the target constraint violation.
This criterion is based on Sec. 6.1.4 in [186] .
If the coarsening factor turns out to be hard to choose, then we can try to eliminate it by projecting the variables to a lower polynomial order before computing constraints, or something like that.
Dim | Spatial dimension of the grid |
TensorTags | List of tags of the constraints to be monitored. These must be tensors of rank 2 or higher. The first index must be a lower spatial index that originates from a derivative. |
|
inlineoverridevirtual |
Implements amr::Criterion.
|
staticconstexpr |