SERiF v0.0.1a
Stellar Evolution and Rotation in Four Dimensions
Loading...
Searching...
No Matches
serif::compile_time_checks::surface_boundary Namespace Reference

Classes

struct  CentralMultiplier
 An enthalpy-dimensioned global multiplier must not be mistaken for the enthalpy carrier. More...
 
struct  ForwardOnly
 
struct  Gas
 
struct  MissingInversePartial
 
struct  MissingPartials
 
struct  OtherDensity
 
struct  OtherTemperature
 
struct  ReversedInverseRelations
 
struct  ScalarTerm
 
struct  SymbolicEOS
 
struct  TwoInverseRelations
 
struct  UniformTemperature
 

Concepts

concept  BuildsTrace
 
concept  BuildsTemporaryTrace
 
concept  BuildsBoundary
 
concept  BuildsInputs
 

Typedefs

using Density = ScalarTerm<quantities::MassDensity, spaces::DiscreteFunctionalSpace<spaces::H1, 1, 0>>
 
using DiscontinuousDensity = ScalarTerm<quantities::MassDensity, spaces::DiscreteFunctionalSpace<spaces::L2, 2, 0>>
 
using Temperature = ScalarTerm<quantities::Temperature, spaces::DiscreteFunctionalSpace<spaces::H1, 2, 0>>
 
using DiscontinuousTemperature = ScalarTerm<quantities::Temperature, spaces::DiscreteFunctionalSpace<spaces::L2, 2, 0>>
 
using DensityRelation = eos::relations::Relation<quantities::MassDensity, quantities::Pressure, quantities::Temperature>
 
using PressureRelation = eos::relations::Relation<quantities::Pressure, quantities::MassDensity, quantities::Temperature>
 
template<typename DensityTerm = Density, typename TemperatureTerm = Temperature>
using State = dependencies::Bindings<dependencies::Binding<quantities::MassDensity, DensityTerm>, dependencies::Binding<quantities::Temperature, TemperatureTerm>>
 
using Formulation = surface::PressureSurfaceFormulation<Gas, State<>>
 
using GlobalInput = surface::PressureSurfaceFormulation<Gas, State<Density, UniformTemperature>>
 
using DiscontinuousInput = surface::PressureSurfaceFormulation<Gas, State<Density, DiscontinuousTemperature>>
 
using DiscontinuousRow = surface::PressureSurfaceFormulation<Gas, State<DiscontinuousDensity>>
 
using Direct = surface::DirectPressureSurfaceFormulation<Gas, State<>, quantities::Temperature, PressureRelation>
 
using GlobalRow = surface::DirectPressureSurfaceFormulation<Gas, State<Density, UniformTemperature>, quantities::Temperature, PressureRelation>
 
using Schema = discretization::domain::schema::CoreEnvelopeVacuumDomainSchema
 
template<typename Term>
using View = coefficients::CoefficientView<finite_elements::TermBinding<Term, Schema>>
 
using Coefficients = decltype(coefficients::make_term_coefficients(std::declval<View<Density>>(), std::declval<View<Temperature>>()))
 
using MissingColumn = decltype(coefficients::make_term_coefficients(std::declval<View<Density>>()))
 
using Boundary = decltype(backend::make_pressure_boundary<Formulation>(std::declval<const Coefficients&>()))
 
using EOSResource = decltype(dependencies::own<surface::keys::EquationOfState>(Gas{}))
 
using WrongEOS = decltype(dependencies::own<surface::keys::EquationOfState>(0))
 
using WrongEOSKey = decltype(dependencies::own<Gas>(Gas{}))
 
using Inputs = decltype(backend::make_pressure_boundary_inputs(std::declval<Boundary>(), std::declval<EOSResource>(), std::declval<surface::IsobaricSurface>(), std::declval<const Coefficients&>()))
 
using Graph = decltype(backend::make_pressure_boundary_graph<Formulation>())
 
using MissingEOS = decltype(std::declval<const Inputs&>().select(dependencies::KeyList<backend::keys::BoundaryDiscretization, surface::keys::PressureCondition, Density, Temperature>{}))
 
using MissingState = decltype(std::declval<const Inputs&>().select(dependencies::KeyList<backend::keys::BoundaryDiscretization, surface::keys::EquationOfState, surface::keys::PressureCondition, Density>{}))
 
using GlobalCoefficients = decltype(coefficients::make_term_coefficients(std::declval<View<Density>>(), std::declval<View<UniformTemperature>>()))
 
using GlobalBoundary = decltype(backend::make_pressure_boundary<GlobalInput>(std::declval<const GlobalCoefficients&>()))
 
using GlobalInputs = decltype(backend::make_pressure_boundary_inputs(std::declval<GlobalBoundary>(), std::declval<EOSResource>(), std::declval<surface::IsobaricSurface>(), std::declval<const GlobalCoefficients&>()))
 
using DirectBoundary = decltype(backend::make_pressure_boundary<Direct>(std::declval<const Coefficients&>()))
 
using DirectInputs = decltype(backend::make_pressure_boundary_inputs(std::declval<DirectBoundary>(), std::declval<EOSResource>(), std::declval<surface::IsobaricSurface>(), std::declval<const Coefficients&>()))
 
using DensitySampling = Graph::ComputationAt<Graph::index<backend::keys::BoundarySamples<Density>>()>
 
using TemperatureSampling = Graph::ComputationAt<Graph::index<backend::keys::BoundarySamples<Temperature>>()>
 
using Enthalpy = ScalarTerm<quantities::SpecificEnthalpy, spaces::DiscreteFunctionalSpace<spaces::H1, 3, 0>>
 
using Pressure = ScalarTerm<quantities::Pressure, spaces::DiscreteFunctionalSpace<spaces::H1, 1, 0>>
 
using BernoulliConstant = blocks::barotropic_constant::mass_normalization
 
using GasFields = dependencies::KeyList<Density, Temperature>
 
using GasRows = dependencies::KeyList<Density>
 
using GasSelection = surface::AutomaticPressureSurface<Gas, GasFields, GasRows>
 
using ForwardFallback = surface::AutomaticPressureSurface<MissingInversePartial, GasFields, GasRows>
 
using DensityFromPressure = eos::relations::Relation<quantities::MassDensity, quantities::Pressure>
 
using DirectSelection = surface::AutomaticPressureSurface<ForwardOnly, GasFields, GasRows>
 
using PolytropicFields = dependencies::KeyList<Enthalpy, blocks::density::mass, BernoulliConstant, CentralMultiplier>
 
using PolytropicSelection = surface::AutomaticPressureSurface<eos::models::Polytrope, PolytropicFields, dependencies::KeyList<Enthalpy, BernoulliConstant>>
 
using PressureFields = dependencies::KeyList<Pressure, Density, Temperature>
 
using PressureSelection = surface::AutomaticPressureSurface<SymbolicEOS, PressureFields, dependencies::KeyList<Pressure>>
 

Typedef Documentation

◆ BernoulliConstant

using serif::compile_time_checks::surface_boundary::BernoulliConstant = blocks::barotropic_constant::mass_normalization

◆ Boundary

using serif::compile_time_checks::surface_boundary::Boundary = decltype(backend::make_pressure_boundary<Formulation>(std::declval<const Coefficients&>()))

◆ Coefficients

using serif::compile_time_checks::surface_boundary::Coefficients = decltype(coefficients::make_term_coefficients(std::declval<View<Density>>(), std::declval<View<Temperature>>()))

◆ Density

using serif::compile_time_checks::surface_boundary::Density = ScalarTerm<quantities::MassDensity, spaces::DiscreteFunctionalSpace<spaces::H1, 1, 0>>

◆ DensityFromPressure

◆ DensityRelation

using serif::compile_time_checks::surface_boundary::DensityRelation = eos::relations::Relation<quantities::MassDensity, quantities::Pressure, quantities::Temperature>

◆ DensitySampling

using serif::compile_time_checks::surface_boundary::DensitySampling = Graph::ComputationAt<Graph::index<backend::keys::BoundarySamples<Density>>()>

◆ Direct

using serif::compile_time_checks::surface_boundary::Direct = surface::DirectPressureSurfaceFormulation<Gas, State<>, quantities::Temperature, PressureRelation>

◆ DirectBoundary

using serif::compile_time_checks::surface_boundary::DirectBoundary = decltype(backend::make_pressure_boundary<Direct>(std::declval<const Coefficients&>()))

◆ DirectInputs

using serif::compile_time_checks::surface_boundary::DirectInputs = decltype(backend::make_pressure_boundary_inputs(std::declval<DirectBoundary>(), std::declval<EOSResource>(), std::declval<surface::IsobaricSurface>(), std::declval<const Coefficients&>()))

◆ DirectSelection

◆ DiscontinuousDensity

using serif::compile_time_checks::surface_boundary::DiscontinuousDensity = ScalarTerm<quantities::MassDensity, spaces::DiscreteFunctionalSpace<spaces::L2, 2, 0>>

◆ DiscontinuousInput

◆ DiscontinuousRow

◆ DiscontinuousTemperature

using serif::compile_time_checks::surface_boundary::DiscontinuousTemperature = ScalarTerm<quantities::Temperature, spaces::DiscreteFunctionalSpace<spaces::L2, 2, 0>>

◆ Enthalpy

using serif::compile_time_checks::surface_boundary::Enthalpy = ScalarTerm<quantities::SpecificEnthalpy, spaces::DiscreteFunctionalSpace<spaces::H1, 3, 0>>

◆ EOSResource

using serif::compile_time_checks::surface_boundary::EOSResource = decltype(dependencies::own<surface::keys::EquationOfState>(Gas{}))

◆ Formulation

using serif::compile_time_checks::surface_boundary::Formulation = surface::PressureSurfaceFormulation<Gas, State<>>

◆ ForwardFallback

◆ GasFields

◆ GasRows

◆ GasSelection

◆ GlobalBoundary

using serif::compile_time_checks::surface_boundary::GlobalBoundary = decltype(backend::make_pressure_boundary<GlobalInput>(std::declval<const GlobalCoefficients&>()))

◆ GlobalCoefficients

using serif::compile_time_checks::surface_boundary::GlobalCoefficients = decltype(coefficients::make_term_coefficients(std::declval<View<Density>>(), std::declval<View<UniformTemperature>>()))

◆ GlobalInput

◆ GlobalInputs

using serif::compile_time_checks::surface_boundary::GlobalInputs = decltype(backend::make_pressure_boundary_inputs(std::declval<GlobalBoundary>(), std::declval<EOSResource>(), std::declval<surface::IsobaricSurface>(), std::declval<const GlobalCoefficients&>()))

◆ GlobalRow

using serif::compile_time_checks::surface_boundary::GlobalRow = surface::DirectPressureSurfaceFormulation<Gas, State<Density, UniformTemperature>, quantities::Temperature, PressureRelation>

◆ Graph

using serif::compile_time_checks::surface_boundary::Graph = decltype(backend::make_pressure_boundary_graph<Formulation>())

◆ Inputs

using serif::compile_time_checks::surface_boundary::Inputs = decltype(backend::make_pressure_boundary_inputs(std::declval<Boundary>(), std::declval<EOSResource>(), std::declval<surface::IsobaricSurface>(), std::declval<const Coefficients&>()))

◆ MissingColumn

using serif::compile_time_checks::surface_boundary::MissingColumn = decltype(coefficients::make_term_coefficients(std::declval<View<Density>>()))

◆ MissingEOS

using serif::compile_time_checks::surface_boundary::MissingEOS = decltype(std::declval<const Inputs&>().select(dependencies::KeyList<backend::keys::BoundaryDiscretization, surface::keys::PressureCondition, Density, Temperature>{}))

◆ MissingState

using serif::compile_time_checks::surface_boundary::MissingState = decltype(std::declval<const Inputs&>().select(dependencies::KeyList<backend::keys::BoundaryDiscretization, surface::keys::EquationOfState, surface::keys::PressureCondition, Density>{}))

◆ PolytropicFields

◆ PolytropicSelection

◆ Pressure

using serif::compile_time_checks::surface_boundary::Pressure = ScalarTerm<quantities::Pressure, spaces::DiscreteFunctionalSpace<spaces::H1, 1, 0>>

◆ PressureFields

◆ PressureRelation

using serif::compile_time_checks::surface_boundary::PressureRelation = eos::relations::Relation<quantities::Pressure, quantities::MassDensity, quantities::Temperature>

◆ PressureSelection

using serif::compile_time_checks::surface_boundary::PressureSelection = surface::AutomaticPressureSurface<SymbolicEOS, PressureFields, dependencies::KeyList<Pressure>>

◆ Schema

◆ State

template<typename DensityTerm = Density, typename TemperatureTerm = Temperature>
using serif::compile_time_checks::surface_boundary::State = dependencies::Bindings<dependencies::Binding<quantities::MassDensity, DensityTerm>, dependencies::Binding<quantities::Temperature, TemperatureTerm>>

◆ Temperature

using serif::compile_time_checks::surface_boundary::Temperature = ScalarTerm<quantities::Temperature, spaces::DiscreteFunctionalSpace<spaces::H1, 2, 0>>

◆ TemperatureSampling

using serif::compile_time_checks::surface_boundary::TemperatureSampling = Graph::ComputationAt<Graph::index<backend::keys::BoundarySamples<Temperature>>()>

◆ View

template<typename Term>
using serif::compile_time_checks::surface_boundary::View = coefficients::CoefficientView<finite_elements::TermBinding<Term, Schema>>

◆ WrongEOS

using serif::compile_time_checks::surface_boundary::WrongEOS = decltype(dependencies::own<surface::keys::EquationOfState>(0))

◆ WrongEOSKey

using serif::compile_time_checks::surface_boundary::WrongEOSKey = decltype(dependencies::own<Gas>(Gas{}))