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)
97 lines
10 KiB
TeX
97 lines
10 KiB
TeX
\doxysection{src/include/serif/solver/normalization/plan.hpp File Reference}
|
|
\hypertarget{solver_2normalization_2plan_8hpp}{}\label{solver_2normalization_2plan_8hpp}\index{src/include/serif/solver/normalization/plan.hpp@{src/include/serif/solver/normalization/plan.hpp}}
|
|
{\ttfamily \#include $<$concepts$>$}\newline
|
|
{\ttfamily \#include $<$type\+\_\+traits$>$}\newline
|
|
{\ttfamily \#include "{}serif/dimensions/quantities.\+hpp"{}}\newline
|
|
{\ttfamily \#include "{}serif/discretization/blocks/base.\+hpp"{}}\newline
|
|
{\ttfamily \#include "{}serif/solver/normalization/metrics.\+hpp"{}}\newline
|
|
{\ttfamily \#include "{}serif/solver/normalization/dimensionless.\+hpp"{}}\newline
|
|
{\ttfamily \#include "{}serif/utils/dependencies/binding.\+hpp"{}}\newline
|
|
Include dependency graph for plan.\+hpp\+:
|
|
\nopagebreak
|
|
\begin{figure}[H]
|
|
\begin{center}
|
|
\leavevmode
|
|
\includegraphics[width=350pt]{solver_2normalization_2plan_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]{solver_2normalization_2plan_8hpp__dep__incl}
|
|
\end{center}
|
|
\end{figure}
|
|
\doxysubsubsection*{Classes}
|
|
\begin{DoxyCompactItemize}
|
|
\item
|
|
struct \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1_normalization_prescription_tag}{serif\+::solver\+::normalization\+::\+Normalization\+Prescription\+Tag}}
|
|
\item
|
|
struct \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1_identity_coordinate}{serif\+::solver\+::normalization\+::\+Identity\+Coordinate}}
|
|
\begin{DoxyCompactList}\small\item\em Leave the declared coordinates unchanged, including their physical units. \end{DoxyCompactList}\item
|
|
struct \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1_physical_riesz_coordinate}{serif\+::solver\+::normalization\+::\+Physical\+Riesz\+Coordinate$<$ Quantity\+T, Metric\+Key\+T $>$}}
|
|
\begin{DoxyCompactList}\small\item\em Measure a physical quantity with the named reference Gram diagonal. \end{DoxyCompactList}\item
|
|
struct \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1_dimensionless_riesz_coordinate}{serif\+::solver\+::normalization\+::\+Dimensionless\+Riesz\+Coordinate$<$ Quantity\+T, Metric\+Key\+T, Geometry $>$}}
|
|
\begin{DoxyCompactList}\small\item\em Measure coordinates using dimensionless physical fields and reference geometry. \end{DoxyCompactList}\item
|
|
struct \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1_with_point_rows}{serif\+::solver\+::normalization\+::\+With\+Point\+Rows$<$ Volume\+Method\+T, Point\+Quantity\+T, Selection\+Key\+T $>$}}
|
|
\begin{DoxyCompactList}\small\item\em Replace selected volume residual rows by point residuals with their own physical quantity. \end{DoxyCompactList}\item
|
|
struct \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1_runtime_prepared_coordinate}{serif\+::solver\+::normalization\+::\+Runtime\+Prepared\+Coordinate$<$ Prescription\+T $>$}}
|
|
\begin{DoxyCompactList}\small\item\em Identify the exact prescription supplying positive factors; this never claims identity scaling. \end{DoxyCompactList}\item
|
|
struct \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1_normalization_plan}{serif\+::solver\+::normalization\+::\+Normalization\+Plan$<$ Value\+Rules\+T, Residual\+Rules\+T $>$}}
|
|
\begin{DoxyCompactList}\small\item\em Independent term-\/to-\/method and row-\/to-\/method maps; their order does not define the packed layout. \end{DoxyCompactList}\item
|
|
struct \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1detail_1_1_rule_keys_3_01utils_1_1dependencies_1_1_bin150f4520117b72e129d0050b68e37dfd}{serif\+::solver\+::normalization\+::detail\+::\+Rule\+Keys$<$ utils\+::dependencies\+::\+Bindings$<$ Rules... $>$ $>$}}
|
|
\item
|
|
struct \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1detail_1_1_method_supports}{serif\+::solver\+::normalization\+::detail\+::\+Method\+Supports$<$ Method\+T, Key\+T, Kind $>$}}
|
|
\item
|
|
struct \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1detail_1_1_method_supports_3_01_identity_coordinate_00_01_key_t_00_01_kind_01_4}{serif\+::solver\+::normalization\+::detail\+::\+Method\+Supports$<$ Identity\+Coordinate, Key\+T, Kind $>$}}
|
|
\item
|
|
struct \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1detail_1_1_method_supports_3_01_physical_riesz_coordinca53ca5503ea96d28f2ea53532c197f0}{serif\+::solver\+::normalization\+::detail\+::\+Method\+Supports$<$ Physical\+Riesz\+Coordinate$<$ Quantity\+T, Metric\+T $>$, Key\+T, Kind $>$}}
|
|
\item
|
|
struct \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1detail_1_1_method_supports_3_01_with_point_rows_3_01_p780a79914d33f037a5a0b1e31a23dcb4}{serif\+::solver\+::normalization\+::detail\+::\+Method\+Supports$<$ With\+Point\+Rows$<$ Physical\+Riesz\+Coordinate$<$ Quantity\+T, Metric\+T $>$, Point\+Quantity\+T, Selection\+T $>$, Key\+T, discretization\+::blocks\+::\+Represented\+Value\+Kind\+::residual $>$}}
|
|
\item
|
|
struct \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1detail_1_1_method_supports_3_01_dimensionless_riesz_cob7933641b0ccf84196767145765dfaa2}{serif\+::solver\+::normalization\+::detail\+::\+Method\+Supports$<$ Dimensionless\+Riesz\+Coordinate$<$ Quantity\+T, Metric\+T, Geometry $>$, Key\+T, Kind $>$}}
|
|
\item
|
|
struct \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1detail_1_1_method_supports_3_01_with_point_rows_3_01_de1e33c308e0087263c578f98794d4b57}{serif\+::solver\+::normalization\+::detail\+::\+Method\+Supports$<$ With\+Point\+Rows$<$ Dimensionless\+Riesz\+Coordinate$<$ Quantity\+T, Metric\+T, Geometry $>$, Point\+Quantity\+T, Selection\+T $>$, Key\+T, discretization\+::blocks\+::\+Represented\+Value\+Kind\+::residual $>$}}
|
|
\item
|
|
struct \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1detail_1_1_method_supports_3_01_runtime_prepared_coord0c5dcc5681f6fd501a5f742fa84af007}{serif\+::solver\+::normalization\+::detail\+::\+Method\+Supports$<$ Runtime\+Prepared\+Coordinate$<$ Prescription\+T $>$, Key\+T, Kind $>$}}
|
|
\item
|
|
struct \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1detail_1_1_valid_rules}{serif\+::solver\+::normalization\+::detail\+::\+Valid\+Rules$<$ Rules\+T, Kind $>$}}
|
|
\item
|
|
struct \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1detail_1_1_valid_rules_3_01utils_1_1dependencies_1_1_b203aec1eb2fb5f59f72d5661ef45b524}{serif\+::solver\+::normalization\+::detail\+::\+Valid\+Rules$<$ utils\+::dependencies\+::\+Bindings$<$ Rules... $>$, Kind $>$}}
|
|
\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_1detail}{serif\+::solver\+::normalization\+::detail}}
|
|
\end{DoxyCompactItemize}
|
|
\doxysubsubsection*{Concepts}
|
|
\begin{DoxyCompactItemize}
|
|
\item
|
|
concept \mbox{\hyperlink{conceptserif_1_1solver_1_1normalization_1_1_normalization_prescription}{serif\+::solver\+::normalization\+::\+Normalization\+Prescription}}
|
|
\item
|
|
concept \mbox{\hyperlink{conceptserif_1_1solver_1_1normalization_1_1_normalization_plan_type}{serif\+::solver\+::normalization\+::\+Normalization\+Plan\+Type}}
|
|
\item
|
|
concept \mbox{\hyperlink{conceptserif_1_1solver_1_1normalization_1_1_complete_normalization_for}{serif\+::solver\+::normalization\+::\+Complete\+Normalization\+For}}
|
|
\end{DoxyCompactItemize}
|
|
\doxysubsubsection*{Functions}
|
|
\begin{DoxyCompactItemize}
|
|
\item
|
|
{\footnotesize template$<$typename... Declared, typename... Required$>$ }\\consteval bool \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1detail_af33ef5954b204ea3bcfc2b90c0a0637c}{serif\+::solver\+::normalization\+::detail\+::exact\+\_\+coordinates}} (\mbox{\hyperlink{structserif_1_1utils_1_1dependencies_1_1_key_list}{utils\+::dependencies\+::\+Key\+List}}$<$ Declared... $>$, \mbox{\hyperlink{structserif_1_1utils_1_1dependencies_1_1_key_list}{utils\+::dependencies\+::\+Key\+List}}$<$ Required... $>$)
|
|
\begin{DoxyCompactList}\small\item\em Compare memberships in both directions without deduplicating ownership declarations. \end{DoxyCompactList}\item
|
|
{\footnotesize template$<$typename KeyT, typename QuantityT, \mbox{\hyperlink{namespaceserif_1_1discretization_1_1blocks_aca74ff25d2168fcdec080e03ebc023ea}{discretization\+::blocks\+::\+Represented\+Value\+Kind}} Kind$>$ }\\consteval bool \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1detail_abfb83db8419da91b1325d23a4574ec93}{serif\+::solver\+::normalization\+::detail\+::quantity\+\_\+matches}} ()
|
|
\begin{DoxyCompactList}\small\item\em Check physics metadata when present; explicit low-\/level residual declarations remain their own authority. \end{DoxyCompactList}\end{DoxyCompactItemize}
|
|
\doxysubsubsection*{Variables}
|
|
\begin{DoxyCompactItemize}
|
|
\item
|
|
{\footnotesize template$<$typename Candidate$>$ }\\constexpr bool \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1detail_a743e21bed6e625b164b7c4da40d337dc}{serif\+::solver\+::normalization\+::detail\+::valid\+\_\+plan}} = false
|
|
\item
|
|
{\footnotesize template$<$typename ValuesT, typename ResidualsT$>$ }\\constexpr bool \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1detail_ae65c4d905195e523a5cd8193deb31e22}{serif\+::solver\+::normalization\+::detail\+::valid\+\_\+plan$<$ Normalization\+Plan$<$ Values\+T, Residuals\+T $>$ $>$}} = \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1detail_1_1_valid_rules}{Valid\+Rules}}$<$ValuesT, \mbox{\hyperlink{namespaceserif_1_1discretization_1_1blocks_aca74ff25d2168fcdec080e03ebc023eaa2063c1608d6e0baf80249c42e2be5804}{discretization\+::blocks\+::\+Represented\+Value\+Kind\+::value}}$>$\+::value \&\& \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1detail_1_1_valid_rules}{Valid\+Rules}}$<$ResidualsT, \mbox{\hyperlink{namespaceserif_1_1discretization_1_1blocks_aca74ff25d2168fcdec080e03ebc023eaa4db598f63d4aea6a3c8eaddfe5c2b1e9}{discretization\+::blocks\+::\+Represented\+Value\+Kind\+::residual}}$>$\+::value
|
|
\end{DoxyCompactItemize}
|