2026-07-15 09:44:43 -04:00
|
|
|
module;
|
2026-08-04 14:24:55 -04:00
|
|
|
#include <mfem.hpp>
|
2026-07-15 09:44:43 -04:00
|
|
|
|
|
|
|
|
module mean_field;
|
|
|
|
|
|
|
|
|
|
namespace mean_field::utils {
|
2026-08-29 08:56:36 -04:00
|
|
|
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
|