feat(libmeanfield): centrifugal + pressure

This commit is contained in:
2026-08-04 14:24:55 -04:00
parent 9bc4f2758a
commit dc912fd15e
115 changed files with 260058 additions and 163261 deletions

View 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