Files
MeanField_SERiF/docs/latex/solver_2normalization_2plan_8cpp.tex
Emily Boudreaux 6b57738330 docs(docs): built docs
Note for now much of the docs is LLM written. This was done to save time and focus on code development. The docs have been LOOSLEY reviewed. However, the code itself has been either fully written by hand or fully reviewed. Therefore, the docs should at the moment be seen as a loose resource rather than authoratiative (and this is on top of the general ability for docs to drift)
2026-11-09 14:09:44 -05:00

204 lines
35 KiB
TeX

\doxysection{src/compile\+\_\+time\+\_\+checks/serif/solver/normalization/plan.cpp File Reference}
\hypertarget{solver_2normalization_2plan_8cpp}{}\label{solver_2normalization_2plan_8cpp}\index{src/compile\_time\_checks/serif/solver/normalization/plan.cpp@{src/compile\_time\_checks/serif/solver/normalization/plan.cpp}}
{\ttfamily \#include $<$array$>$}\newline
{\ttfamily \#include $<$concepts$>$}\newline
{\ttfamily \#include $<$cstddef$>$}\newline
{\ttfamily \#include $<$expected$>$}\newline
{\ttfamily \#include $<$string$>$}\newline
{\ttfamily \#include $<$tuple$>$}\newline
{\ttfamily \#include $<$type\+\_\+traits$>$}\newline
{\ttfamily \#include $<$utility$>$}\newline
{\ttfamily \#include $<$vector$>$}\newline
{\ttfamily \#include "{}serif/solver/normalization/computations.\+hpp"{}}\newline
{\ttfamily \#include "{}serif/solver/normalization/physical\+\_\+coordinates.\+hpp"{}}\newline
{\ttfamily \#include "{}serif/equations/angular\+\_\+momentum.\+hpp"{}}\newline
{\ttfamily \#include "{}serif/equations/mass\+\_\+normalization.\+hpp"{}}\newline
{\ttfamily \#include "{}serif/equations/primal\+\_\+gravity.\+hpp"{}}\newline
{\ttfamily \#include "{}serif/eos/models/polytropic.\+hpp"{}}\newline
{\ttfamily \#include "{}serif/utils/dependencies/computation\+\_\+cache.\+hpp"{}}\newline
Include dependency graph for plan.\+cpp\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{solver_2normalization_2plan_8cpp__incl}
\end{center}
\end{figure}
\doxysubsubsection*{Classes}
\begin{DoxyCompactItemize}
\item
struct \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1checks_1_1_first_value}{serif\+::solver\+::normalization\+::checks\+::\+First\+Value}}
\item
struct \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1checks_1_1_second_value}{serif\+::solver\+::normalization\+::checks\+::\+Second\+Value}}
\item
struct \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1checks_1_1_first_residual}{serif\+::solver\+::normalization\+::checks\+::\+First\+Residual}}
\item
struct \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1checks_1_1_second_residual}{serif\+::solver\+::normalization\+::checks\+::\+Second\+Residual}}
\item
struct \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1checks_1_1_foreign_coordinate}{serif\+::solver\+::normalization\+::checks\+::\+Foreign\+Coordinate}}
\item
struct \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1checks_1_1_pressure_row}{serif\+::solver\+::normalization\+::checks\+::\+Pressure\+Row}}
\item
struct \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1checks_1_1_mass_row}{serif\+::solver\+::normalization\+::checks\+::\+Mass\+Row}}
\item
struct \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1checks_1_1_central_row}{serif\+::solver\+::normalization\+::checks\+::\+Central\+Row}}
\item
struct \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1checks_1_1_selected_surface_rows}{serif\+::solver\+::normalization\+::checks\+::\+Selected\+Surface\+Rows}}
\item
struct \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1checks_1_1_custom_density_metric}{serif\+::solver\+::normalization\+::checks\+::\+Custom\+Density\+Metric}}
\item
struct \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1checks_1_1_shared_field_metric}{serif\+::solver\+::normalization\+::checks\+::\+Shared\+Field\+Metric}}
\item
struct \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1checks_1_1_malformed_metric}{serif\+::solver\+::normalization\+::checks\+::\+Malformed\+Metric}}
\item
struct \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1checks_1_1_missing_metric_metadata}{serif\+::solver\+::normalization\+::checks\+::\+Missing\+Metric\+Metadata}}
\item
struct \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1checks_1_1_duplicate_metric_coordinates}{serif\+::solver\+::normalization\+::checks\+::\+Duplicate\+Metric\+Coordinates}}
\item
struct \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1checks_1_1_pretend_riesz_method}{serif\+::solver\+::normalization\+::checks\+::\+Pretend\+Riesz\+Method}}
\item
struct \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1checks_1_1_move_only_prescription}{serif\+::solver\+::normalization\+::checks\+::\+Move\+Only\+Prescription}}
\item
struct \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1checks_1_1_prepared_prescription}{serif\+::solver\+::normalization\+::checks\+::\+Prepared\+Prescription}}
\item
struct \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1checks_1_1_derived_prescription}{serif\+::solver\+::normalization\+::checks\+::\+Derived\+Prescription}}
\item
struct \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1checks_1_1_convertible_prescription}{serif\+::solver\+::normalization\+::checks\+::\+Convertible\+Prescription}}
\item
struct \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1checks_1_1_wrong_preparation_result}{serif\+::solver\+::normalization\+::checks\+::\+Wrong\+Preparation\+Result}}
\item
struct \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1checks_1_1_borrowed_preparation_result}{serif\+::solver\+::normalization\+::checks\+::\+Borrowed\+Preparation\+Result}}
\item
struct \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1checks_1_1_state_only_prescription}{serif\+::solver\+::normalization\+::checks\+::\+State\+Only\+Prescription}}
\item
struct \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1checks_1_1_aliases_only_layout}{serif\+::solver\+::normalization\+::checks\+::\+Aliases\+Only\+Layout}}
\item
struct \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1checks_1_1_temperature_coordinate}{serif\+::solver\+::normalization\+::checks\+::\+Temperature\+Coordinate}}
\item
struct \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1checks_1_1_temperature_metric}{serif\+::solver\+::normalization\+::checks\+::\+Temperature\+Metric}}
\item
struct \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1checks_1_1_temperature_scales}{serif\+::solver\+::normalization\+::checks\+::\+Temperature\+Scales}}
\item
struct \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1checks_1_1_untyped_temperature_scales}{serif\+::solver\+::normalization\+::checks\+::\+Untyped\+Temperature\+Scales}}
\end{DoxyCompactItemize}
\doxysubsubsection*{Namespaces}
\begin{DoxyCompactItemize}
\item
namespace \mbox{\hyperlink{namespaceserif}{serif}}
\item
namespace \mbox{\hyperlink{namespaceserif_1_1solver}{serif\+::solver}}
\item
namespace \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization}{serif\+::solver\+::normalization}}
\item
namespace \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks}{serif\+::solver\+::normalization\+::checks}}
\end{DoxyCompactItemize}
\doxysubsubsection*{Concepts}
\begin{DoxyCompactItemize}
\item
concept \mbox{\hyperlink{conceptserif_1_1solver_1_1normalization_1_1checks_1_1_can_declare_layout}{serif\+::solver\+::normalization\+::checks\+::\+Can\+Declare\+Layout}}
\begin{DoxyCompactList}\small\item\em Keep invalid layout declarations safely testable without instantiating their storage. \end{DoxyCompactList}\item
concept \mbox{\hyperlink{conceptserif_1_1solver_1_1normalization_1_1checks_1_1_can_declare_runtime_method}{serif\+::solver\+::normalization\+::checks\+::\+Can\+Declare\+Runtime\+Method}}
\begin{DoxyCompactList}\small\item\em Require explicit policy identity rather than accepting unrelated preparation-\/like objects. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Typedefs}
\begin{DoxyCompactItemize}
\item
using \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_af9b21f9c7ecfe3f81d764e73433d305c}{serif\+::solver\+::normalization\+::checks\+::\+Displacement}} = blocks\+::displacement\+::vector
\item
using \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_a06056e9aad074e242d72eda365df893d}{serif\+::solver\+::normalization\+::checks\+::\+Angular\+Velocity}} = blocks\+::rotation\+::angular\+\_\+velocity
\item
using \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_ac27365564a74ba3981f089fba195198d}{serif\+::solver\+::normalization\+::checks\+::\+Central\+Border}} = blocks\+::frame\+\_\+acceleration\+::component$<$0$>$
\item
using \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_a4eed0edb7a2282bec914643c0227cb74}{serif\+::solver\+::normalization\+::checks\+::\+Surface\+Coefficients}} = blocks\+::surface\+\_\+deformation\+::coefficients
\item
using \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_a52905b3444b02d3848d9d66aec2a90c5}{serif\+::solver\+::normalization\+::checks\+::\+Surface\+Equilibrium}} = blocks\+::surface\+\_\+deformation\+::shape\+\_\+equilibrium
\item
using \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_a1f5c8a1a9425070ca3d471da7f574a94}{serif\+::solver\+::normalization\+::checks\+::\+Values}} = Key\+List$<$\mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1checks_1_1_first_value}{First\+Value}}, \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1checks_1_1_second_value}{Second\+Value}}$>$
\item
using \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_ad7e7d129957abedcbcf82bf75dbefd70}{serif\+::solver\+::normalization\+::checks\+::\+Residuals}} = Key\+List$<$\mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1checks_1_1_first_residual}{First\+Residual}}, \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1checks_1_1_second_residual}{Second\+Residual}}$>$
\item
using \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_a2420f933fc7ecedad8dc00a42580a725}{serif\+::solver\+::normalization\+::checks\+::\+Value\+Rules}} = Bindings$<$Binding$<$\mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1checks_1_1_first_value}{First\+Value}}, \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1_identity_coordinate}{Identity\+Coordinate}}$>$, Binding$<$\mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1checks_1_1_second_value}{Second\+Value}}, \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1_identity_coordinate}{Identity\+Coordinate}}$>$$>$
\item
using \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_afff4572e1034405ada485ab3e397898e}{serif\+::solver\+::normalization\+::checks\+::\+Residual\+Rules}} = Bindings$<$Binding$<$\mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1checks_1_1_first_residual}{First\+Residual}}, \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1_identity_coordinate}{Identity\+Coordinate}}$>$, Binding$<$\mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1checks_1_1_second_residual}{Second\+Residual}}, \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1_identity_coordinate}{Identity\+Coordinate}}$>$$>$
\item
using \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_a5242d98cee7d2e427632b075f49e6096}{serif\+::solver\+::normalization\+::checks\+::\+Complete\+Plan}} = \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1_normalization_plan}{Normalization\+Plan}}$<$\mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_a2420f933fc7ecedad8dc00a42580a725}{Value\+Rules}}, \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_afff4572e1034405ada485ab3e397898e}{Residual\+Rules}}$>$
\item
using \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_a7e3dc125003d30aaf4244b5fd3dd95d6}{serif\+::solver\+::normalization\+::checks\+::\+Reordered\+Plan}}
\item
using \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_a045ed97b91420677405327b5099cc621}{serif\+::solver\+::normalization\+::checks\+::\+Missing\+Value}} = \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1_normalization_plan}{Normalization\+Plan}}$<$Bindings$<$Binding$<$\mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1checks_1_1_first_value}{First\+Value}}, \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1_identity_coordinate}{Identity\+Coordinate}}$>$$>$, \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_afff4572e1034405ada485ab3e397898e}{Residual\+Rules}}$>$
\item
using \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_ab233277cc1fcc7db3aa04ad6c090bbce}{serif\+::solver\+::normalization\+::checks\+::\+Missing\+Residual}} = \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1_normalization_plan}{Normalization\+Plan}}$<$\mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_a2420f933fc7ecedad8dc00a42580a725}{Value\+Rules}}, Bindings$<$Binding$<$\mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1checks_1_1_first_residual}{First\+Residual}}, \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1_identity_coordinate}{Identity\+Coordinate}}$>$$>$$>$
\item
using \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_a093bdcc30ba74120f2121c40aa84c59e}{serif\+::solver\+::normalization\+::checks\+::\+Duplicate\+Value}} = \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1_normalization_plan}{Normalization\+Plan}}$<$Bindings$<$Binding$<$\mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1checks_1_1_first_value}{First\+Value}}, \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1_identity_coordinate}{Identity\+Coordinate}}$>$, Binding$<$\mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1checks_1_1_first_value}{First\+Value}}, \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1_identity_coordinate}{Identity\+Coordinate}}$>$$>$, \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_afff4572e1034405ada485ab3e397898e}{Residual\+Rules}}$>$
\item
using \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_a348018e8285436b04243a2fbde48fc48}{serif\+::solver\+::normalization\+::checks\+::\+Duplicate\+Residual}} = \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1_normalization_plan}{Normalization\+Plan}}$<$\mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_a2420f933fc7ecedad8dc00a42580a725}{Value\+Rules}}, Bindings$<$Binding$<$\mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1checks_1_1_first_residual}{First\+Residual}}, \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1_identity_coordinate}{Identity\+Coordinate}}$>$, Binding$<$\mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1checks_1_1_first_residual}{First\+Residual}}, \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1_identity_coordinate}{Identity\+Coordinate}}$>$$>$$>$
\item
using \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_af8e83e4860fb8801147f58f306a417c1}{serif\+::solver\+::normalization\+::checks\+::\+Foreign\+Value}} = \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1_normalization_plan}{Normalization\+Plan}}$<$Bindings$<$Binding$<$\mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1checks_1_1_first_value}{First\+Value}}, \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1_identity_coordinate}{Identity\+Coordinate}}$>$, Binding$<$\mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1checks_1_1_foreign_coordinate}{Foreign\+Coordinate}}, \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1_identity_coordinate}{Identity\+Coordinate}}$>$$>$, \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_afff4572e1034405ada485ab3e397898e}{Residual\+Rules}}$>$
\item
using \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_afb6b2cd80558cfdd8a146695a539faf4}{serif\+::solver\+::normalization\+::checks\+::\+Foreign\+Residual}} = \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1_normalization_plan}{Normalization\+Plan}}$<$\mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_a2420f933fc7ecedad8dc00a42580a725}{Value\+Rules}}, Bindings$<$Binding$<$\mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1checks_1_1_first_residual}{First\+Residual}}, \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1_identity_coordinate}{Identity\+Coordinate}}$>$, Binding$<$\mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1checks_1_1_foreign_coordinate}{Foreign\+Coordinate}}, \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1_identity_coordinate}{Identity\+Coordinate}}$>$$>$$>$
\item
using \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_abb7db6f97f05bfb22c812df1ac4184ed}{serif\+::solver\+::normalization\+::checks\+::\+Layout}} = \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_a8b854a2e50341cf923faee8adcc03903}{Coordinate\+Layout}}$<$const \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_a1f5c8a1a9425070ca3d471da7f574a94}{Values}}\&, volatile \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_ad7e7d129957abedcbcf82bf75dbefd70}{Residuals}}\&\&$>$
\item
using \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_ab33bf2f3c84b615bdceecb66e19cf8f5}{serif\+::solver\+::normalization\+::checks\+::\+Density\+Riesz}} = \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1_physical_riesz_coordinate}{Physical\+Riesz\+Coordinate}}$<$\mbox{\hyperlink{structserif_1_1dimensions_1_1_mass_density}{dimensions\+::\+Mass\+Density}}, \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1_reference_volume_metric}{Reference\+Volume\+Metric}}$<$\mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_a44b142250c8dd27937fc9fe702146b3f}{Density}}$>$$>$
\item
using \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_a327f11659376e3ce258c296a22950b44}{serif\+::solver\+::normalization\+::checks\+::\+Displacement\+Riesz}} = \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1_physical_riesz_coordinate}{Physical\+Riesz\+Coordinate}}$<$\mbox{\hyperlink{structserif_1_1dimensions_1_1_length}{dimensions\+::\+Length}}, \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1_reference_volume_metric}{Reference\+Volume\+Metric}}$<$\mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_af9b21f9c7ecfe3f81d764e73433d305c}{Displacement}}$>$$>$
\item
using \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_a4b22f9c8fffef566c48dce364f63c59c}{serif\+::solver\+::normalization\+::checks\+::\+Physical\+Values}} = \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1_normalization_plan}{Normalization\+Plan}}$<$Bindings$<$Binding$<$\mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_a44b142250c8dd27937fc9fe702146b3f}{Density}}, \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_ab33bf2f3c84b615bdceecb66e19cf8f5}{Density\+Riesz}}$>$, Binding$<$\mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_af9b21f9c7ecfe3f81d764e73433d305c}{Displacement}}, \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_a327f11659376e3ce258c296a22950b44}{Displacement\+Riesz}}$>$$>$, Bindings$<$$>$$>$
\item
using \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_a61cd2d30367a46745d7a4793a73a402b}{serif\+::solver\+::normalization\+::checks\+::\+Pressure\+Riesz}} = \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1_physical_riesz_coordinate}{Physical\+Riesz\+Coordinate}}$<$\mbox{\hyperlink{structserif_1_1dimensions_1_1_pressure}{dimensions\+::\+Pressure}}, \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1_reference_volume_metric}{Reference\+Volume\+Metric}}$<$\mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_a44b142250c8dd27937fc9fe702146b3f}{Density}}$>$$>$
\item
using \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_a580703a30bfc1d1479eb022445f12535}{serif\+::solver\+::normalization\+::checks\+::\+Potential\+Riesz}} = \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1_physical_riesz_coordinate}{Physical\+Riesz\+Coordinate}}$<$\mbox{\hyperlink{structserif_1_1dimensions_1_1_gravitational_potential}{dimensions\+::\+Gravitational\+Potential}}, \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1_reference_volume_metric}{Reference\+Volume\+Metric}}$<$\mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_a281d5dd3052d38cf9c0a73c9d68e4f75}{Potential}}$>$$>$
\item
using \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_ab008bef827eb85b35ffd7a70839e2331}{serif\+::solver\+::normalization\+::checks\+::\+Hybrid\+Residual}} = \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1_with_point_rows}{With\+Point\+Rows}}$<$\mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_a580703a30bfc1d1479eb022445f12535}{Potential\+Riesz}}, \mbox{\hyperlink{structserif_1_1dimensions_1_1_pressure}{dimensions\+::\+Pressure}}, \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1checks_1_1_selected_surface_rows}{Selected\+Surface\+Rows}}$>$
\item
using \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_aa9b95b1b7f870b2ec7533ef07ac3f285}{serif\+::solver\+::normalization\+::checks\+::\+Scalar\+Values}} = Key\+List$<$\mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_a69d4fa6be51dd52c2650ca8082384731}{Mass\+Constant}}, \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_a06056e9aad074e242d72eda365df893d}{Angular\+Velocity}}, \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_ac27365564a74ba3981f089fba195198d}{Central\+Border}}$>$
\item
using \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_a56ff54af68869f285ac266146d7ff985}{serif\+::solver\+::normalization\+::checks\+::\+Custom\+Method}} = \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1_runtime_prepared_coordinate}{Runtime\+Prepared\+Coordinate}}$<$const \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1checks_1_1_move_only_prescription}{Move\+Only\+Prescription}}\&$>$
\item
{\footnotesize template$<$typename Policy$>$ }\\using \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_a05e859fa64b415d5cb6cd599703bd4d2}{serif\+::solver\+::normalization\+::checks\+::\+Policy\+Plan}}
\begin{DoxyCompactList}\small\item\em Apply one declared policy independently to state and residual coordinates. \end{DoxyCompactList}\item
using \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_ac217269f9413bee40738b7bcf58a3f52}{serif\+::solver\+::normalization\+::checks\+::\+Policy\+Layout}} = \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_a8b854a2e50341cf923faee8adcc03903}{Coordinate\+Layout}}$<$Key\+List$<$\mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_a44b142250c8dd27937fc9fe702146b3f}{Density}}$>$, Key\+List$<$\mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1checks_1_1_pressure_row}{Pressure\+Row}}$>$$>$
\item
using \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_ac71dd223a37f58b0354af7d9c47b3386}{serif\+::solver\+::normalization\+::checks\+::\+Qualified\+Policy\+Computation}} = decltype(\mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1detail_aa1a3e6ee3169b51c03d882bfa7250d38}{detail\+::coordinate\+\_\+computation}}$<$blocks\+::\+Represented\+Value\+Kind\+::value, \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_a44b142250c8dd27937fc9fe702146b3f}{Density}}, \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_ac217269f9413bee40738b7bcf58a3f52}{Policy\+Layout}}, \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1_stellar_reference_scales}{Stellar\+Reference\+Scales}}$>$(\mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1_runtime_prepared_coordinate}{Runtime\+Prepared\+Coordinate}}$<$const \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1checks_1_1_prepared_prescription}{Prepared\+Prescription}}\&$>$\{\}))
\item
using \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_a7924d79d7951bebda69f76231bfb762a}{serif\+::solver\+::normalization\+::checks\+::\+Temperature\+Plan}} = \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1_normalization_plan}{Normalization\+Plan}}$<$Bindings$<$Binding$<$\mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1checks_1_1_temperature_coordinate}{Temperature\+Coordinate}}, \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1_physical_riesz_coordinate}{Physical\+Riesz\+Coordinate}}$<$\mbox{\hyperlink{structserif_1_1dimensions_1_1_temperature}{dimensions\+::\+Temperature}}, \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1checks_1_1_temperature_metric}{Temperature\+Metric}}$>$$>$$>$, Bindings$<$$>$$>$
\item
using \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_a0a45beb09a9c52fa4253df847fff7583}{serif\+::solver\+::normalization\+::checks\+::\+Temperature\+Layout}} = \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_a8b854a2e50341cf923faee8adcc03903}{Coordinate\+Layout}}$<$Key\+List$<$\mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1checks_1_1_temperature_coordinate}{Temperature\+Coordinate}}$>$, Key\+List$<$$>$$>$
\item
{\footnotesize template$<$typename Key, typename Value$>$ }\\using \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_abb4f9189ceef794a401f461503789db7}{serif\+::solver\+::normalization\+::checks\+::\+Owned\+Source}} = decltype(dependencies\+::own$<$Key$>$(std\+::declval$<$Value$>$()))
\begin{DoxyCompactList}\small\item\em Describe an explicitly owned source using the same factory as runtime clients. \end{DoxyCompactList}\item
using \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_ac6109a33e2b7de15c2bb65418c3b2a0d}{serif\+::solver\+::normalization\+::checks\+::\+Metric\+Layout}} = \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_a8b854a2e50341cf923faee8adcc03903}{Coordinate\+Layout}}$<$Key\+List$<$\mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_a44b142250c8dd27937fc9fe702146b3f}{Density}}, \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_af9b21f9c7ecfe3f81d764e73433d305c}{Displacement}}$>$, Key\+List$<$$>$$>$
\item
using \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_a573978c7c289ab273a46969b2b79ef7d}{serif\+::solver\+::normalization\+::checks\+::\+Metric\+Computations}} = decltype(\mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_a7540a7b41f57c928bae80c99d29f0706}{make\+\_\+normalization\+\_\+computations}}$<$const \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_a4b22f9c8fffef566c48dce364f63c59c}{Physical\+Values}}\&$>$(std\+::declval$<$const \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_ac6109a33e2b7de15c2bb65418c3b2a0d}{Metric\+Layout}}\&$>$()))
\item
using \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_aeaf443beab4452f1575584a10959b0dc}{serif\+::solver\+::normalization\+::checks\+::\+Metric\+Graph}} = decltype(\mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_a471523d2418b6f9ae5f559eedcea7b11}{graph\+\_\+type}}(std\+::declval$<$\mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_a573978c7c289ab273a46969b2b79ef7d}{Metric\+Computations}}$>$()))
\item
using \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_a2afa56f575f68c211d9fbdcd97416bbb}{serif\+::solver\+::normalization\+::checks\+::\+Layout\+Source}} = \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_abb4f9189ceef794a401f461503789db7}{Owned\+Source}}$<$\mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1keys_a01d33c80ce728df0cb2687eebe9ea921}{keys\+::\+Layout}}, \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_ac6109a33e2b7de15c2bb65418c3b2a0d}{Metric\+Layout}}$>$
\item
using \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_a4cc4f5e80a0f72e6e2e39dd2632e1189}{serif\+::solver\+::normalization\+::checks\+::\+Scale\+Source}} = \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_abb4f9189ceef794a401f461503789db7}{Owned\+Source}}$<$\mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1keys_1_1_scales}{keys\+::\+Scales}}, \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1_stellar_reference_scales}{Stellar\+Reference\+Scales}}$>$
\item
using \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_a63b231aae60c5b848cb1711a54d79f2b}{serif\+::solver\+::normalization\+::checks\+::\+Density\+Metric\+Source}} = \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_abb4f9189ceef794a401f461503789db7}{Owned\+Source}}$<$\mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1_reference_volume_metric}{Reference\+Volume\+Metric}}$<$\mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_a44b142250c8dd27937fc9fe702146b3f}{Density}}$>$, std\+::vector$<$double$>$$>$
\item
using \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_a491d376b133766ae6f4d2c625c220115}{serif\+::solver\+::normalization\+::checks\+::\+Displacement\+Metric\+Source}} = \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_abb4f9189ceef794a401f461503789db7}{Owned\+Source}}$<$\mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1_reference_volume_metric}{Reference\+Volume\+Metric}}$<$\mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_af9b21f9c7ecfe3f81d764e73433d305c}{Displacement}}$>$, std\+::vector$<$double$>$$>$
\item
using \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_a99d45d61baa18d08065e2c7be1cce8c0}{serif\+::solver\+::normalization\+::checks\+::\+Complete\+Metric\+Context}} = dependencies\+::\+Dependency\+Context$<$\mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_a2afa56f575f68c211d9fbdcd97416bbb}{Layout\+Source}}, \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_a4cc4f5e80a0f72e6e2e39dd2632e1189}{Scale\+Source}}, \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_a63b231aae60c5b848cb1711a54d79f2b}{Density\+Metric\+Source}}, \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_a491d376b133766ae6f4d2c625c220115}{Displacement\+Metric\+Source}}$>$
\item
using \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_a4f6b0f14becc5c03d97c3a7dc5be4186}{serif\+::solver\+::normalization\+::checks\+::\+Missing\+Metric\+Context}} = dependencies\+::\+Dependency\+Context$<$\mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_a2afa56f575f68c211d9fbdcd97416bbb}{Layout\+Source}}, \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_a4cc4f5e80a0f72e6e2e39dd2632e1189}{Scale\+Source}}, \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_a63b231aae60c5b848cb1711a54d79f2b}{Density\+Metric\+Source}}$>$
\item
using \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_a6c95d124a8379c9153bdd776d9bd9c90}{serif\+::solver\+::normalization\+::checks\+::\+Wrong\+Metric\+Context}} = dependencies\+::\+Dependency\+Context$<$\mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_a2afa56f575f68c211d9fbdcd97416bbb}{Layout\+Source}}, \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_a4cc4f5e80a0f72e6e2e39dd2632e1189}{Scale\+Source}}, \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_a63b231aae60c5b848cb1711a54d79f2b}{Density\+Metric\+Source}}, \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_abb4f9189ceef794a401f461503789db7}{Owned\+Source}}$<$\mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1_reference_volume_metric}{Reference\+Volume\+Metric}}$<$\mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_af9b21f9c7ecfe3f81d764e73433d305c}{Displacement}}$>$, std\+::vector$<$int$>$$>$$>$
\item
using \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_a09f044f9c8998f4dbe47fda233372350}{serif\+::solver\+::normalization\+::checks\+::\+Policy\+Computations}} = decltype(\mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_a7540a7b41f57c928bae80c99d29f0706}{make\+\_\+normalization\+\_\+computations}}$<$\mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_a05e859fa64b415d5cb6cd599703bd4d2}{Policy\+Plan}}$<$\mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1checks_1_1_prepared_prescription}{Prepared\+Prescription}}$>$$>$(std\+::declval$<$const \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_ac217269f9413bee40738b7bcf58a3f52}{Policy\+Layout}}\&$>$()))
\item
using \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_aa5b13e4d4a0551d54221bec5e9a667c3}{serif\+::solver\+::normalization\+::checks\+::\+Policy\+Graph}} = decltype(\mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_a471523d2418b6f9ae5f559eedcea7b11}{graph\+\_\+type}}(std\+::declval$<$\mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_a09f044f9c8998f4dbe47fda233372350}{Policy\+Computations}}$>$()))
\item
{\footnotesize template$<$typename Supplied\+Prescription$>$ }\\using \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_a2e8632b656031b38ba6bb666b508e827}{serif\+::solver\+::normalization\+::checks\+::\+Policy\+Context}} = dependencies\+::\+Dependency\+Context$<$\mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_abb4f9189ceef794a401f461503789db7}{Owned\+Source}}$<$\mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1keys_a01d33c80ce728df0cb2687eebe9ea921}{keys\+::\+Layout}}, \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_ac217269f9413bee40738b7bcf58a3f52}{Policy\+Layout}}$>$, \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_abb4f9189ceef794a401f461503789db7}{Owned\+Source}}$<$\mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1keys_1_1_prescription}{keys\+::\+Prescription}}$<$\mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1checks_1_1_prepared_prescription}{Prepared\+Prescription}}$>$, Supplied\+Prescription$>$$>$
\begin{DoxyCompactList}\small\item\em Vary the supplied resource type while keeping the plan\textquotesingle{}s prescription key unchanged. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Functions}
\begin{DoxyCompactItemize}
\item
\mbox{\hyperlink{classserif_1_1dimensions_1_1_quantity_value}{dimensions\+::\+Quantity\+Value}}$<$ \mbox{\hyperlink{structserif_1_1dimensions_1_1_temperature}{dimensions\+::\+Temperature}} $>$ \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_ab2a29c85f0f54da4bd9d77a27e3ab112}{serif\+::solver\+::normalization\+::checks\+::characteristic\+\_\+scale}} (const \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1checks_1_1_temperature_scales}{Temperature\+Scales}} \&, \mbox{\hyperlink{structserif_1_1dimensions_1_1_temperature}{dimensions\+::\+Temperature}})
\begin{DoxyCompactList}\small\item\em External thermodynamic scales participate through their own typed ADL provider. \end{DoxyCompactList}\item
double \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_ab1531e997730a8e46780521e05bd8f6c}{serif\+::solver\+::normalization\+::checks\+::characteristic\+\_\+scale}} (const \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1checks_1_1_untyped_temperature_scales}{Untyped\+Temperature\+Scales}} \&, \mbox{\hyperlink{structserif_1_1dimensions_1_1_temperature}{dimensions\+::\+Temperature}})
\begin{DoxyCompactList}\small\item\em A raw number cannot silently stand in for a scale carrying the requested quantity. \end{DoxyCompactList}\item
{\footnotesize template$<$typename... Computations$>$ }\\auto \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1checks_a471523d2418b6f9ae5f559eedcea7b11}{serif\+::solver\+::normalization\+::checks\+::graph\+\_\+type}} (std\+::tuple$<$ Computations... $>$) -\/$>$ decltype(dependencies\+::make\+\_\+computation\+\_\+graph(std\+::declval$<$ Computations $>$()...))
\begin{DoxyCompactList}\small\item\em Inspect the public graph\textquotesingle{}s type without constructing or preparing numerical objects. \end{DoxyCompactList}\end{DoxyCompactItemize}