SERiF v0.0.1a
Stellar Evolution and Rotation in Four Dimensions
Loading...
Searching...
No Matches
automatic_relations.hpp File Reference
Include dependency graph for automatic_relations.hpp:
This graph shows which files directly or indirectly include this file:

Namespaces

namespace  serif
 
namespace  serif::geometry
 
namespace  serif::geometry::surface
 
namespace  serif::geometry::surface::detail
 

Concepts

concept  serif::geometry::surface::detail::ThermodynamicBoundaryField
 Globals require an explicit physical role: matching units alone would mistake C or a multiplier for enthalpy.
 

Functions

template<typename... Terms>
consteval auto serif::geometry::surface::detail::thermodynamic_fields (utils::dependencies::KeyList< Terms... >)
 Collect physical fields, retaining distinct terms with equal quantities so ambiguity remains visible.
 
template<typename Quantity, typename Carrier, typename... Fields>
consteval auto serif::geometry::surface::detail::quantity_field (utils::dependencies::KeyList< Fields... >)
 Return a unique field for a quantity; the chosen residual carrier supplies its own quantity unambiguously.
 
template<typename Carrier, typename Fields, typename... Quantities>
consteval auto serif::geometry::surface::detail::relation_bindings (utils::dependencies::KeyList< Quantities... >)
 Bind only the quantities read by this candidate, ignoring unrelated fields and quantities.
 
template<typename EOS, typename Carrier, typename Fields, typename Relation>
consteval auto serif::geometry::surface::detail::inverse_candidate ()
 Test a declared inverse and every required analytic partial before publishing its formulation.
 
template<typename EOS, typename Carrier, typename Fields, typename Relation>
consteval auto serif::geometry::surface::detail::direct_candidate ()
 A direct pressure relation may replace only a row belonging to one of its solved inputs.
 
template<bool Inverse, typename EOS, typename Carrier, typename Fields, typename... Relations>
consteval auto serif::geometry::surface::detail::relation_candidates (eos::relations::RelationCatalog< Relations... >)
 Keep every admissible relation; catalog order never selects a physical implementation.