29 lines
649 B
C++
29 lines
649 B
C++
module;
|
|
#include <mfem.hpp>
|
|
|
|
module mean_field;
|
|
|
|
namespace mean_field::utils {
|
|
DOMAINS operator|(
|
|
DOMAINS lhs,
|
|
DOMAINS rhs
|
|
) {
|
|
return static_cast<DOMAINS>(static_cast<uint8_t>(lhs) | static_cast<uint8_t>(rhs));
|
|
}
|
|
|
|
DOMAINS operator&(
|
|
DOMAINS lhs,
|
|
DOMAINS rhs
|
|
) {
|
|
return static_cast<DOMAINS>(static_cast<uint8_t>(lhs) & static_cast<uint8_t>(rhs));
|
|
}
|
|
|
|
int get_mesh_order(const mfem::Mesh &mesh) {
|
|
if (mesh.GetNodes() != nullptr) {
|
|
return mesh.GetNodes()->FESpace()->GetMaxElementOrder();
|
|
}
|
|
return 1;
|
|
}
|
|
|
|
} // namespace mean_field::utils
|