h-refine the grid based on power in the highest modes
More...
#include <Persson.hpp>
using options = implementation defined
using compute_tags_for_observation_box = implementation defined
using argument_tags = implementation defined
Persson (std::vector < std::string > vars_to_monitor, const size_t num_highest_modes, double alpha, double absolute_tolerance, double coarsening_factor, const Options::Context &context={})
std::string observation_name () override
template<typename DbTagsList , typename Metavariables >
std::array < Flag , Dim > operator() (const db::DataBox< DbTagsList > &box, Parallel::GlobalCache < Metavariables > &cache, const ElementId < Dim > &element_id) const
void pup (PUP::er &p) override
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...
template<size_t Dim, typename TensorTags>
class amr::Criteria::Persson< Dim, TensorTags >
h-refine the grid based on power in the highest modes
See also persson_smoothness_indicator
◆ observation_name()
template<size_t Dim, typename TensorTags >
◆ help
template<size_t Dim, typename TensorTags >
Initial value: = {
"Refine the grid so the power in the highest modes stays below the "
"tolerance" }
The documentation for this class was generated from the following file:
src/ParallelAlgorithms/Amr/Criteria/Persson.hpp