Files
MeanField_SERiF/tests/sandbox/eos_sandbox.cpp

26 lines
1.1 KiB
C++
Raw Normal View History

#include <print>
#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);
}