Line data Source code
1 0 : // Distributed under the MIT License.
2 : // See LICENSE.txt for details.
3 :
4 : #pragma once
5 :
6 : #include <cstddef>
7 :
8 : #include "ParallelAlgorithms/Amr/Criteria/DriveToTarget.hpp"
9 : #include "ParallelAlgorithms/Amr/Criteria/IncreaseResolution.hpp"
10 : #include "ParallelAlgorithms/Amr/Criteria/Loehner.hpp"
11 : #include "ParallelAlgorithms/Amr/Criteria/Persson.hpp"
12 : #include "ParallelAlgorithms/Amr/Criteria/Random.hpp"
13 : #include "ParallelAlgorithms/Amr/Criteria/TruncationError.hpp"
14 : #include "Utilities/TMPL.hpp"
15 :
16 : namespace amr::Criteria {
17 :
18 : /*!
19 : * \brief AMR criteria that are generally applicable
20 : *
21 : * \tparam Dim the spatial dimension
22 : * \tparam TensorTags the tensor fields to monitor
23 : */
24 : template <size_t Dim, typename TensorTags>
25 1 : using standard_criteria = tmpl::list<
26 : // p-AMR criteria
27 : ::amr::Criteria::IncreaseResolution<Dim>,
28 : ::amr::Criteria::TruncationError<Dim, TensorTags>,
29 : // h-AMR criteria
30 : ::amr::Criteria::Loehner<Dim, TensorTags>,
31 : ::amr::Criteria::Persson<Dim, TensorTags>,
32 : // Criteria for testing or experimenting
33 : ::amr::Criteria::DriveToTarget<Dim, Type::h>,
34 : ::amr::Criteria::DriveToTarget<Dim, Type::p>,
35 : ::amr::Criteria::Random<Type::h>, ::amr::Criteria::Random<Type::p>>;
36 :
37 : } // namespace amr::Criteria
|