feat(libmeanfield): centrifugal + pressure
This commit is contained in:
29
libmeanfield/interface/solver/fields.cppm
Normal file
29
libmeanfield/interface/solver/fields.cppm
Normal file
@@ -0,0 +1,29 @@
|
||||
module;
|
||||
|
||||
#include <cstdint>
|
||||
|
||||
export module mean_field:solver.fields;
|
||||
|
||||
export namespace mean_field::solver {
|
||||
enum class FieldBlock : std::uint8_t {
|
||||
velocity = 0,
|
||||
density = 1,
|
||||
gravity_gradient = 2,
|
||||
gravity_potential = 3,
|
||||
displacement = 4,
|
||||
count = 5
|
||||
};
|
||||
|
||||
[[nodiscard]] constexpr int block_index(const FieldBlock field) noexcept {
|
||||
return static_cast<int>(field);
|
||||
}
|
||||
|
||||
inline constexpr int field_block_count = block_index(FieldBlock::count);
|
||||
|
||||
static_assert(block_index(FieldBlock::velocity) == 0);
|
||||
static_assert(block_index(FieldBlock::density) == 1);
|
||||
static_assert(block_index(FieldBlock::gravity_gradient) == 2);
|
||||
static_assert(block_index(FieldBlock::gravity_potential) == 3);
|
||||
static_assert(block_index(FieldBlock::displacement) == 4);
|
||||
static_assert(field_block_count == 5);
|
||||
} // namespace mean_field::solver
|
||||
Reference in New Issue
Block a user