SERiF v0.0.1a
Stellar Evolution and Rotation in Four Dimensions
Loading...
Searching...
No Matches
batches.hpp File Reference
Include dependency graph for batches.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<typename... Terms>
std::expected< std::size_t, SurfaceFailure > serif::geometry::surface::detail::surface_sample_count (const BoundaryValues< Terms > &... columns)
 All EOS columns must describe the same ordered, nonempty set of boundary points.
 
template<PressureSurfaceFormulationType Formulation, typename... Terms>
SurfacePoint< Formulation > serif::geometry::surface::detail::surface_point (const std::size_t sample, const BoundaryValues< Terms > &... columns)
 Assemble the conventional equation point from typed columns; no mesh assumptions enter the physical calculation.
 
template<typename Value, typename Evaluate>
std::expected< std::vector< Value >, SurfaceFailure > serif::geometry::surface::detail::collect_surface_samples (std::size_t count, Evaluate evaluate)
 Collect one ordered batch, attaching the first failure's sample index before any result is published.
 
template<PressureSurfaceFormulationType Formulation, typename... Terms>
std::expected< std::vector< SurfaceEOSResponse< Formulation > >, SurfaceFailure > serif::geometry::surface::detail::evaluate_response_samples (const typename Formulation::EquationOfState &equation_of_state, const dimensions::PressureValue pressure, const BoundaryValues< Terms > &... columns)
 Evaluate the EOS once per state sample, or once for a genuinely pressure-only relation.
 
template<PressureSurfaceFormulationType Formulation>
std::expected< std::vector< SurfaceLinearization< Formulation > >, SurfaceFailure > serif::geometry::surface::detail::linearize_carrier_samples (const std::vector< SurfaceEOSResponse< Formulation > > &responses, const BoundaryValues< typename Formulation::CarrierTerm > &carrier)
 Broadcast only a pressure-only relation; every state-dependent carrier sample needs its own response.
 
template<PressureSurfaceFormulationType Formulation>
std::expected< std::vector< SurfaceLinearization< Formulation > >, SurfaceFailure > serif::geometry::surface::detail::linearize_pressure_samples (const IsobaricSurface &condition, const std::vector< SurfaceEOSResponse< Formulation > > &responses)
 Changing prescribed pressure reuses all values and partials of a direct-pressure EOS relation.