70 lines
6.8 KiB
TeX
70 lines
6.8 KiB
TeX
|
|
\doxysection{src/include/serif/model/validation.hpp File Reference}
|
||
|
|
\hypertarget{model_2validation_8hpp}{}\label{model_2validation_8hpp}\index{src/include/serif/model/validation.hpp@{src/include/serif/model/validation.hpp}}
|
||
|
|
{\ttfamily \#include "{}serif/model/description.\+hpp"{}}\newline
|
||
|
|
{\ttfamily \#include "{}serif/model/detail/specification\+\_\+endpoints.\+hpp"{}}\newline
|
||
|
|
{\ttfamily \#include "{}serif/model/plan.\+hpp"{}}\newline
|
||
|
|
{\ttfamily \#include "{}serif/operators/linearized\+\_\+system\+\_\+view.\+hpp"{}}\newline
|
||
|
|
Include dependency graph for validation.\+hpp\+:
|
||
|
|
\nopagebreak
|
||
|
|
\begin{figure}[H]
|
||
|
|
\begin{center}
|
||
|
|
\leavevmode
|
||
|
|
\includegraphics[width=350pt]{model_2validation_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]{model_2validation_8hpp__dep__incl}
|
||
|
|
\end{center}
|
||
|
|
\end{figure}
|
||
|
|
\doxysubsubsection*{Classes}
|
||
|
|
\begin{DoxyCompactItemize}
|
||
|
|
\item
|
||
|
|
struct \mbox{\hyperlink{structserif_1_1model_1_1detail_1_1_equation_couplings_3_01_equation_00_01utils_1_1types_1_1_typef24c48fc52ee458347e39dd0b9bd8b4f}{serif\+::model\+::detail\+::\+Equation\+Couplings$<$ Equation, utils\+::types\+::\+Type\+List$<$ Columns... $>$ $>$}}
|
||
|
|
\item
|
||
|
|
struct \mbox{\hyperlink{structserif_1_1model_1_1detail_1_1_interior_couplings_3_01equations_1_1_equation_registry_3_01_equations_8_8_8_01_4_01_4}{serif\+::model\+::detail\+::\+Interior\+Couplings$<$ equations\+::\+Equation\+Registry$<$ Equations... $>$ $>$}}
|
||
|
|
\end{DoxyCompactItemize}
|
||
|
|
\doxysubsubsection*{Namespaces}
|
||
|
|
\begin{DoxyCompactItemize}
|
||
|
|
\item
|
||
|
|
namespace \mbox{\hyperlink{namespaceserif}{serif}}
|
||
|
|
\item
|
||
|
|
namespace \mbox{\hyperlink{namespaceserif_1_1model}{serif\+::model}}
|
||
|
|
\item
|
||
|
|
namespace \mbox{\hyperlink{namespaceserif_1_1model_1_1detail}{serif\+::model\+::detail}}
|
||
|
|
\end{DoxyCompactItemize}
|
||
|
|
\doxysubsubsection*{Concepts}
|
||
|
|
\begin{DoxyCompactItemize}
|
||
|
|
\item
|
||
|
|
concept \mbox{\hyperlink{conceptserif_1_1model_1_1_specification_endpoints_valid}{serif\+::model\+::\+Specification\+Endpoints\+Valid}}
|
||
|
|
\begin{DoxyCompactList}\small\item\em Validate physical ownership, available inputs and uniquely owned generated equations. \end{DoxyCompactList}\item
|
||
|
|
concept \mbox{\hyperlink{conceptserif_1_1model_1_1_specification_topology_valid}{serif\+::model\+::\+Specification\+Topology\+Valid}}
|
||
|
|
\begin{DoxyCompactList}\small\item\em Validate physical endpoints and every derivative in an explicitly declared contract. \end{DoxyCompactList}\item
|
||
|
|
concept \mbox{\hyperlink{conceptserif_1_1model_1_1_specification_backend_available}{serif\+::model\+::\+Specification\+Backend\+Available}}
|
||
|
|
\begin{DoxyCompactList}\small\item\em Require a registered implementation for every declared generated derivative, including explicit zeros. \end{DoxyCompactList}\end{DoxyCompactItemize}
|
||
|
|
\doxysubsubsection*{Typedefs}
|
||
|
|
\begin{DoxyCompactItemize}
|
||
|
|
\item
|
||
|
|
{\footnotesize template$<$typename Row, typename Field$>$ }\\using \mbox{\hyperlink{namespaceserif_1_1model_a95bbbd670343f9cd11939d21c5bf79ab}{serif\+::model\+::\+Derivative}} = \mbox{\hyperlink{structserif_1_1operators_1_1_physical_block}{operators\+::\+Physical\+Block}}$<$\mbox{\hyperlink{structserif_1_1utils_1_1dependencies_1_1_key_list}{utils\+::dependencies\+::\+Key\+List}}$<$Row$>$, \mbox{\hyperlink{structserif_1_1utils_1_1dependencies_1_1_key_list}{utils\+::dependencies\+::\+Key\+List}}$<$Field$>$$>$
|
||
|
|
\begin{DoxyCompactList}\small\item\em Name a physical derivative using the shared block-\/source key convention. \end{DoxyCompactList}\item
|
||
|
|
{\footnotesize template$<$utils\+::dependencies\+::\+Is\+Binding... Additional$>$ }\\using \mbox{\hyperlink{namespaceserif_1_1model_aa7c7c71dc1c2c0431623ac27c88bdb0b}{serif\+::model\+::\+Specification\+Bindings}}
|
||
|
|
\begin{DoxyCompactList}\small\item\em Map physical names and built-\/in generated identities once; custom identities require explicit bindings. \end{DoxyCompactList}\item
|
||
|
|
using \mbox{\hyperlink{namespaceserif_1_1model_adae046e777aafb66e79a039911580916}{serif\+::model\+::\+Default\+Specification\+Bindings}} = \mbox{\hyperlink{namespaceserif_1_1model_aa7c7c71dc1c2c0431623ac27c88bdb0b}{Specification\+Bindings}}$<$$>$
|
||
|
|
\item
|
||
|
|
{\footnotesize template$<$Executable\+Interior\+Equations Registry$>$ }\\using \mbox{\hyperlink{namespaceserif_1_1model_a5d147fdea58527d7b5ee14302ab8cd57}{serif\+::model\+::\+Declared\+Equation\+Couplings}} = typename \mbox{\hyperlink{structserif_1_1model_1_1detail_1_1_interior_couplings}{detail\+::\+Interior\+Couplings}}$<$std\+::remove\+\_\+cvref\+\_\+t$<$Registry$>$$>$\+::\+Type
|
||
|
|
\begin{DoxyCompactList}\small\item\em Derive declared interior couplings from actual operands rather than a second physical sparsity table. \end{DoxyCompactList}\end{DoxyCompactItemize}
|
||
|
|
\doxysubsubsection*{Functions}
|
||
|
|
\begin{DoxyCompactItemize}
|
||
|
|
\item
|
||
|
|
{\footnotesize template$<$Dimensional\+Scalar\+Specification Specification, typename Model, typename Values, typename Inputs, typename Rows, typename Inactive\+Rows, typename Bindings$>$ }\\consteval bool \mbox{\hyperlink{namespaceserif_1_1model_1_1detail_aae26e7579ddb1668e7abef12a8c70067}{serif\+::model\+::detail\+::valid\+\_\+specification\+\_\+endpoints}} ()
|
||
|
|
\begin{DoxyCompactList}\small\item\em Check physical inputs separately from unknowns and explicitly inactive equations. \end{DoxyCompactList}\item
|
||
|
|
{\footnotesize template$<$typename Model, typename Values, typename Inputs, typename Rows, typename Inactive\+Rows, typename Bindings, typename... Specifications$>$ }\\consteval bool \mbox{\hyperlink{namespaceserif_1_1model_1_1detail_ad2113b4e1a949598fc2f7be37f1c0927}{serif\+::model\+::detail\+::valid\+\_\+specifications}} (\mbox{\hyperlink{structserif_1_1utils_1_1types_1_1_type_list}{utils\+::types\+::\+Type\+List}}$<$ Specifications... $>$)
|
||
|
|
\begin{DoxyCompactList}\small\item\em Fold independent physical declarations; no equation counting or rank inference is involved. \end{DoxyCompactList}\item
|
||
|
|
{\footnotesize template$<$Dimensional\+Scalar\+Specification Specification, typename Couplings, typename Bindings$>$ }\\consteval bool \mbox{\hyperlink{namespaceserif_1_1model_1_1detail_a17b67ad43340da0fcbb5688d6b90e9a1}{serif\+::model\+::detail\+::specification\+\_\+derivatives\+\_\+available}} ()
|
||
|
|
\begin{DoxyCompactList}\small\item\em Validate declared derivative contracts without inferring zeros from missing providers. \end{DoxyCompactList}\item
|
||
|
|
{\footnotesize template$<$typename Couplings, typename Bindings, typename... Specifications$>$ }\\consteval bool \mbox{\hyperlink{namespaceserif_1_1model_1_1detail_a0d6ab5f248c85c95fd813dbb801fe90d}{serif\+::model\+::detail\+::specification\+\_\+derivatives\+\_\+available}} (\mbox{\hyperlink{structserif_1_1utils_1_1types_1_1_type_list}{utils\+::types\+::\+Type\+List}}$<$ Specifications... $>$)
|
||
|
|
\begin{DoxyCompactList}\small\item\em Check each prescription against independently supplied derivative registrations. \end{DoxyCompactList}\end{DoxyCompactItemize}
|