2026-09-15 10:42:00 -04:00
|
|
|
#include <print>
|
|
|
|
|
|
|
|
|
|
#include "serif/eos/models/polytropic.hpp"
|
|
|
|
|
#include "serif/eos/evaluation.hpp"
|
|
|
|
|
#include "serif/dimensions/type_alias.hpp"
|
2026-09-19 07:35:57 -04:00
|
|
|
#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"
|
2026-09-15 10:42:00 -04:00
|
|
|
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());
|
2026-09-19 07:35:57 -04:00
|
|
|
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);
|
2026-09-15 10:42:00 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|