SERiF v0.0.1a
Stellar Evolution and Rotation in Four Dimensions
Loading...
Searching...
No Matches
serif::solver::continuation::detail Namespace Reference

Classes

struct  AllIdentified
 
struct  AllIdentified< utils::types::TypeList< Specifications... > >
 
struct  Catalog
 
struct  Catalog< Owner, std::void_t< typename SpecificationTraits< Owner >::Parameters > >
 
struct  Contained
 
struct  Contained< ParameterList< Parameters... >, Superset >
 
struct  CopyEquations
 
struct  FamilyTraits
 
struct  FamilyTraits< ParameterList< Selected... >, std::tuple< Laws... > >
 
struct  ParameterCatalog
 
struct  ParameterCatalog< Owner, std::void_t< typename Owner::ContinuationParameters > >
 
struct  RequiredDependents
 
struct  RequiredDependents< Parameter, std::void_t< typename Parameter::RequiredDependentParameters > >
 

Concepts

concept  LawDefinition
 
concept  BindableFamily
 

Functions

template<typename Family>
std::vector< typename Family::Coordinates > starting_candidates (const Family &family, const Options< Family > &options)
 Try bounded simpler starting models, unless the user explicitly fixed the starting coordinates.
 
template<typename Report, std::size_t Count>
void record (Result< Report, Count > &result, StageRecord< Count > stage, std::size_t maximum)
 Bound diagnostic storage while retaining total work and the newest stage.
 
template<typename Family, typename Factory, typename SolverOptions, typename Solve>
auto corrector (const Family &family, Factory &configure, SolverOptions options, Solve solve)
 Adapt one fresh configured discretization per stage to the same public equilibrium solve.
 
template<typename Function>
bool callable_valid (const Function &value)
 Reject null callable pointers even when a public aggregate bypasses its factory.
 
bool values_agree (double first, double second) noexcept
 Compare independently evaluated physical laws without an absolute unit-dependent tolerance.
 
template<typename Law, typename Model>
auto bind_law (Law &&value, const Model &target)
 Bind target-dependent laws once, owning all resulting captures.
 

Function Documentation

◆ bind_law()

template<typename Law, typename Model>
auto serif::solver::continuation::detail::bind_law ( Law && value,
const Model & target )
nodiscard

Bind target-dependent laws once, owning all resulting captures.

◆ callable_valid()

template<typename Function>
bool serif::solver::continuation::detail::callable_valid ( const Function & value)
nodiscard

Reject null callable pointers even when a public aggregate bypasses its factory.

◆ corrector()

template<typename Family, typename Factory, typename SolverOptions, typename Solve>
auto serif::solver::continuation::detail::corrector ( const Family & family,
Factory & configure,
SolverOptions options,
Solve solve )
nodiscard

Adapt one fresh configured discretization per stage to the same public equilibrium solve.

◆ record()

template<typename Report, std::size_t Count>
void serif::solver::continuation::detail::record ( Result< Report, Count > & result,
StageRecord< Count > stage,
std::size_t maximum )

Bound diagnostic storage while retaining total work and the newest stage.

◆ starting_candidates()

template<typename Family>
std::vector< typename Family::Coordinates > serif::solver::continuation::detail::starting_candidates ( const Family & family,
const Options< Family > & options )
nodiscard

Try bounded simpler starting models, unless the user explicitly fixed the starting coordinates.

◆ values_agree()

bool serif::solver::continuation::detail::values_agree ( double first,
double second )
inlinenodiscardnoexcept

Compare independently evaluated physical laws without an absolute unit-dependent tolerance.