SpECTRE  v2024.04.12
amr::Criteria::Random Class Reference

Randomly refine (or coarsen) an Element in each dimension. More...

#include <Random.hpp>


struct  ProbabilityWeights

Public Types

using options = tmpl::list< ProbabilityWeights >
using compute_tags_for_observation_box = tmpl::list<>
using argument_tags = tmpl::list<>

Public Member Functions

 Random (std::unordered_map< amr::Flag, size_t > probability_weights)
template<size_t Dim, typename Metavariables >
auto operator() (Parallel::GlobalCache< Metavariables > &, 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)
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

Detailed Description

Randomly refine (or coarsen) an Element in each dimension.

You can specify a probability for each possible amr::Flag. It is evaluated in each dimension separately. Details:

  • Probabilities are specified as integer weights. The probability for an amr::Flag is its weight over the sum of all weights.
  • Flags with weight zero do not need to be specified.
  • If all weights are zero, amr::Flag::DoNothing is always chosen.

Member Data Documentation

◆ help

constexpr Options::String amr::Criteria::Random::help
Initial value:
= {
"Randomly refine (or coarsen) the grid"}

The documentation for this class was generated from the following file: