#include #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(polytrope, serif::dimensions::SpecificEnthalpyValue{1.0}).value()); const serif::eos::runtime::EOSView view(polytrope); const auto result = view.try_evaluate(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); }