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::model
 
namespace  serif::model::detail
 

Functions

template<typename Layout, typename Owner, typename... ContributionKeys>
auto serif::model::detail::physical_system_computation (Layout layout, std::shared_ptr< const Owner > owner, utils::dependencies::KeyList< ContributionKeys... >)
 Collect all additions before applying any boundary replacement.
 
template<typename... Equations, typename... Additional>
consteval auto serif::model::detail::contribution_keys (utils::types::TypeList< Equations... >, utils::dependencies::KeyList< Additional... >)
 Every interior equation contributes once; extension keys identify explicit additions or replacements.
 
template<typename Registry, typename Discretization, typename Layout, typename... Equations>
auto serif::model::detail::interior_computations (const std::shared_ptr< const Registry > &registry, const Discretization &discretization, const Layout &layout, operators::backend::mfem::VolumeOptions options, utils::types::TypeList< Equations... >)
 Share each immutable equation with its volume graph, then publish one complete row contribution.
 
template<ExecutableInteriorEquations Registry, typename Discretization, discretization::blocks::SystemLayoutType Layout, typename... AdditionalComputations, typename... AdditionalContributions>
auto serif::model::make_model_graph (std::shared_ptr< const Registry > registry, std::shared_ptr< const Discretization > discretization, const Layout &layout, std::tuple< AdditionalComputations... > additional={}, utils::dependencies::KeyList< AdditionalContributions... > contributions={}, operators::backend::mfem::VolumeOptions options={})
 Construct the complete stellar graph at one explicit composition point.
 
template<ExecutableInteriorEquations Registry, typename Discretization, discretization::blocks::SystemLayoutType Layout, typename... AdditionalComputations, typename... AdditionalContributions>
auto serif::model::make_model_graph (Registry registry, std::shared_ptr< const Discretization > discretization, const Layout &layout, std::tuple< AdditionalComputations... > additional={}, utils::dependencies::KeyList< AdditionalContributions... > contributions={}, operators::backend::mfem::VolumeOptions options={})
 Retain a standalone registry, including move-only equations supplied as an rvalue.
 
template<typename Bound, typename Layout>
auto serif::model::detail::shape_computations (const std::shared_ptr< const Bound > &bound, const Layout &layout, operators::backend::mfem::VolumeOptions options)
 One shared deformation feeds all geometry derivatives and the physical shape-force equation.
 
template<typename Bound, typename Layout, std::size_t... Indices>
auto serif::model::detail::constraint_computations (const Bound &bound, const Layout &layout, std::index_sequence< Indices... >)
 Scalar phase conditions reuse the existing point-border computations.
 
template<typename Bound, typename Layout>
auto serif::model::detail::boundary_computations (const Bound &, const Layout &layout)
 Sample the internally selected pressure formulation through its compiled traces.
 
template<typename Plan, typename... Constraints>
consteval auto serif::model::detail::equilibrium_contribution_keys (std::tuple< Constraints... > *)
 Name exactly the explicitly selected non-interior contributions to final assembly.
 
template<typename Bound, typename Layout, typename... NumericalComputations>
auto serif::model::make_equilibrium_graph (std::shared_ptr< const Bound > bound, const Layout &layout, std::tuple< NumericalComputations... > numerical={}, operators::backend::mfem::VolumeOptions options={})
 Connect the explicit equilibrium definition in one readable place.