\doxysection{src/include/serif/geometry/surface/detail/automatic\+\_\+relations.hpp File Reference} \hypertarget{automatic__relations_8hpp}{}\label{automatic__relations_8hpp}\index{src/include/serif/geometry/surface/detail/automatic\_relations.hpp@{src/include/serif/geometry/surface/detail/automatic\_relations.hpp}} {\ttfamily \#include "{}serif/geometry/surface/compilation.\+hpp"{}}\newline {\ttfamily \#include "{}serif/discretization/blocks/traits.\+hpp"{}}\newline Include dependency graph for automatic\+\_\+relations.\+hpp\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{automatic__relations_8hpp__incl} \end{center} \end{figure} This graph shows which files directly or indirectly include this file\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{automatic__relations_8hpp__dep__incl} \end{center} \end{figure} \doxysubsubsection*{Namespaces} \begin{DoxyCompactItemize} \item namespace \mbox{\hyperlink{namespaceserif}{serif}} \item namespace \mbox{\hyperlink{namespaceserif_1_1geometry}{serif\+::geometry}} \item namespace \mbox{\hyperlink{namespaceserif_1_1geometry_1_1surface}{serif\+::geometry\+::surface}} \item namespace \mbox{\hyperlink{namespaceserif_1_1geometry_1_1surface_1_1detail}{serif\+::geometry\+::surface\+::detail}} \end{DoxyCompactItemize} \doxysubsubsection*{Concepts} \begin{DoxyCompactItemize} \item concept \mbox{\hyperlink{conceptserif_1_1geometry_1_1surface_1_1detail_1_1_thermodynamic_boundary_field}{serif\+::geometry\+::surface\+::detail\+::\+Thermodynamic\+Boundary\+Field}} \begin{DoxyCompactList}\small\item\em Globals require an explicit physical role\+: matching units alone would mistake C or a multiplier for enthalpy. \end{DoxyCompactList}\end{DoxyCompactItemize} \doxysubsubsection*{Functions} \begin{DoxyCompactItemize} \item {\footnotesize template$<$typename... Terms$>$ }\\consteval auto \mbox{\hyperlink{namespaceserif_1_1geometry_1_1surface_1_1detail_a20efef5a4c76937c7b0c55b68ef1c8c9}{serif\+::geometry\+::surface\+::detail\+::thermodynamic\+\_\+fields}} (\mbox{\hyperlink{structserif_1_1utils_1_1dependencies_1_1_key_list}{utils\+::dependencies\+::\+Key\+List}}$<$ Terms... $>$) \begin{DoxyCompactList}\small\item\em Collect physical fields, retaining distinct terms with equal quantities so ambiguity remains visible. \end{DoxyCompactList}\item {\footnotesize template$<$typename Quantity, typename Carrier, typename... Fields$>$ }\\consteval auto \mbox{\hyperlink{namespaceserif_1_1geometry_1_1surface_1_1detail_a054743686d2e9c126d7a91dffd3342b7}{serif\+::geometry\+::surface\+::detail\+::quantity\+\_\+field}} (\mbox{\hyperlink{structserif_1_1utils_1_1dependencies_1_1_key_list}{utils\+::dependencies\+::\+Key\+List}}$<$ Fields... $>$) \begin{DoxyCompactList}\small\item\em Return a unique field for a quantity; the chosen residual carrier supplies its own quantity unambiguously. \end{DoxyCompactList}\item {\footnotesize template$<$typename Carrier, typename Fields, typename... Quantities$>$ }\\consteval auto \mbox{\hyperlink{namespaceserif_1_1geometry_1_1surface_1_1detail_a20c3b7f26d331c003cc7298e16ac8fd2}{serif\+::geometry\+::surface\+::detail\+::relation\+\_\+bindings}} (\mbox{\hyperlink{structserif_1_1utils_1_1dependencies_1_1_key_list}{utils\+::dependencies\+::\+Key\+List}}$<$ Quantities... $>$) \begin{DoxyCompactList}\small\item\em Bind only the quantities read by this candidate, ignoring unrelated fields and quantities. \end{DoxyCompactList}\item {\footnotesize template$<$typename EOS, typename Carrier, typename Fields, typename Relation$>$ }\\consteval auto \mbox{\hyperlink{namespaceserif_1_1geometry_1_1surface_1_1detail_a1349b4774527454fa74d4e8ffdf8ce6c}{serif\+::geometry\+::surface\+::detail\+::inverse\+\_\+candidate}} () \begin{DoxyCompactList}\small\item\em Test a declared inverse and every required analytic partial before publishing its formulation. \end{DoxyCompactList}\item {\footnotesize template$<$typename EOS, typename Carrier, typename Fields, typename Relation$>$ }\\consteval auto \mbox{\hyperlink{namespaceserif_1_1geometry_1_1surface_1_1detail_a8ec42570e4d5c2a3c4cff02fcce3f8f4}{serif\+::geometry\+::surface\+::detail\+::direct\+\_\+candidate}} () \begin{DoxyCompactList}\small\item\em A direct pressure relation may replace only a row belonging to one of its solved inputs. \end{DoxyCompactList}\item {\footnotesize template$<$bool Inverse, typename EOS, typename Carrier, typename Fields, typename... Relations$>$ }\\consteval auto \mbox{\hyperlink{namespaceserif_1_1geometry_1_1surface_1_1detail_a793bbc0e02d2552de83928fbbc24a8aa}{serif\+::geometry\+::surface\+::detail\+::relation\+\_\+candidates}} (\mbox{\hyperlink{structserif_1_1eos_1_1relations_1_1_relation_catalog}{eos\+::relations\+::\+Relation\+Catalog}}$<$ Relations... $>$) \begin{DoxyCompactList}\small\item\em Keep every admissible relation; catalog order never selects a physical implementation. \end{DoxyCompactList}\end{DoxyCompactItemize}