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

Classes

class  AngularMomentumConstraint
 Angular momentum constraint equation, which enforces a global constraint on the total angular momentum of a system. More...
 
class  BarotropicDensityBalance
 Enforce A(rho) - A(rho_surface) + Phi - Omega^2 Psi - U_surface = 0 using density test values. This closure assumes a connected barotrope in rigid rotation. More...
 
class  BarycenterConstraint
 Fix one component of integral rho (x-center)/M_target. More...
 
struct  Contribution
 A helper struct for authoring equations with fewer lines of boiler-plate. The idea here is that every equation must report certain members so that the backend can inspect at compile time. An author could certainly write these members themselves, but the Contribution struct auto generates those members based on its template parameters. Therefore, by inheriting from the Contribution struct an equation author can avoid writing those members themselves. Note that while this is inheritance it is still a compile-time relation. Contribution does not add any runtime overhead to the equation. More...
 
struct  Contributions
 Helper struct to pack a list of contributions into a tuple. This is used to define the set of contributions of an equation. More...
 
struct  Contributions< T, std::void_t< decltype(std::declval< const T & >().contributions())> >
 Specialization of Contributions for types that have the contributions() method. More...
 
struct  ContributionSupport
 Helper alias to extract the support type for a given contribution. More...
 
struct  ContributionSupport< T, std::void_t< typename T::Support > >
 Specialization of ContributionSupport for types that have a Support member type. This allows us to extract the support type from contributions or equations that define a Support type. More...
 
struct  ContributionTuple
 Type representing the contributions of an equation. More...
 
struct  ContributionTuple< std::tuple< Ts... >, std::void_t< decltype(std::tuple_cat(std::declval< typename Contributions< std::remove_cvref_t< Ts > >::type >()...))> >
 Specialization of ContributionTuple for tuples of contributions. This allows us to extract the contributions from a tuple of contributions. More...
 
struct  EquationPoint
 A struct to represent the values of operands at a given point in space. More...
 
class  EquationRegistry
 A compile-time registry of equations. More...
 
class  MassNormalization
 Mass normalization equation, which enforces a global constraint on the total mass of a system. More...
 
struct  OperandValues
 A helper struct to store the values of operands. There is some convention here, specifically if OutputT is void then this struct represents the values of the operands, otherwise it represents the local derivatives of the operands with respect to OutputT. More...
 
struct  OperandValues< utils::types::TypeList< Operands... >, OutputT >
 
struct  PointLinearization
 A struct to represent the linearization of a pointwise equation at a given point in space. This includes the residual and the local derivatives of the operands with respect to the test operand value, as well as the local derivative of the test operand value with respect to position. More...
 
class  PointMassCompanion
 The potential -G M_c/|x - x_c| of a point-mass companion outside the star. More...
 
class  PrimalPoissonBalance
 Solve Delta(Phi) = 4 pi G rho with one conforming scalar potential field. More...
 
class  RigidRotation
 A class that implements rigid rotation, providing methods to compute the centrifugal potential, its gradient, and its Hessian. More...
 
class  SurfacePotentialBalance
 Set the effective potential to one unknown level on the selected isobar. More...
 
struct  TestOperandTraits
 A helper struct to extract the test operand type from a contribution or equation. This is used to determine the test type of an equation or contribution. More...
 
struct  TestOperandTraits< T, std::void_t< typename T::TestOperand > >
 Specialization of TestOperandTraits for types that have a TestOperand member type. This allows us to extract the test operand type from contributions or equations that define a TestOperand type. More...
 
struct  ValidContributions
 A compile-time check to ensure that a tuple of contributions is valid for a given residual row type. This is the default false specialization. More...
 
struct  ValidContributions< RowT, std::tuple< C... > >
 

Concepts

concept  PointEquation
 A concept that defines the requirements for a pointwise equation.
 
concept  Equation
 A concept that defines the requirements for a valid SERiF equation.
 

Typedefs

template<typename T>
using TestOperandOf = TestOperandTraits<T>::type
 Helper alias to extract the test operand type from a contribution or equation.
 
template<typename T>
using SupportOf = ContributionSupport<T>::type
 Helper alias to extract the support type for a given contribution.
 
template<typename T>
using ContributionsOf = Contributions<std::remove_cvref_t<T>>::type
 Helper alias to extract the contributions (type) of some type T.
 

Typedef Documentation

◆ ContributionsOf

template<typename T>
using serif::equations::ContributionsOf = Contributions<std::remove_cvref_t<T>>::type

Helper alias to extract the contributions (type) of some type T.

Template Parameters
TThe type to extract the contributions from

◆ SupportOf

template<typename T>
using serif::equations::SupportOf = ContributionSupport<T>::type

Helper alias to extract the support type for a given contribution.

Template Parameters
TThe type to extract the support type from

◆ TestOperandOf

template<typename T>
using serif::equations::TestOperandOf = TestOperandTraits<T>::type

Helper alias to extract the test operand type from a contribution or equation.

Template Parameters
TThe type to extract the test operand from