SERiF v0.0.1a
Stellar Evolution and Rotation in Four Dimensions
Loading...
Searching...
No Matches
computations.hpp File Reference
#include <tuple>
#include <type_traits>
#include <utility>
#include "serif/geometry/surface/detail/batches.hpp"
#include "serif/utils/dependencies/computation_graph.hpp"
Include dependency graph for computations.hpp:
This graph shows which files directly or indirectly include this file:

Namespaces

namespace  serif
 
namespace  serif::geometry
 
namespace  serif::geometry::surface
 
namespace  serif::geometry::surface::detail
 

Functions

template<PressureSurfaceFormulationType Formulation, template< typename > typename SampleKey, typename... Terms>
auto serif::geometry::surface::detail::make_surface_eos_computation (utils::dependencies::KeyList< Terms... >)
 Declare the exact EOS inputs from the formulation, so derivative metadata and cache dependencies cannot diverge.
 
template<PressureSurfaceFormulationType Formulation, template< typename > typename SampleKey>
auto serif::geometry::surface::detail::make_surface_linearization_computation ()
 Keep the inexpensive boundary residual separate from the reusable EOS response and its partials.
 
template<PressureSurfaceFormulationType Formulation, template< typename > typename SampleKey = std::type_identity_t>
auto serif::geometry::surface::make_pressure_surface_computations ()
 Expose the existing EOS and residual stages for composition with backend sampling or other physics.
 
template<PressureSurfaceFormulationType Formulation>
auto serif::geometry::surface::make_pressure_surface_graph ()
 Describe the isobaric calculation as an ordinary dependency graph, without evaluating the EOS.
 
template<typename EOS, typename Bindings, typename Carrier = void>
requires PressureSurfaceCompilable<EOS, Bindings, Carrier>
auto serif::geometry::surface::make_pressure_surface_graph ()
 Infer a unique carrier-resolved formulation directly from an EOS and the available physical state.