Refine the grid towards the target number of grid points and refinement levels in each dimension and then oscillate about the target.
More...
|
| DriveToTarget (const std::array< size_t, Dim > &target_number_of_grid_points, const std::array< size_t, Dim > &target_refinement_levels, const std::array< Flag, Dim > &flags_at_target) |
|
std::string | observation_name () override |
|
template<typename Metavariables > |
auto | operator() (const Mesh< Dim > ¤t_mesh, Parallel::GlobalCache< Metavariables > &, 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>
class amr::Criteria::DriveToTarget< Dim >
Refine the grid towards the target number of grid points and refinement levels in each dimension and then oscillate about the target.
Details
If the grid is at neither target in a given dimension, the flag chosen will be in the priority order Split, IncreaseResolution, DecreaseResolution, Join.
- Note
- To remain at the target, set the OscillationAtTarget Flags to DoNothing.
-
This criterion is primarily for testing the mechanics of refinement.