SERiF v0.0.1a
Stellar Evolution and Rotation in Four Dimensions
Loading...
Searching...
No Matches
serif::geometry::surface::detail::PressureSurfaceDescription< EOS, Bindings, RowQuantity, RelationT, ResolveCarrier > Struct Template Reference

Common physical metadata; numerical values and preparation belong to the dependency context and cache. More...

#include <compilation.hpp>

Public Types

using EquationOfState = std::remove_cvref_t<EOS>
 
using StateBindings = std::remove_cvref_t<Bindings>
 
using Relation = RelationT
 
using PhysicalQuantity = dimensions::Pressure
 
using ResidualQuantity = std::conditional_t<ResolveCarrier, RowQuantity, dimensions::Pressure>
 
using CarrierQuantity = RowQuantity
 
using CarrierTerm = utils::dependencies::bound_type_t<StateBindings, RowQuantity>
 
using Test = CarrierTerm
 
using Support = discretization::domain::StellarSurfaceBoundary
 
using EOSStateQuantities = std::conditional_t<ResolveCarrier, typename RelationQuantities<Relation>::NonPressureInputs, typename RelationQuantities<Relation>::AllInputs>
 
using StateQuantities = utils::dependencies::CombinedKeyList<utils::dependencies::KeyList<RowQuantity>, EOSStateQuantities>
 
using StateTerms = BoundTerms<StateBindings, StateQuantities>
 
using EOSStateTerms = BoundTerms<StateBindings, EOSStateQuantities>
 
using Operands = typename SurfaceOperands<StateTerms>::Type
 

Static Public Attributes

static constexpr bool resolves_carrier = ResolveCarrier
 
static constexpr bool uses_eos = true
 

Detailed Description

template<typename EOS, typename Bindings, typename RowQuantity, typename RelationT, bool ResolveCarrier>
struct serif::geometry::surface::detail::PressureSurfaceDescription< EOS, Bindings, RowQuantity, RelationT, ResolveCarrier >

Common physical metadata; numerical values and preparation belong to the dependency context and cache.

Member Typedef Documentation

◆ CarrierQuantity

template<typename EOS, typename Bindings, typename RowQuantity, typename RelationT, bool ResolveCarrier>
using serif::geometry::surface::detail::PressureSurfaceDescription< EOS, Bindings, RowQuantity, RelationT, ResolveCarrier >::CarrierQuantity = RowQuantity

◆ CarrierTerm

template<typename EOS, typename Bindings, typename RowQuantity, typename RelationT, bool ResolveCarrier>
using serif::geometry::surface::detail::PressureSurfaceDescription< EOS, Bindings, RowQuantity, RelationT, ResolveCarrier >::CarrierTerm = utils::dependencies::bound_type_t<StateBindings, RowQuantity>

◆ EOSStateQuantities

template<typename EOS, typename Bindings, typename RowQuantity, typename RelationT, bool ResolveCarrier>
using serif::geometry::surface::detail::PressureSurfaceDescription< EOS, Bindings, RowQuantity, RelationT, ResolveCarrier >::EOSStateQuantities = std::conditional_t<ResolveCarrier, typename RelationQuantities<Relation>::NonPressureInputs, typename RelationQuantities<Relation>::AllInputs>

◆ EOSStateTerms

template<typename EOS, typename Bindings, typename RowQuantity, typename RelationT, bool ResolveCarrier>
using serif::geometry::surface::detail::PressureSurfaceDescription< EOS, Bindings, RowQuantity, RelationT, ResolveCarrier >::EOSStateTerms = BoundTerms<StateBindings, EOSStateQuantities>

◆ EquationOfState

template<typename EOS, typename Bindings, typename RowQuantity, typename RelationT, bool ResolveCarrier>
using serif::geometry::surface::detail::PressureSurfaceDescription< EOS, Bindings, RowQuantity, RelationT, ResolveCarrier >::EquationOfState = std::remove_cvref_t<EOS>

◆ Operands

template<typename EOS, typename Bindings, typename RowQuantity, typename RelationT, bool ResolveCarrier>
using serif::geometry::surface::detail::PressureSurfaceDescription< EOS, Bindings, RowQuantity, RelationT, ResolveCarrier >::Operands = typename SurfaceOperands<StateTerms>::Type

◆ PhysicalQuantity

template<typename EOS, typename Bindings, typename RowQuantity, typename RelationT, bool ResolveCarrier>
using serif::geometry::surface::detail::PressureSurfaceDescription< EOS, Bindings, RowQuantity, RelationT, ResolveCarrier >::PhysicalQuantity = dimensions::Pressure

◆ Relation

template<typename EOS, typename Bindings, typename RowQuantity, typename RelationT, bool ResolveCarrier>
using serif::geometry::surface::detail::PressureSurfaceDescription< EOS, Bindings, RowQuantity, RelationT, ResolveCarrier >::Relation = RelationT

◆ ResidualQuantity

template<typename EOS, typename Bindings, typename RowQuantity, typename RelationT, bool ResolveCarrier>
using serif::geometry::surface::detail::PressureSurfaceDescription< EOS, Bindings, RowQuantity, RelationT, ResolveCarrier >::ResidualQuantity = std::conditional_t<ResolveCarrier, RowQuantity, dimensions::Pressure>

◆ StateBindings

template<typename EOS, typename Bindings, typename RowQuantity, typename RelationT, bool ResolveCarrier>
using serif::geometry::surface::detail::PressureSurfaceDescription< EOS, Bindings, RowQuantity, RelationT, ResolveCarrier >::StateBindings = std::remove_cvref_t<Bindings>

◆ StateQuantities

template<typename EOS, typename Bindings, typename RowQuantity, typename RelationT, bool ResolveCarrier>
using serif::geometry::surface::detail::PressureSurfaceDescription< EOS, Bindings, RowQuantity, RelationT, ResolveCarrier >::StateQuantities = utils::dependencies::CombinedKeyList<utils::dependencies::KeyList<RowQuantity>, EOSStateQuantities>

◆ StateTerms

template<typename EOS, typename Bindings, typename RowQuantity, typename RelationT, bool ResolveCarrier>
using serif::geometry::surface::detail::PressureSurfaceDescription< EOS, Bindings, RowQuantity, RelationT, ResolveCarrier >::StateTerms = BoundTerms<StateBindings, StateQuantities>

◆ Support

template<typename EOS, typename Bindings, typename RowQuantity, typename RelationT, bool ResolveCarrier>
using serif::geometry::surface::detail::PressureSurfaceDescription< EOS, Bindings, RowQuantity, RelationT, ResolveCarrier >::Support = discretization::domain::StellarSurfaceBoundary

◆ Test

template<typename EOS, typename Bindings, typename RowQuantity, typename RelationT, bool ResolveCarrier>
using serif::geometry::surface::detail::PressureSurfaceDescription< EOS, Bindings, RowQuantity, RelationT, ResolveCarrier >::Test = CarrierTerm

Member Data Documentation

◆ resolves_carrier

template<typename EOS, typename Bindings, typename RowQuantity, typename RelationT, bool ResolveCarrier>
bool serif::geometry::surface::detail::PressureSurfaceDescription< EOS, Bindings, RowQuantity, RelationT, ResolveCarrier >::resolves_carrier = ResolveCarrier
staticconstexpr

◆ uses_eos

template<typename EOS, typename Bindings, typename RowQuantity, typename RelationT, bool ResolveCarrier>
bool serif::geometry::surface::detail::PressureSurfaceDescription< EOS, Bindings, RowQuantity, RelationT, ResolveCarrier >::uses_eos = true
staticconstexpr

The documentation for this struct was generated from the following file: