Files
MeanField/libmeanfield/interface/boundary/context.cppm

31 lines
667 B
C++

module;
#include "mean_field.h"
export module mean_field:boundary.contexts;
export namespace mean_field::boundary {
struct BoundaryContext {
mfem::Array<int> inf_bounds;
mfem::Array<int> stellar_bounds;
};
enum class Boundaries : uint8_t { STELLAR_SURFACE = 1, INF_SURFACE = 2 };
int operator-(
Boundaries b,
const int a
) {
return static_cast<int>(
static_cast<uint8_t>(b) - static_cast<uint8_t>(a)
);
}
struct Bounds {
double r_star_ref;
double r_inf_ref;
};
enum BoundsError : uint8_t { CANNOT_FIND_VACUUM };
} // namespace mean_field::boundary