feat(quadrature): quadrature system brought over

Ported and dramatically cleaned up the quadrature system. This includes centralizing all field definitions
This commit is contained in:
2026-09-19 07:35:57 -04:00
parent 7b4f30d945
commit c44584c1e7
75 changed files with 8936 additions and 172 deletions

View File

@@ -3,9 +3,24 @@
#include "serif/eos/models/polytropic.hpp"
#include "serif/eos/evaluation.hpp"
#include "serif/dimensions/type_alias.hpp"
#include "serif/discretization/blocks/base.hpp"
#include "serif/discretization/blocks/fields.hpp"
#include "serif/discretization/domain/physical_domains.hpp"
#include "serif/eos/runtime/details.hpp"
#include "serif/eos/runtime/concepts.hpp"
#include "serif/eos/runtime/views.hpp"
int main() {
const serif::eos::models::Polytrope polytrope(1, 0.6);
std::println("Density: {}", serif::eos::evaluate<serif::dimensions::Density>(polytrope, serif::dimensions::SpecificEnthalpyValue{1.0}).value());
const serif::eos::runtime::EOSView view(polytrope);
const auto result = view.try_evaluate<serif::dimensions::Density>(serif::dimensions::SpecificEnthalpyValue{1.0});
if (result.has_value()) {
std::println("From runtime view: Density: {}", result->value());
} else {
std::println("From runtime view: EOS view is unavailable.");
}
std::println("{}", serif::discretization::blocks::gravity::name);
}