\doxysection{src/include/serif/utils/serialize/model.hpp File Reference} \hypertarget{utils_2serialize_2model_8hpp}{}\label{utils_2serialize_2model_8hpp}\index{src/include/serif/utils/serialize/model.hpp@{src/include/serif/utils/serialize/model.hpp}} {\ttfamily \#include "{}serif/utils/serialize/equations.\+hpp"{}}\newline {\ttfamily \#include "{}serif/model/state.\+hpp"{}}\newline {\ttfamily \#include "{}serif/model/stellar\+\_\+model.\+hpp"{}}\newline {\ttfamily \#include "{}serif/discretization/blocks/fields.\+hpp"{}}\newline {\ttfamily \#include "{}serif/utils/dependencies/dependency\+\_\+context.\+hpp"{}}\newline Include dependency graph for model.\+hpp\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{utils_2serialize_2model_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]{utils_2serialize_2model_8hpp__dep__incl} \end{center} \end{figure} \doxysubsubsection*{Classes} \begin{DoxyCompactItemize} \item struct \mbox{\hyperlink{structserif_1_1utils_1_1serialize_1_1_term_identity}{serif\+::utils\+::serialize\+::\+Term\+Identity$<$ Term $>$}} \begin{DoxyCompactList}\small\item\em Register stable coordinate identities separately from compiler-\/generated display names. \end{DoxyCompactList}\item struct \mbox{\hyperlink{structserif_1_1utils_1_1serialize_1_1_term_identity_3_01discretization_1_1blocks_1_1density_1_1mass_01_4}{serif\+::utils\+::serialize\+::\+Term\+Identity$<$ discretization\+::blocks\+::density\+::mass $>$}} \item struct \mbox{\hyperlink{structserif_1_1utils_1_1serialize_1_1_term_identity_3_01discretization_1_1blocks_1_1gravity_1_1potential_01_4}{serif\+::utils\+::serialize\+::\+Term\+Identity$<$ discretization\+::blocks\+::gravity\+::potential $>$}} \item struct \mbox{\hyperlink{structserif_1_1utils_1_1serialize_1_1_term_identity_3_01discretization_1_1blocks_1_1displacement_1_1vector_01_4}{serif\+::utils\+::serialize\+::\+Term\+Identity$<$ discretization\+::blocks\+::displacement\+::vector $>$}} \item struct \mbox{\hyperlink{structserif_1_1utils_1_1serialize_1_1_term_identity_3_01discretization_1_1blocks_1_1rotation_1_1angular__velocity_01_4}{serif\+::utils\+::serialize\+::\+Term\+Identity$<$ discretization\+::blocks\+::rotation\+::angular\+\_\+velocity $>$}} \item struct \mbox{\hyperlink{structserif_1_1utils_1_1serialize_1_1_term_identity_3_01discretization_1_1blocks_1_1barotropic__89bc695dfd6145b8157982b62f74f600}{serif\+::utils\+::serialize\+::\+Term\+Identity$<$ discretization\+::blocks\+::barotropic\+\_\+constant\+::mass\+\_\+normalization $>$}} \item struct \mbox{\hyperlink{structserif_1_1utils_1_1serialize_1_1_term_identity_3_01discretization_1_1blocks_1_1surface__deformation_1_1coefficients_01_4}{serif\+::utils\+::serialize\+::\+Term\+Identity$<$ discretization\+::blocks\+::surface\+\_\+deformation\+::coefficients $>$}} \item struct \mbox{\hyperlink{structserif_1_1utils_1_1serialize_1_1_term_identity_3_01discretization_1_1blocks_1_1surface__def9d4d4c300051a0fc97927e0b7b8e5806}{serif\+::utils\+::serialize\+::\+Term\+Identity$<$ discretization\+::blocks\+::surface\+\_\+deformation\+::shape\+\_\+equilibrium $>$}} \item struct \mbox{\hyperlink{structserif_1_1utils_1_1serialize_1_1_term_identity_3_01model_1_1_generated_coordinate_of_3_01_specification_01_4_01_4}{serif\+::utils\+::serialize\+::\+Term\+Identity$<$ model\+::\+Generated\+Coordinate\+Of$<$ Specification $>$ $>$}} \item struct \mbox{\hyperlink{structserif_1_1utils_1_1serialize_1_1_term_identity_3_01model_1_1_constraint_of_3_01_specification_01_4_01_4}{serif\+::utils\+::serialize\+::\+Term\+Identity$<$ model\+::\+Constraint\+Of$<$ Specification $>$ $>$}} \item struct \mbox{\hyperlink{structserif_1_1utils_1_1serialize_1_1_serializer_3_01dependencies_1_1_key_list_3_01_terms_8_8_8_01_4_01_4}{serif\+::utils\+::serialize\+::\+Serializer$<$ dependencies\+::\+Key\+List$<$ Terms... $>$ $>$}} \item struct \mbox{\hyperlink{structserif_1_1utils_1_1serialize_1_1_serializer_3_01discretization_1_1blocks_1_1_system_layout_0ff134e806ae8fabb2824d65ab96ab41}{serif\+::utils\+::serialize\+::\+Serializer$<$ discretization\+::blocks\+::\+System\+Layout$<$ Values, Residuals $>$ $>$}} \item struct \mbox{\hyperlink{structserif_1_1utils_1_1serialize_1_1_serializer_3_01model_1_1_stellar_state_3_01_layout_01_4_01_4}{serif\+::utils\+::serialize\+::\+Serializer$<$ model\+::\+Stellar\+State$<$ Layout $>$ $>$}} \item struct \mbox{\hyperlink{structserif_1_1utils_1_1serialize_1_1_serializer_3_01model_1_1_no_shape_force_01_4}{serif\+::utils\+::serialize\+::\+Serializer$<$ model\+::\+No\+Shape\+Force $>$}} \item struct \mbox{\hyperlink{structserif_1_1utils_1_1serialize_1_1_serializer_3_01model_1_1_no_surface_condition_01_4}{serif\+::utils\+::serialize\+::\+Serializer$<$ model\+::\+No\+Surface\+Condition $>$}} \item struct \mbox{\hyperlink{structserif_1_1utils_1_1serialize_1_1_serializer_3_01model_1_1_equilibrium_equations_3_01_interif5348cc482fa0837731ef29e43caf9e1}{serif\+::utils\+::serialize\+::\+Serializer$<$ model\+::\+Equilibrium\+Equations$<$ Interior, Shape, Surface $>$ $>$}} \item struct \mbox{\hyperlink{structserif_1_1utils_1_1serialize_1_1_serializer_3_01model_1_1_stellar_model_3_01_e_o_s_00_01_de66a561ce84ebc1ad4f2655cbafe05d29}{serif\+::utils\+::serialize\+::\+Serializer$<$ model\+::\+Stellar\+Model$<$ EOS, Definition, types\+::\+Type\+List$<$ Specifications... $>$ $>$ $>$}} \item struct \mbox{\hyperlink{structserif_1_1utils_1_1serialize_1_1_serializer_3_01dependencies_1_1_value_snapshot_01_4}{serif\+::utils\+::serialize\+::\+Serializer$<$ dependencies\+::\+Value\+Snapshot $>$}} \item struct \mbox{\hyperlink{structserif_1_1utils_1_1serialize_1_1_serializer_3_01dependencies_1_1_resource_3_01_key_00_01_storage_00_01_policy_01_4_01_4}{serif\+::utils\+::serialize\+::\+Serializer$<$ dependencies\+::\+Resource$<$ Key, Storage, Policy $>$ $>$}} \item struct \mbox{\hyperlink{structserif_1_1utils_1_1serialize_1_1_serializer_3_01dependencies_1_1_dependency_context_3_01_resources_8_8_8_01_4_01_4}{serif\+::utils\+::serialize\+::\+Serializer$<$ dependencies\+::\+Dependency\+Context$<$ Resources... $>$ $>$}} \item struct \mbox{\hyperlink{structserif_1_1utils_1_1serialize_1_1_serializer_3_01dependencies_1_1_dependency_context_3_4_01_4}{serif\+::utils\+::serialize\+::\+Serializer$<$ dependencies\+::\+Dependency\+Context$<$$>$ $>$}} \end{DoxyCompactItemize} \doxysubsubsection*{Namespaces} \begin{DoxyCompactItemize} \item namespace \mbox{\hyperlink{namespaceserif}{serif}} \item namespace \mbox{\hyperlink{namespaceserif_1_1utils}{serif\+::utils}} \item namespace \mbox{\hyperlink{namespaceserif_1_1utils_1_1serialize}{serif\+::utils\+::serialize}} \item namespace \mbox{\hyperlink{namespaceserif_1_1utils_1_1serialize_1_1detail}{serif\+::utils\+::serialize\+::detail}} \end{DoxyCompactItemize} \doxysubsubsection*{Typedefs} \begin{DoxyCompactItemize} \item {\footnotesize template$<$typename Model$>$ }\\using \mbox{\hyperlink{namespaceserif_1_1utils_1_1serialize_1_1detail_aaa80c0d00d22388f903760314073f8c5}{serif\+::utils\+::serialize\+::detail\+::\+Resolved\+Equations}} = decltype(\mbox{\hyperlink{namespaceserif_1_1model_aa55d6cc09e69d07412896dedcb71c5a5}{model\+::resolve\+\_\+equilibrium\+\_\+equations}}(std\+::declval$<$const Model\&$>$())) \item {\footnotesize template$<$typename Model$>$ }\\using \mbox{\hyperlink{namespaceserif_1_1utils_1_1serialize_1_1detail_a331361f70fa27188f1a1679faa827273}{serif\+::utils\+::serialize\+::detail\+::\+Owned\+Equations}} \item {\footnotesize template$<$typename Original\+Model$>$ }\\using \mbox{\hyperlink{namespaceserif_1_1utils_1_1serialize_af0afd5aacbd77b40205164c3ec2cf423}{serif\+::utils\+::serialize\+::\+Restored\+Stellar\+Model}} = \mbox{\hyperlink{classserif_1_1model_1_1_stellar_model}{model\+::\+Stellar\+Model}}$<$typename Original\+Model\+::\+Equation\+Of\+State, \mbox{\hyperlink{namespaceserif_1_1utils_1_1serialize_1_1detail_a331361f70fa27188f1a1679faa827273}{detail\+::\+Owned\+Equations}}$<$Original\+Model$>$, typename Original\+Model\+::\+Specification\+Types$>$ \begin{DoxyCompactList}\small\item\em Restore current physics as an explicit composition, without pretending to regenerate a deferred program. \end{DoxyCompactList}\end{DoxyCompactItemize} \doxysubsubsection*{Functions} \begin{DoxyCompactItemize} \item {\footnotesize template$<$typename Term$>$ }\\\mbox{\hyperlink{structserif_1_1utils_1_1serialize_1_1_node}{Node}} \mbox{\hyperlink{namespaceserif_1_1utils_1_1serialize_a2467d2dec6186bb040f634a1320c279a}{serif\+::utils\+::serialize\+::term\+\_\+schema}} () \begin{DoxyCompactList}\small\item\em Expose the physical meaning and FE representation of one compiled coordinate. \end{DoxyCompactList}\item \mbox{\hyperlink{namespaceserif_1_1utils_1_1serialize_ace9e0af29889a767ef1c95a09a4b7265}{Result}}$<$ void $>$ \mbox{\hyperlink{namespaceserif_1_1utils_1_1serialize_ab00ec68c8966b7783b811342ba3202a5}{serif\+::utils\+::serialize\+::validate\+\_\+schema}} (const \mbox{\hyperlink{structserif_1_1utils_1_1serialize_1_1_node}{Node}} \&saved, const \mbox{\hyperlink{structserif_1_1utils_1_1serialize_1_1_node}{Node}} \&expected) \begin{DoxyCompactList}\small\item\em A compiled identity must match and must have an explicit persistence registration. \end{DoxyCompactList}\item {\footnotesize template$<$typename Original\+Model$>$ }\\\mbox{\hyperlink{namespaceserif_1_1utils_1_1serialize_ace9e0af29889a767ef1c95a09a4b7265}{Result}}$<$ \mbox{\hyperlink{namespaceserif_1_1utils_1_1serialize_af0afd5aacbd77b40205164c3ec2cf423}{Restored\+Stellar\+Model}}$<$ Original\+Model $>$ $>$ \mbox{\hyperlink{namespaceserif_1_1utils_1_1serialize_ad8c80c4dc17552d1b312b26428b20ccd}{serif\+::utils\+::serialize\+::restore\+\_\+stellar\+\_\+model}} (const \mbox{\hyperlink{structserif_1_1utils_1_1serialize_1_1_node}{Node}} \&node) \begin{DoxyCompactList}\small\item\em Reconstruct resolved physics; future changes requiring the original callback remain a separate capability. \end{DoxyCompactList}\end{DoxyCompactItemize}