Files
MeanField_SERiF/docs/man/man3/serif_solver_seed.3
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

137 lines
7.5 KiB
Groff
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
.TH "serif::solver::seed" 3 "Version v0.0.1a" "SERiF" \" -*- nroff -*-
.ad l
.nh
.SH NAME
serif::solver::seed
.SH SYNOPSIS
.br
.PP
.SS "Namespaces"
.in +1c
.ti -1c
.RI "namespace \fBbackend\fP"
.br
.ti -1c
.RI "namespace \fBdetail\fP"
.br
.in -1c
.SS "Classes"
.in +1c
.ti -1c
.RI "struct \fBFittedRadialSeed\fP"
.br
.RI "An explicitly stretched initial guess, distinct from an equilibrium Lane–Emden scaling\&. "
.ti -1c
.RI "struct \fBPolytropeOptions\fP"
.br
.RI "Numerical choices for an EOS-consistent spherical starting guess, separate from solver normalization\&. "
.ti -1c
.RI "struct \fBRadialSeed\fP"
.br
.RI "Own a spherical physical profile and its first rotation estimate without changing the stellar model\&. "
.in -1c
.SS "Functions"
.in +1c
.ti -1c
.RI "auto \fBevaluate_radial_seed\fP (const \fBRadialSeed\fP &seed, \fBdimensions::LengthValue\fP radius)"
.br
.RI "Evaluate the original equilibrium profile without changing its physical scaling\&. "
.ti -1c
.RI "std::expected< \fBFittedRadialSeed\fP, std::string > \fBfit_radial_seed\fP (const \fBRadialSeed\fP &seed, \fBdimensions::LengthValue\fP radius)"
.br
.RI "Copy a radial seed onto another radius without changing its material thermodynamics\&. "
.ti -1c
.RI "std::expected< \fButils::laneemden::PhysicalSample\fP, std::string > \fBevaluate_radial_seed\fP (const \fBFittedRadialSeed\fP &seed, \fBdimensions::LengthValue\fP radius)"
.br
.RI "Evaluate the fitted density and its consistent spherical gravity, retaining the source enthalpy\&. "
.ti -1c
.RI "std::expected< \fBRadialSeed\fP, std::string > \fBmake_polytropic_seed\fP (const \fBeos::models::Polytrope\fP &equation_of_state, \fBdimensions::MassValue\fP mass, \fBPolytropeOptions\fP options={})"
.br
.RI "Fix the EOS K and requested mass, solving for central density when n differs from three\&. "
.ti -1c
.RI "template<model::StellarModelType Model>
.br
requires Model::templatecontains_specification< \fBmodel::FixedTotalMass\fP > std::expected< \fBRadialSeed\fP, std::string > \fBmake_polytropic_seed\fP (const Model &model, \fBPolytropeOptions\fP options={})"
.br
.RI "Read the authoritative EOS, mass and optional rotation prescription from a model\&. "
.ti -1c
.RI "template<model::StellarModelType Model, typename Discretization, typename Profile>
.br
requires (std::same_as<Profile, \fBRadialSeed\fP> || std::same_as<Profile, \fBFittedRadialSeed\fP>) && requires(const Model& model, const Discretization& discretization) { requires (!std::same_as<typename std::remove_cvref_t<decltype(\fBmodel::resolve_equilibrium_equations\fP(model))>::ShapeForce, \fBmodel::NoShapeForce\fP>); discretization\&.deformation\&.model\&.surface; discretization\&.deformation\&.reference; }auto \fBmake_polytropic_state\fP (const Model &model, const Discretization &discretization, const Profile &seed, const ProjectionOptions options={})"
.br
.RI "Project a spherical guess into a moving model's named physical coordinates on its undeformed reference mesh\&. "
.ti -1c
.RI "template<typename Discretization> std::expected< \fBFittedRadialSeed\fP, std::string > \fBfit_radial_seed\fP (const Discretization &discretization, const \fBRadialSeed\fP &seed, double spherical_relative_tolerance=5\&.0e\-4)"
.br
.RI "Fit only an initial radial guess to the selected spherical reference surface\&. "
.in -1c
.SH "Function Documentation"
.PP
.SS "std::expected< \fButils::laneemden::PhysicalSample\fP, std::string > serif::solver::seed::evaluate_radial_seed (const \fBFittedRadialSeed\fP & seed, \fBdimensions::LengthValue\fP radius)\fR [nodiscard]\fP"
.PP
Evaluate the fitted density and its consistent spherical gravity, retaining the source enthalpy\&. Evaluate unchanged material fields with the gravity generated by their stretched density\&.
.SS "auto serif::solver::seed::evaluate_radial_seed (const \fBRadialSeed\fP & seed, \fBdimensions::LengthValue\fP radius)\fR [inline]\fP, \fR [nodiscard]\fP"
.PP
Evaluate the original equilibrium profile without changing its physical scaling\&.
.SS "template<typename Discretization> std::expected< \fBFittedRadialSeed\fP, std::string > serif::solver::seed::backend::mfem::fit_radial_seed (const Discretization & discretization, const \fBRadialSeed\fP & seed, double spherical_relative_tolerance = \fR5\&.0e\-4\fP)\fR [nodiscard]\fP"
.PP
Fit only an initial radial guess to the selected spherical reference surface\&.
.PP
\fBNote\fP
.RS 4
Surface radius is the midpoint of its selected FE-coordinate extrema, as in MeanField\&. The original seed, reference mesh, EOS and target constraints are never modified\&.
.RE
.PP
.SS "std::expected< \fBFittedRadialSeed\fP, std::string > serif::solver::seed::fit_radial_seed (const \fBRadialSeed\fP & seed, \fBdimensions::LengthValue\fP radius)\fR [nodiscard]\fP"
.PP
Copy a radial seed onto another radius without changing its material thermodynamics\&. Validate a regular source and own its explicit, thermodynamically unchanged radial stretch\&.
.PP
\fBNote\fP
.RS 4
For stretch s, enclosed mass scales as s^3, potential as s^2, gravity as s and inertia as s^5\&. Omega becomes Omega_source/s^5, preserving the angular momentum inferred from the source guess\&. The original PhysicalScales remain intact; no equilibrium or target-constraint satisfaction is implied\&.
.RE
.PP
.SS "std::expected< \fBRadialSeed\fP, std::string > serif::solver::seed::make_polytropic_seed (const \fBeos::models::Polytrope\fP & equation_of_state, \fBdimensions::MassValue\fP mass, \fBPolytropeOptions\fP options = \fR{}\fP)\fR [nodiscard]\fP"
.PP
Fix the EOS K and requested mass, solving for central density when n differs from three\&.
.PP
\fBNote\fP
.RS 4
At n=3 mass does not determine central density: supply that homology scale explicitly\&. An explicit density specifies the initial guess only; its mass need not satisfy the final constraint\&.
.RE
.PP
.SS "template<model::StellarModelType Model>
.br
requires Model::templatecontains_specification< \fBmodel::FixedTotalMass\fP > std::expected< \fBRadialSeed\fP, std::string > serif::solver::seed::make_polytropic_seed (const Model & model, \fBPolytropeOptions\fP options = \fR{}\fP)\fR [nodiscard]\fP"
.PP
Read the authoritative EOS, mass and optional rotation prescription from a model\&.
.SS "template<model::StellarModelType Model, typename Discretization, typename Profile>
.br
requires (std::same_as<Profile, \fBRadialSeed\fP> || std::same_as<Profile, \fBFittedRadialSeed\fP>) && requires(const Model& model, const Discretization& discretization) { requires (!std::same_as<typename std::remove_cvref_t<decltype(\fBmodel::resolve_equilibrium_equations\fP(model))>::ShapeForce, \fBmodel::NoShapeForce\fP>); discretization\&.deformation\&.model\&.surface; discretization\&.deformation\&.reference; }auto serif::solver::seed::backend::mfem::make_polytropic_state (const Model & model, const Discretization & discretization, const Profile & seed, const ProjectionOptions options = \fR{}\fP)\fR [nodiscard]\fP"
.PP
Project a spherical guess into a moving model's named physical coordinates on its undeformed reference mesh\&.
.PP
\fBNote\fP
.RS 4
Choose a spherical reference mesh close to the seed radius, or explicitly fit the initial guess first\&. Shape starts at zero; the scalar formulation's surface level starts at -GM/R\&. The selected zero-pressure polytropic field trace is enforced exactly\&. It does not change the EOS, fit the mesh, or certify a discrete equilibrium\&. The vacuum limits assume radial compactification, as used by the stellar Kelvin map\&.
.RE
.PP
.SH "Author"
.PP
Generated automatically by Doxygen for SERiF from the source code\&.