SERiF v0.0.1a
Stellar Evolution and Rotation in Four Dimensions
Loading...
Searching...
No Matches
graph.hpp File Reference
Include dependency graph for graph.hpp:
This graph shows which files directly or indirectly include this file:

Namespaces

namespace  serif
 
namespace  serif::solver
 
namespace  serif::solver::preconditioner
 
namespace  serif::solver::preconditioner::detail
 

Functions

template<typename Row, typename Field, typename Strategy>
auto serif::solver::preconditioner::detail::preconditioner_computations (const BlockPreconditioner< Row, Field, Strategy > &choice)
 Declare recursive recipe expansion before its composed overloads are defined.
 
template<typename First, typename Second, typename Policy>
auto serif::solver::preconditioner::detail::preconditioner_computations (const CoupledPreconditioner< First, Second, Policy > &choice)
 Declare the composed recipe overload for recursive graph expansion.
 
template<typename Fields, typename Constraints>
auto serif::solver::preconditioner::detail::preconditioner_computations (const BorderedPreconditioner< Fields, Constraints > &choice)
 Declare the composed recipe overload for recursive graph expansion.
 
template<typename Gradient, typename Potential, typename Mass, typename Schur, typename Policy>
auto serif::solver::preconditioner::detail::preconditioner_computations (const GravityPreconditioner< Gradient, Potential, Mass, Schur, Policy > &choice)
 Declare the composed recipe overload for recursive graph expansion.
 
template<typename Field, typename Row, typename Strategy, typename Backend>
auto serif::solver::preconditioner::detail::preconditioner_computations (const SurfacePreconditioner< Field, Row, Strategy, Backend > &choice)
 Declare the composed recipe overload for recursive graph expansion.
 
template<typename Field, typename Row, typename Strategy, typename Backend>
auto serif::solver::preconditioner::detail::surface_inverse_computations (const SurfacePreconditioner< Field, Row, Strategy, Backend > &choice)
 List the surface fit and inverse stages separately from their direct or material-relaxed physical target.
 
template<typename Recipe>
auto serif::solver::preconditioner::make_preconditioner_computations (const Recipe &choice)
 Declare a recipe's numerical stages for composition into one model dependency graph.
 
template<typename Recipe>
auto serif::solver::preconditioner::make_preconditioner_graph (const Recipe &choice)
 Construct the complete preconditioner graph in one place, without preparing any numerical data.
 
template<typename Recipe, discretization::blocks::SystemLayoutType Layout, utils::dependencies::IsComputation... Additional>
auto serif::solver::preconditioner::make_preconditioner_graph (const Recipe &choice, const Layout &, Additional... additional)
 Order the inverse in system coordinates, optionally including explicit upstream computations such as reference surface assembly.
 
template<utils::dependencies::IsKeyList CoarseRows, utils::dependencies::IsKeyList CoarseValues, typename Recipe, discretization::blocks::SystemLayoutType Layout>
auto serif::solver::preconditioner::make_coarse_preconditioner_graph (const Recipe &unbordered, const Layout &, const strategies::inverse::DenseDirect &options={.minimum_reciprocal_condition=1.0e-14})
 Assemble the optional coarse correction after ordering the original unbordered inverse into root coordinates.
 

Variables

template<typename Recipe>
constexpr bool serif::solver::preconditioner::detail::calibrated_surface = false
 
template<typename Field, typename Row, typename Strategy, typename Backend>
constexpr bool serif::solver::preconditioner::detail::calibrated_surface< SurfacePreconditioner< Field, Row, Strategy, Backend > > = !std::same_as<Strategy, strategies::surface::ReferenceSurfaceMass>