Flag.hpp
Go to the documentation of this file.
1 // Distributed under the MIT License.
2 // See LICENSE.txt for details.
3 
4 /// \file
5 /// Defines enum class amr::Flag.
6 
7 #pragma once
8 
9 #include <iosfwd>
10 
11 /// \ingroup ComputationalDomainGroup
12 /// Items for adaptive mesh refinement
13 namespace amr {
14 
15 /// \ingroup ComputationalDomainGroup
16 /// \brief Flags that represent decisions about mesh refinement
17 ///
18 /// In order to support anisotropic mesh refinement, a flag is specified for
19 /// each dimension.
20 enum class Flag {
21  Undefined, /**< used to initialize flags before a decision is made */
22  Join, /**< join the sibling of an Element */
23  DecreaseResolution, /**< decrease number of points in an Element */
24  DoNothing, /**< stay the same */
25  IncreaseResolution, /**< increase number of points in an Element */
26  Split /**< split the Element into two smaller elements */
27 };
28 
29 /// Output operator for a Flag.
30 std::ostream& operator<<(std::ostream& os, const Flag& flag);
31 } // namespace amr
increase number of points in an Element
decrease number of points in an Element
split the Element into two smaller elements
std::ostream & operator<<(std::ostream &os, const Flag &flag)
Output operator for a Flag.
Definition: Flag.cpp:11
join the sibling of an Element
Items for adaptive mesh refinement.
Definition: Flag.cpp:9
stay the same
used to initialize flags before a decision is made
Flag
Flags that represent decisions about mesh refinement.
Definition: Flag.hpp:20