SERiF v0.0.1a
Stellar Evolution and Rotation in Four Dimensions
Loading...
Searching...
No Matches
evaluation.hpp File Reference

File containing the evaluate and partial_derivative functions. These functions are used to evaluate relations and partial derivatives for a given EOS model. More...

Include dependency graph for evaluation.hpp:
This graph shows which files directly or indirectly include this file:

Namespaces

namespace  serif
 
namespace  serif::eos
 

Functions

template<dimensions::ThermodynamicQuantityType OutputQ, models::EOSModel EOS, dimensions::QuantityValueType... InputValues>
requires models::EOSSupportingRelation<EOS, relations::Relation<OutputQ, dimensions::QuantityOfT<InputValues>...>>
constexpr dimensions::QuantityValue< OutputQ > serif::eos::evaluate (const EOS &eos, const InputValues... inputValues) noexcept(noexcept(eos.evaluate(relations::Relation< OutputQ, dimensions::QuantityOfT< InputValues >... >{}, inputValues...)))
 Evaluates a relation for a given EOS model. This function is used to evaluate relations for a given EOS model.
 
template<dimensions::ThermodynamicQuantityType OutputQ, dimensions::ThermodynamicQuantityType InputQ, models::EOSModel EOS, dimensions::QuantityValueType... InputValues>
requires models::EOSSupportingPartialDerivative<EOS, relations::Relation<OutputQ, dimensions::QuantityOfT<InputValues>...>, InputQ>
constexpr dimensions::PartialDerivative< OutputQ, InputQ > serif::eos::partial_derivative (const EOS &eos, const InputValues... inputValues) noexcept(noexcept(eos.partial_derivative(relations::Relation< OutputQ, dimensions::QuantityOfT< InputValues >... >{}, dimensions::WithRespectTo< InputQ >{}, inputValues...)))
 Evaluates a partial derivative of a relation for a given EOS model. This function is used to evaluate partial derivatives of relations for a given EOS model.
 
template<dimensions::ThermodynamicQuantityType OutputQ, dimensions::ThermodynamicQuantityType FirstInput, dimensions::ThermodynamicQuantityType SecondInput, models::EOSModel EOS, dimensions::QuantityValueType... InputValues>
requires models::EOSSupportingSecondPartialDerivative<EOS, relations::Relation<OutputQ, dimensions::QuantityOfT<InputValues>...>, FirstInput, SecondInput>
constexpr dimensions::SecondPartialDerivative< OutputQ, FirstInput, SecondInput > serif::eos::second_partial_derivative (const EOS &eos, const InputValues... inputValues) noexcept(noexcept(eos.second_partial_derivative(relations::Relation< OutputQ, dimensions::QuantityOfT< InputValues >... >{}, dimensions::WithRespectTo< FirstInput >{}, dimensions::WithRespectTo< SecondInput >{}, inputValues...)))
 Dispatch an analytic second partial without imposing an EOS-specific state.
 

Detailed Description

File containing the evaluate and partial_derivative functions. These functions are used to evaluate relations and partial derivatives for a given EOS model.

Author
Emily M. Boudreaux