serif::utils::serialize serif::utils::serialize::Entry serif::utils::serialize::EnumSerializer serif::utils::serialize::Error serif::utils::serialize::Field serif::utils::serialize::Member serif::utils::serialize::NamedMember serif::utils::serialize::Node serif::utils::serialize::Pack serif::utils::serialize::Reader serif::utils::serialize::ReadOptions serif::utils::serialize::RecipeSerializer serif::utils::serialize::SchemaSerializer serif::utils::serialize::Serializer serif::utils::serialize::Serializer< char[Size]> serif::utils::serialize::Serializer< dependencies::Binding< Key, Target > > serif::utils::serialize::Serializer< dependencies::Bindings< Bindings... > > serif::utils::serialize::Serializer< dependencies::DependencyContext< Resources... > > serif::utils::serialize::Serializer< dependencies::DependencyContext<> > serif::utils::serialize::Serializer< dependencies::KeyList< Terms... > > serif::utils::serialize::Serializer< dependencies::Resource< Key, Storage, Policy > > serif::utils::serialize::Serializer< dependencies::ValueSnapshot > serif::utils::serialize::Serializer< dimensions::QuantityValue< Quantity > > serif::utils::serialize::Serializer< discretization::blocks::SystemLayout< Values, Residuals > > serif::utils::serialize::Serializer< discretization::quadrature::Policy > serif::utils::serialize::Serializer< discretization::quadrature::RuleControl > serif::utils::serialize::Serializer< discretization::quadrature::RuleSet > serif::utils::serialize::Serializer< eos::models::Polytrope > serif::utils::serialize::Serializer< equations::AngularMomentumConstraint > serif::utils::serialize::Serializer< equations::BarotropicDensityBalance< EOS > > serif::utils::serialize::Serializer< equations::BarycenterConstraint< Axis, Row > > serif::utils::serialize::Serializer< equations::EquationRegistry< Equations... > > serif::utils::serialize::Serializer< equations::MassNormalization > serif::utils::serialize::Serializer< equations::PointMassCompanion > serif::utils::serialize::Serializer< equations::PrimalPoissonBalance > serif::utils::serialize::Serializer< equations::SurfacePotentialBalance > serif::utils::serialize::Serializer< geometry::deformation::DomainDeformation< Surface, Interior, Vacuum > > serif::utils::serialize::Serializer< geometry::deformation::FixedInfinityRadialExtension > serif::utils::serialize::Serializer< geometry::deformation::GeometryStepLimit > serif::utils::serialize::Serializer< geometry::deformation::keys::SurfaceMetric > serif::utils::serialize::Serializer< geometry::deformation::NodalRadialSurface > serif::utils::serialize::Serializer< geometry::deformation::PowerLawRadialExtension > serif::utils::serialize::Serializer< geometry::deformation::SphericalHarmonicSurface > serif::utils::serialize::Serializer< geometry::surface::IsobaricSurface > serif::utils::serialize::Serializer< laneemden::IntegrationOptions > serif::utils::serialize::Serializer< model::backend::mfem::StellarDiscretization< Owner, Bindings, Deformation > > serif::utils::serialize::Serializer< model::DiscretizationOptions< Model, FiniteElements, Normalization, Preconditioner > > serif::utils::serialize::Serializer< model::EosReference< EOS > > serif::utils::serialize::Serializer< model::EquilibriumEquations< Interior, Shape, Surface > > serif::utils::serialize::Serializer< model::FixedAngularMomentum > serif::utils::serialize::Serializer< model::FixedTotalMass > serif::utils::serialize::Serializer< model::normalization::SurfaceRows > serif::utils::serialize::Serializer< model::NoShapeForce > serif::utils::serialize::Serializer< model::NoSurfaceCondition > serif::utils::serialize::Serializer< model::preconditioning::None > serif::utils::serialize::Serializer< model::StellarModel< EOS, Definition, types::TypeList< Specifications... > > > serif::utils::serialize::Serializer< model::StellarState< Layout > > serif::utils::serialize::Serializer< Node > serif::utils::serialize::Serializer< operators::backend::mfem::VolumeOptions > serif::utils::serialize::Serializer< solver::Backtracking > serif::utils::serialize::Serializer< solver::linear::Control > serif::utils::serialize::Serializer< solver::linear::FGMRES > serif::utils::serialize::Serializer< solver::linear::Report > serif::utils::serialize::Serializer< solver::linear::Status > serif::utils::serialize::Serializer< solver::MetricEvaluation > serif::utils::serialize::Serializer< solver::Newton > serif::utils::serialize::Serializer< solver::NewtonCheckpoint< State > > serif::utils::serialize::Serializer< solver::NewtonProgress > serif::utils::serialize::Serializer< solver::normalization::AutomaticPlan > serif::utils::serialize::Serializer< solver::normalization::DiagonalNormalization > serif::utils::serialize::Serializer< solver::normalization::Dimensionless > serif::utils::serialize::Serializer< solver::normalization::DimensionlessRieszCoordinate< Quantity, Metric, Geometry > > serif::utils::serialize::Serializer< solver::normalization::FromModel > serif::utils::serialize::Serializer< solver::normalization::IdentityCoordinate > serif::utils::serialize::Serializer< solver::normalization::LaneEmdenApproximation< Mass, Density > > serif::utils::serialize::Serializer< solver::normalization::NormalizationOptions< Scheme, Coordinates, Plan, Sources, Computations > > serif::utils::serialize::Serializer< solver::normalization::NormalizationPlan< Values, Residuals > > serif::utils::serialize::Serializer< solver::normalization::PhysicalRieszCoordinate< Quantity, Metric > > serif::utils::serialize::Serializer< solver::normalization::ReferenceVolumeMetric< Term > > serif::utils::serialize::Serializer< solver::normalization::StellarReferenceScales > serif::utils::serialize::Serializer< solver::normalization::UnitMetric > serif::utils::serialize::Serializer< solver::normalization::WithPointRows< Volume, Quantity, Selection > > serif::utils::serialize::Serializer< solver::NormalizedResidualMetric > serif::utils::serialize::Serializer< solver::preconditioner::BlockPreconditioner< Row, Field, Strategy > > serif::utils::serialize::Serializer< solver::preconditioner::BorderedPreconditioner< Fields, Constraints > > serif::utils::serialize::Serializer< solver::preconditioner::CoupledPreconditioner< First, Second, Policy > > serif::utils::serialize::Serializer< solver::preconditioner::strategies::coupling::SecondThenFirst > serif::utils::serialize::Serializer< solver::preconditioner::strategies::inverse::DenseDirect > serif::utils::serialize::Serializer< solver::preconditioner::strategies::inverse::Diagonal > serif::utils::serialize::Serializer< solver::preconditioner::strategies::inverse::FixedAMG > serif::utils::serialize::Serializer< solver::preconditioner::strategies::inverse::SparseDirect > serif::utils::serialize::Serializer< solver::SolveDiagnostics > serif::utils::serialize::Serializer< solver::SolveResult< State, System, Model > > serif::utils::serialize::Serializer< solver::SolverOptions< Metric, Strategies, Linear > > serif::utils::serialize::Serializer< solver::SolveStatus > serif::utils::serialize::Serializer< solver::StandardNewton > serif::utils::serialize::Serializer< std::array< T, Size > > serif::utils::serialize::Serializer< std::optional< T > > serif::utils::serialize::Serializer< std::string > serif::utils::serialize::Serializer< std::string_view > serif::utils::serialize::Serializer< std::tuple< T... > > serif::utils::serialize::Serializer< std::vector< T > > serif::utils::serialize::Serializer< T > serif::utils::serialize::StructSerializer serif::utils::serialize::TermIdentity serif::utils::serialize::TermIdentity< discretization::blocks::barotropic_constant::mass_normalization > serif::utils::serialize::TermIdentity< discretization::blocks::density::mass > serif::utils::serialize::TermIdentity< discretization::blocks::displacement::vector > serif::utils::serialize::TermIdentity< discretization::blocks::gravity::potential > serif::utils::serialize::TermIdentity< discretization::blocks::rotation::angular_velocity > serif::utils::serialize::TermIdentity< discretization::blocks::surface_deformation::coefficients > serif::utils::serialize::TermIdentity< discretization::blocks::surface_deformation::shape_equilibrium > serif::utils::serialize::TermIdentity< model::ConstraintOf< Specification > > serif::utils::serialize::TermIdentity< model::GeneratedCoordinateOf< Specification > > serif::utils::serialize::TopExportOptions serif::utils::serialize::TopExportReport serif::utils::serialize::TopPolytropeSource serif::utils::serialize::WriteOptions serif::utils::serialize::detail Format serif::utils::serialize::Format binary text Both encodings share the same component schemas and indexed, sectioned file layout. VersionTolerance serif::utils::serialize::VersionTolerance same_major exact any Application-version compatibility is separate from file-format and component-schema compatibility. typename OriginalModel model::StellarModel< typename OriginalModel::EquationOfState, detail::OwnedEquations< OriginalModel >, typename OriginalModel::SpecificationTypes > using serif::utils::serialize::RestoredStellarModel = model::StellarModel<typename OriginalModel::EquationOfState, detail::OwnedEquations<OriginalModel>, typename OriginalModel::SpecificationTypes> RestoredStellarModel serif::utils::serialize::RestoredStellarModel Restore current physics as an explicit composition, without pretending to regenerate a deferred program. typename T std::expected< T, Error > using serif::utils::serialize::Result = std::expected<T, Error> Result serif::utils::serialize::Result std::variant< std::monostate, bool, std::int64_t, std::uint64_t, double, std::string, std::vector< double >, std::vector< std::int64_t >, std::vector< std::uint64_t > > using serif::utils::serialize::Value = std::variant<std::monostate, bool, std::int64_t, std::uint64_t, double, std::string, std::vector<double>, std::vector<std::int64_t>, std::vector<std::uint64_t>> Value serif::utils::serialize::Value Portable scientific data; runtime pointers and computational caches have no representation here. model::StellarModelType Model Model typename FiniteElements typename State Result< TopExportReport > Result< TopExportReport > serif::utils::serialize::export_top (const std::filesystem::path &directory, const Model &stellar_model, const FiniteElements &finite_elements, const State &state, const TopExportOptions &options={}) export_top serif::utils::serialize::export_top const std::filesystem::path & directory const Model & stellar_model const FiniteElements & finite_elements const State & state const TopExportOptions & options {} Export the accepted density and FE surface of a uniformly rotating vacuum polytrope to TOP. StellarModel owns physics, while finite_elements and state supply its numerical realization. Enthalpy is derived only for this external file format; it is not introduced as a SERiF unknown. The native TOP polytrope reader does not represent general EOS or finite-pressure surfaces. typename FiniteElements typename Solution Result< TopExportReport > Result< TopExportReport > serif::utils::serialize::export_top (const std::filesystem::path &directory, const FiniteElements &finite_elements, const Solution &solution, const TopExportOptions &options={}) export_top serif::utils::serialize::export_top const std::filesystem::path & directory const FiniteElements & finite_elements const Solution & solution const TopExportOptions & options {} requires(const Solution& solution) { solution.has_state(); solution.model(); solution.state(); } Export a solver result with the separately owned FE resources that interpret its accepted state. typename T Field Field serif::utils::serialize::named (std::string name, const T &value) named serif::utils::serialize::named std::string name const T & value Assign an explicit top-level name, for example when storing two stars in the same archive. void void serif::utils::serialize::add_component (Pack &pack, Field component) add_component serif::utils::serialize::add_component Pack & pack Field component Insert a component while rejecting conflicting definitions of the same named object. typename... T T Pack Pack serif::utils::serialize::pack (const T &... values) pack serif::utils::serialize::pack const T &... values Capture every supplied component; unregistered nested types remain visible as unsupported entries. Result< void > Result< void > serif::utils::serialize::write (const std::filesystem::path &path, const Pack &contents, const WriteOptions &options={}) write serif::utils::serialize::write const std::filesystem::path & path const Pack & contents const WriteOptions & options {} Write a complete temporary file and atomically replace the destination only after it closes successfully. typename Owner typename Value auto auto serif::utils::serialize::member_field (std::string_view name, Value Owner::*pointer) member_field serif::utils::serialize::member_field std::string_view name Value Owner::* pointer Deduce a member's stored type from its ordinary C++ declaration. typename Term Node Node serif::utils::serialize::term_schema () term_schema serif::utils::serialize::term_schema Expose the physical meaning and FE representation of one compiled coordinate. Result< void > Result< void > serif::utils::serialize::validate_schema (const Node &saved, const Node &expected) validate_schema serif::utils::serialize::validate_schema const Node & saved const Node & expected A compiled identity must match and must have an explicit persistence registration. typename OriginalModel Result< RestoredStellarModel< OriginalModel > > Result< RestoredStellarModel< OriginalModel > > serif::utils::serialize::restore_stellar_model (const Node &node) restore_stellar_model serif::utils::serialize::restore_stellar_model const Node & node Reconstruct resolved physics; future changes requiring the original callback remain a separate capability. typename T Node Node serif::utils::serialize::encode (const T &value) encode serif::utils::serialize::encode const T & value Produce data when a serializer exists, otherwise record the missing capability explicitly. typename T Result< T > Result< T > serif::utils::serialize::decode (const Node &node) decode serif::utils::serialize::decode const Node & node Translate invalid saved parameters into a value error at the reconstruction boundary. typename T Field Field serif::utils::serialize::field (std::string name, const T &value) field serif::utils::serialize::field std::string name const T & value Encode one named field of a component. typename... Fields Fields Node Node serif::utils::serialize::object (std::string_view type, Fields... fields) object serif::utils::serialize::object std::string_view type Fields... fields Compose a component from its independently serialized fields. typename T Member< T > Member< T > serif::utils::serialize::member (std::string_view name) member serif::utils::serialize::member std::string_view name Describe one field to read_object without a separate temporary variable. typename T Result< T > Result< T > serif::utils::serialize::read_field (const Node &node, std::string_view name) read_field serif::utils::serialize::read_field const Node & node std::string_view name Read a required field and retain its full path in any diagnostic. typename Construct typename... Members Members Result< std::invoke_result_t< Construct, typename Members::Type... > > Result< std::invoke_result_t< Construct, typename Members::Type... > > serif::utils::serialize::read_object (const Node &node, std::string_view type, Construct construct, Members... members) read_object serif::utils::serialize::read_object const Node & node std::string_view type Construct construct Members... members Construct a component only after every required field has decoded successfully. std::string std::string serif::utils::serialize::fingerprint (std::string_view bytes) fingerprint serif::utils::serialize::fingerprint std::string_view bytes Versioned content identity for accidental corruption and resource matching; not a cryptographic signature. Result< TopExportReport > Result< TopExportReport > serif::utils::serialize::export_top (const std::filesystem::path &path, const TopPolytropeSource &source, const TopExportOptions &options={}) export_top serif::utils::serialize::export_top const std::filesystem::path & path const TopPolytropeSource & source const TopExportOptions & options {} Atomically publish a new TOP model directory, refusing to overwrite any destination. Projects the source surface and pressure-derived enthalpy at common surface-fitted zeta coordinates. Only equatorially symmetric axisymmetric vacuum polytropes with n>=1 are supported. TOP chooses Gamma1 in its equation set, separately from these files.