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

228 lines
12 KiB
Groff

.TH "serif::solver::backend::mfem::StellarProblem< Evaluator, Inputs >" 3 "Version v0.0.1a" "SERiF" \" -*- nroff -*-
.ad l
.nh
.SH NAME
serif::solver::backend::mfem::StellarProblem< Evaluator, Inputs > \- Adapt existing stellar preparation to \fBNewton\fP without giving acceptance to the model\&.
.SH SYNOPSIS
.br
.PP
.PP
\fR#include <stellar_problem\&.hpp>\fP
.SS "Public Types"
.in +1c
.ti -1c
.RI "using \fBVector\fP = \fBserif::Vector\fP"
.br
.ti -1c
.RI "using \fBSystem\fP = std::remove_const_t<typename Evaluator::Result::element_type>"
.br
.ti -1c
.RI "using \fBModel\fP = std::remove_cvref_t<decltype(std::declval<const Evaluator&>()\&.model())>"
.br
.ti -1c
.RI "using \fBLayout\fP = typename Evaluator::Layout"
.br
.ti -1c
.RI "using \fBFailure\fP = typename Evaluator::Cache::Failure"
.br
.in -1c
.SS "Public Member Functions"
.in +1c
.ti -1c
.RI "\fBStellarProblem\fP (Evaluator \fBevaluator\fP, Inputs prescribed=Inputs{}, ::mfem::Vector displacement={})"
.br
.RI "Retain one cache and all external inputs throughout a solve\&. "
.ti -1c
.RI "auto \fBmodel_owner\fP () const"
.br
.RI "Retain the immutable physical definition in the resulting checkpoint\&. "
.ti -1c
.RI "const auto & \fBbinding\fP () const"
.br
.RI "Inspect typed FE resources for explicitly selected numerical strategies\&. "
.ti -1c
.RI "const \fBLayout\fP & \fBlayout\fP () const"
.br
.RI "Inspect the coordinate identities used by every physical state in this solve\&. "
.ti -1c
.RI "Evaluator & \fBevaluator\fP ()"
.br
.RI "Access the shared physical preparation service for numerical extensions\&. "
.ti -1c
.RI "auto \fBevaluate\fP (const \fBmodel::StellarState\fP< \fBLayout\fP > &state)"
.br
.RI "Evaluate the complete equations, preserving all previously published systems\&. "
.ti -1c
.RI "auto \fBprepare\fP (const \fBmodel::StellarState\fP< \fBLayout\fP > &state)"
.br
.RI "Prepare the inverse belonging to exactly this physical candidate\&. "
.ti -1c
.RI "\fBlinear::Report\fP \fBsolve_linear\fP (const auto &prepared, const \fBVector\fP &rhs, \fBVector\fP &correction, const auto &options)"
.br
.RI "Solve with the operator and inverse retained by this candidate's preparation\&. "
.ti -1c
.RI "auto \fBgeometry_limit\fP (const \fBmodel::StellarState\fP< \fBLayout\fP > &state, std::span< const double > direction, const double maximum_step, const double safety, const bool enabled)"
.br
.RI "Snapshot the accepted geometry direction for step restriction and backtracking\&. "
.ti -1c
.RI "double \fBnext_step\fP (const double step, const \fBBacktracking\fP &options, const auto &evaluation) const"
.br
.RI "Skip unsafe backtracking rungs after a structured orientation failure\&. "
.in -1c
.SS "Static Public Member Functions"
.in +1c
.ti -1c
.RI "static std::string \fBfailure_message\fP (const \fBFailure\fP &failure)"
.br
.RI "Preserve the original failure message without classifying by its text\&. "
.ti -1c
.RI "static std::string \fBfailure_message\fP (const \fBgeometry::deformation::DeformationFailure\fP &failure)"
.br
.RI "Geometry preflight already reports an ordinary deformation failure\&. "
.ti -1c
.RI "static bool \fBrecoverable\fP (const \fBFailure\fP &failure)"
.br
.RI "\fBBacktracking\fP may repair a numerical candidate, never an incompatible discretization\&. "
.in -1c
.SS "Private Member Functions"
.in +1c
.ti -1c
.RI "auto \fBinvoke\fP (auto callback)"
.br
.RI "Keep fixed displacement outside the unknown vector and omit it for moving stars\&. "
.in -1c
.SS "Static Private Member Functions"
.in +1c
.ti -1c
.RI "static bool \fBinverted\fP (const \fBFailure\fP &failure)"
.br
.RI "Recognize orientation failure from the structured physical rejection\&. "
.in -1c
.SS "Private Attributes"
.in +1c
.ti -1c
.RI "Evaluator \fBm_evaluator\fP"
.br
.ti -1c
.RI "Inputs \fBm_prescribed\fP"
.br
.ti -1c
.RI "::mfem::Vector \fBm_fixed_displacement\fP"
.br
.ti -1c
.RI "\fBadmissibility::backend::mfem::GeometryDirection\fP \fBm_geometry\fP"
.br
.in -1c
.SH "Detailed Description"
.PP
.SS "template<typename Evaluator, typename Inputs = utils::dependencies::DependencyContext<>>
.br
class serif::solver::backend::mfem::StellarProblem< Evaluator, Inputs >"Adapt existing stellar preparation to \fBNewton\fP without giving acceptance to the model\&.
.PP
\fBNote\fP
.RS 4
The prescribed input context and a copy of fixed geometry are retained for the entire solve\&. Explicitly borrowed resources keep their existing lifetime requirements\&. The public solver factory constructs this object; astronomers normally work with a discretization and a state\&.
.RE
.PP
.SH "Member Typedef Documentation"
.PP
.SS "template<typename Evaluator, typename Inputs = utils::dependencies::DependencyContext<>> using \fBserif::solver::backend::mfem::StellarProblem\fP< Evaluator, Inputs >::Failure = typename Evaluator::Cache::Failure"
.SS "template<typename Evaluator, typename Inputs = utils::dependencies::DependencyContext<>> using \fBserif::solver::backend::mfem::StellarProblem\fP< Evaluator, Inputs >::Layout = typename Evaluator::Layout"
.SS "template<typename Evaluator, typename Inputs = utils::dependencies::DependencyContext<>> using \fBserif::solver::backend::mfem::StellarProblem\fP< Evaluator, Inputs >::Model = std::remove_cvref_t<decltype(std::declval<const Evaluator&>()\&.model())>"
.SS "template<typename Evaluator, typename Inputs = utils::dependencies::DependencyContext<>> using \fBserif::solver::backend::mfem::StellarProblem\fP< Evaluator, Inputs >::System = std::remove_const_t<typename Evaluator::Result::element_type>"
.SS "template<typename Evaluator, typename Inputs = utils::dependencies::DependencyContext<>> using \fBserif::solver::backend::mfem::StellarProblem\fP< Evaluator, Inputs >::Vector = \fBserif::Vector\fP"
.SH "Constructor & Destructor Documentation"
.PP
.SS "template<typename Evaluator, typename Inputs = utils::dependencies::DependencyContext<>> \fBserif::solver::backend::mfem::StellarProblem\fP< Evaluator, Inputs >::StellarProblem (Evaluator evaluator, Inputs prescribed = \fRInputs{}\fP, ::mfem::Vector displacement = \fR{}\fP)\fR [inline]\fP"
.PP
Retain one cache and all external inputs throughout a solve\&.
.SH "Member Function Documentation"
.PP
.SS "template<typename Evaluator, typename Inputs = utils::dependencies::DependencyContext<>> const auto & \fBserif::solver::backend::mfem::StellarProblem\fP< Evaluator, Inputs >::binding () const\fR [inline]\fP, \fR [nodiscard]\fP"
.PP
Inspect typed FE resources for explicitly selected numerical strategies\&.
.SS "template<typename Evaluator, typename Inputs = utils::dependencies::DependencyContext<>> auto \fBserif::solver::backend::mfem::StellarProblem\fP< Evaluator, Inputs >::evaluate (const \fBmodel::StellarState\fP< \fBLayout\fP > & state)\fR [inline]\fP, \fR [nodiscard]\fP"
.PP
Evaluate the complete equations, preserving all previously published systems\&.
.SS "template<typename Evaluator, typename Inputs = utils::dependencies::DependencyContext<>> Evaluator & \fBserif::solver::backend::mfem::StellarProblem\fP< Evaluator, Inputs >::evaluator ()\fR [inline]\fP, \fR [nodiscard]\fP"
.PP
Access the shared physical preparation service for numerical extensions\&.
.SS "template<typename Evaluator, typename Inputs = utils::dependencies::DependencyContext<>> static std::string \fBserif::solver::backend::mfem::StellarProblem\fP< Evaluator, Inputs >::failure_message (const \fBFailure\fP & failure)\fR [inline]\fP, \fR [static]\fP, \fR [nodiscard]\fP"
.PP
Preserve the original failure message without classifying by its text\&.
.SS "template<typename Evaluator, typename Inputs = utils::dependencies::DependencyContext<>> static std::string \fBserif::solver::backend::mfem::StellarProblem\fP< Evaluator, Inputs >::failure_message (const \fBgeometry::deformation::DeformationFailure\fP & failure)\fR [inline]\fP, \fR [static]\fP, \fR [nodiscard]\fP"
.PP
Geometry preflight already reports an ordinary deformation failure\&.
.SS "template<typename Evaluator, typename Inputs = utils::dependencies::DependencyContext<>> auto \fBserif::solver::backend::mfem::StellarProblem\fP< Evaluator, Inputs >::geometry_limit (const \fBmodel::StellarState\fP< \fBLayout\fP > & state, std::span< const double > direction, const double maximum_step, const double safety, const bool enabled)\fR [inline]\fP, \fR [nodiscard]\fP"
.PP
Snapshot the accepted geometry direction for step restriction and backtracking\&.
.SS "template<typename Evaluator, typename Inputs = utils::dependencies::DependencyContext<>> static bool \fBserif::solver::backend::mfem::StellarProblem\fP< Evaluator, Inputs >::inverted (const \fBFailure\fP & failure)\fR [inline]\fP, \fR [static]\fP, \fR [nodiscard]\fP, \fR [private]\fP"
.PP
Recognize orientation failure from the structured physical rejection\&.
.SS "template<typename Evaluator, typename Inputs = utils::dependencies::DependencyContext<>> auto \fBserif::solver::backend::mfem::StellarProblem\fP< Evaluator, Inputs >::invoke (auto callback)\fR [inline]\fP, \fR [nodiscard]\fP, \fR [private]\fP"
.PP
Keep fixed displacement outside the unknown vector and omit it for moving stars\&.
.SS "template<typename Evaluator, typename Inputs = utils::dependencies::DependencyContext<>> const \fBLayout\fP & \fBserif::solver::backend::mfem::StellarProblem\fP< Evaluator, Inputs >::layout () const\fR [inline]\fP, \fR [nodiscard]\fP"
.PP
Inspect the coordinate identities used by every physical state in this solve\&.
.SS "template<typename Evaluator, typename Inputs = utils::dependencies::DependencyContext<>> auto \fBserif::solver::backend::mfem::StellarProblem\fP< Evaluator, Inputs >::model_owner () const\fR [inline]\fP, \fR [nodiscard]\fP"
.PP
Retain the immutable physical definition in the resulting checkpoint\&.
.SS "template<typename Evaluator, typename Inputs = utils::dependencies::DependencyContext<>> double \fBserif::solver::backend::mfem::StellarProblem\fP< Evaluator, Inputs >::next_step (const double step, const \fBBacktracking\fP & options, const auto & evaluation) const\fR [inline]\fP, \fR [nodiscard]\fP"
.PP
Skip unsafe backtracking rungs after a structured orientation failure\&.
.SS "template<typename Evaluator, typename Inputs = utils::dependencies::DependencyContext<>> auto \fBserif::solver::backend::mfem::StellarProblem\fP< Evaluator, Inputs >::prepare (const \fBmodel::StellarState\fP< \fBLayout\fP > & state)\fR [inline]\fP, \fR [nodiscard]\fP"
.PP
Prepare the inverse belonging to exactly this physical candidate\&.
.SS "template<typename Evaluator, typename Inputs = utils::dependencies::DependencyContext<>> static bool \fBserif::solver::backend::mfem::StellarProblem\fP< Evaluator, Inputs >::recoverable (const \fBFailure\fP & failure)\fR [inline]\fP, \fR [static]\fP, \fR [nodiscard]\fP"
.PP
\fBBacktracking\fP may repair a numerical candidate, never an incompatible discretization\&.
.SS "template<typename Evaluator, typename Inputs = utils::dependencies::DependencyContext<>> \fBlinear::Report\fP \fBserif::solver::backend::mfem::StellarProblem\fP< Evaluator, Inputs >::solve_linear (const auto & prepared, const \fBVector\fP & rhs, \fBVector\fP & correction, const auto & options)\fR [inline]\fP, \fR [nodiscard]\fP"
.PP
Solve with the operator and inverse retained by this candidate's preparation\&.
.SH "Member Data Documentation"
.PP
.SS "template<typename Evaluator, typename Inputs = utils::dependencies::DependencyContext<>> Evaluator \fBserif::solver::backend::mfem::StellarProblem\fP< Evaluator, Inputs >::m_evaluator\fR [private]\fP"
.SS "template<typename Evaluator, typename Inputs = utils::dependencies::DependencyContext<>> ::mfem::Vector \fBserif::solver::backend::mfem::StellarProblem\fP< Evaluator, Inputs >::m_fixed_displacement\fR [private]\fP"
.SS "template<typename Evaluator, typename Inputs = utils::dependencies::DependencyContext<>> \fBadmissibility::backend::mfem::GeometryDirection\fP \fBserif::solver::backend::mfem::StellarProblem\fP< Evaluator, Inputs >::m_geometry\fR [private]\fP"
.SS "template<typename Evaluator, typename Inputs = utils::dependencies::DependencyContext<>> Inputs \fBserif::solver::backend::mfem::StellarProblem\fP< Evaluator, Inputs >::m_prescribed\fR [private]\fP"
.SH "Author"
.PP
Generated automatically by Doxygen for SERiF from the source code\&.