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

Classes

struct  Acceleration
 Dimension of Acceleration. More...
 
struct  AngularAcceleration
 Angular acceleration, distinct from angular velocity despite sharing its chosen axis. More...
 
struct  AngularMomentum
 Dimension of Angular Momentum. More...
 
struct  AngularVelocity
 Dimension of Angular Velocity. More...
 
struct  Area
 Dimension of Area. More...
 
struct  BarotropicPressurePotential
 The barotropic pressure primitive A with dA/density = (dP/density)/density. More...
 
struct  ChemicalPotential
 Dimension of Chemical Potential. More...
 
struct  Dimensionless
 Non dimensional type. More...
 
struct  DynamicViscosity
 Dimension of Dynamic Viscosity. More...
 
struct  Energy
 Dimension of Energy. More...
 
struct  EnergyDensity
 Dimension of Energy Density. More...
 
struct  Entropy
 Dimension of Entropy. More...
 
struct  Force
 Dimension of Force. More...
 
struct  ForceDensity
 Force per unit volume. More...
 
struct  Frequency
 Dimension of Frequency. More...
 
struct  GravitationalConstant
 Newton's gravitational constant, expressed in the selected system of units. More...
 
struct  GravitationalPotential
 Dimension of Gravitational Potential. More...
 
struct  InternalEnergy
 Dimension of Internal Energy. More...
 
struct  InverseTimeSquared
 Inverse time squared, the physical dimension of a Poisson residual. More...
 
struct  IsQuantityValue
 
struct  IsQuantityValue< QuantityValue< Quantity > >
 
struct  KinematicViscosity
 Dimension of Kinematic Viscosity. More...
 
struct  Length
 Dimension of Length. More...
 
struct  Luminosity
 Dimension of Luminosity. More...
 
struct  MagneticFluxDensity
 Dimension of Magnetic Flux Density. More...
 
struct  Mass
 Dimension of mass. More...
 
struct  MassDensity
 Dimension of Mass Density. More...
 
struct  MassDensityRate
 Mass density divided by time,. More...
 
struct  MassFlowRate
 Dimension of Mass Flow Rate. More...
 
struct  MomentOfInertia
 Dimension of Moment Of Inertia. More...
 
struct  Momentum
 Dimension of Momentum. More...
 
struct  NumberDensity
 Dimension of Number Density. More...
 
struct  Opacity
 Dimension of Opacity. More...
 
class  PartialDerivative
 Class to represent a compile time derivative relation between two quantities. Note that this class does not, in fact cannot, compute any derivatives itself. Rather, this is a way for the compiler to understand higher level mathematical relations. Unless you are really in the weeds of the development team you will likely not need to interact with this directly. Further note that this class does include (unlike the more basic dimension system) some basic dimensional analysis. Specifically, there are some overloaded operators that allow for certain specializations of PartialDerivative to operate on one and other conditioned on what their input and output types are. This does not do any thing like convert area to length^2. However, it will do more basic things like ensure that you can only add two partials which agree on their dimensions exactly. Or that while you can multiple a partial by any scalar, you cannot multiply arbitrary partials. More...
 
struct  PhysicalQuantity
 
struct  Power
 Dimension of Power. More...
 
struct  Pressure
 Dimension of Pressure. More...
 
struct  PressureLaplacian
 Pressure divided by length squared. More...
 
struct  QuantityAt
 
struct  QuantityAt< Index, QuantityList< Quantities... > >
 
struct  QuantityList
 
struct  QuantityOf
 
struct  QuantityOf< QuantityValue< Quantity > >
 
class  QuantityValue
 This is the non derivative equivalent to PartialDerivative. This associates a dimension with a value and, if that value can be determined at compile time, can be decomposed to a transparent double through .value() More...
 
class  SecondPartialDerivative
 A second EOS partial retains both differentiation quantities in its type. More...
 
struct  SpecificEnergy
 Dimension of Specific Energy. More...
 
struct  SpecificEnthalpy
 Dimension of Specific Enthalpy. More...
 
struct  SpecificEntropy
 Dimension of Specific Entropy. More...
 
struct  SpecificInternalEnergy
 Dimension of Specific Internal Energy. More...
 
struct  Temperature
 Dimension of Temperature. More...
 
struct  ThermodynamicQuantity
 
struct  Time
 Dimension of Time. More...
 
struct  Torque
 Dimension of Torque. More...
 
struct  Velocity
 Dimension of Velocity. More...
 
struct  Volume
 Dimension of Volume. More...
 
struct  WithRespectTo
 A type that is empty at runtime but allows for the developer to specify to the compiler what quantity the partial is with respect to. More...
 

Concepts

concept  PhysicalQuantityType
 Is compile-time true of the QuantityCandidate can have any const / volatile stripped and if its derived from PhysicalQuantity. Note all ThermodynamicQuantities will also satisfy this concept.
 
concept  ThermodynamicQuantityType
 Is compile-time true of the QuantityCandidate can have any const / volatile stripped and if its derived from PhysicalQuantity (both enforced through checking PhysicalQuantityType) and then that is is also derived from ThermodynamicQuantity. Note not all physical quanties will satisfy this.
 
concept  QuantityValueType
 Turn those compile time structs into a concept that can be used to constrain a template parameter.
 
concept  ThermodynamicQuantityValueType
 

Typedefs

template<QuantityValueType Value>
using QuantityOfT = typename QuantityOf<NeitherConstNorVolatileReference<Value>>::Type
 
using DimensionlessValue = QuantityValue<Dimensionless>
 A dimensionless quantity, used for quantities that do not have a physical dimension (e.g., a pure number).
 
using MassValue = QuantityValue<Mass>
 A quantity representing mass.
 
using LengthValue = QuantityValue<Length>
 A quantity representing length.
 
using TimeValue = QuantityValue<Time>
 A quantity representing time.
 
using AreaValue = QuantityValue<Area>
 A quantity representing area.
 
using VolumeValue = QuantityValue<Volume>
 A quantity representing volume.
 
using DensityValue = QuantityValue<MassDensity>
 A quantity representing mass density.
 
using NumberDensityValue = QuantityValue<NumberDensity>
 A quantity representing number density.
 
using PressureValue = QuantityValue<Pressure>
 A quantity representing pressure.
 
using TemperatureValue = QuantityValue<Temperature>
 A quantity representing temperature.
 
using EntropyValue = QuantityValue<Entropy>
 A quantity representing entropy.
 
using SpecificEntropyValue = QuantityValue<SpecificEntropy>
 A quantity representing specific entropy.
 
using ChemicalPotentialValue = QuantityValue<ChemicalPotential>
 A quantity representing chemical potential.
 
using EnergyValue = QuantityValue<Energy>
 A quantity representing energy..
 
using InternalEnergyValue = QuantityValue<InternalEnergy>
 A quantity representing internal energy.
 
using SpecificEnergyValue = QuantityValue<SpecificEnergy>
 A quantity representing specific energy.
 
using SpecificInternalEnergyValue = QuantityValue<SpecificInternalEnergy>
 A quantity representing specific internal energy.
 
using SpecificEnthalpyValue = QuantityValue<SpecificEnthalpy>
 A quantity representing specific enthalpy.
 
using BarotropicPressurePotentialValue = QuantityValue<BarotropicPressurePotential>
 A barotropic pressure primitive with specific energy units.
 
using EnergyDensityValue = QuantityValue<EnergyDensity>
 A quantity representing energy density.
 
using GravitationalPotentialValue = QuantityValue<GravitationalPotential>
 A quantity representing gravitational potential.
 
using VelocityValue = QuantityValue<Velocity>
 A quantity representing velocity.
 
using AccelerationValue = QuantityValue<Acceleration>
 A quantity representing acceleration.
 
using FrequencyValue = QuantityValue<Frequency>
 A quantity representing frequency.
 
using AngularVelocityValue = QuantityValue<AngularVelocity>
 A quantity representing angular velocity.
 
using MomentumValue = QuantityValue<Momentum>
 A quantity representing momentum.
 
using AngularMomentumValue = QuantityValue<AngularMomentum>
 A quantity representing angular momentum.
 
using MomentOfInertiaValue = QuantityValue<MomentOfInertia>
 A quantity representing moment of inertia.
 
using ForceValue = QuantityValue<Force>
 A quantity representing force..
 
using TorqueValue = QuantityValue<Torque>
 A quantity representing torque.
 
using PowerValue = QuantityValue<Power>
 A quantity representing power.
 
using LuminosityValue = QuantityValue<Luminosity>
 A quantity representing luminosity.
 
using MassFlowRateValue = QuantityValue<MassFlowRate>
 A quantity representing mass flow rate.
 
using OpacityValue = QuantityValue<Opacity>
 A quantity representing opacity.
 
using DynamicViscosityValue = QuantityValue<DynamicViscosity>
 A quantity representing dynamic viscosity.
 
using KinematicViscosityValue = QuantityValue<KinematicViscosity>
 A quantity representing kinematic viscosity.
 
using MagneticFluxDensityValue = QuantityValue<MagneticFluxDensity>
 A quantity representing magnetic flux density.
 
template<class T>
using NeitherConstNorVolatile
 
template<class T>
using NeitherConstNorVolatileReference
 

Typedef Documentation

◆ AccelerationValue

A quantity representing acceleration.

◆ AngularMomentumValue

A quantity representing angular momentum.

◆ AngularVelocityValue

A quantity representing angular velocity.

◆ AreaValue

A quantity representing area.

◆ BarotropicPressurePotentialValue

A barotropic pressure primitive with specific energy units.

◆ ChemicalPotentialValue

A quantity representing chemical potential.

◆ DensityValue

A quantity representing mass density.

◆ DimensionlessValue

A dimensionless quantity, used for quantities that do not have a physical dimension (e.g., a pure number).

◆ DynamicViscosityValue

A quantity representing dynamic viscosity.

◆ EnergyDensityValue

A quantity representing energy density.

◆ EnergyValue

A quantity representing energy..

◆ EntropyValue

A quantity representing entropy.

◆ ForceValue

A quantity representing force..

◆ FrequencyValue

A quantity representing frequency.

◆ GravitationalPotentialValue

A quantity representing gravitational potential.

◆ InternalEnergyValue

A quantity representing internal energy.

◆ KinematicViscosityValue

A quantity representing kinematic viscosity.

◆ LengthValue

A quantity representing length.

◆ LuminosityValue

A quantity representing luminosity.

◆ MagneticFluxDensityValue

A quantity representing magnetic flux density.

◆ MassFlowRateValue

A quantity representing mass flow rate.

◆ MassValue

A quantity representing mass.

◆ MomentOfInertiaValue

A quantity representing moment of inertia.

◆ MomentumValue

A quantity representing momentum.

◆ NeitherConstNorVolatile

◆ NeitherConstNorVolatileReference

◆ NumberDensityValue

A quantity representing number density.

◆ OpacityValue

A quantity representing opacity.

◆ PowerValue

A quantity representing power.

◆ PressureValue

A quantity representing pressure.

◆ QuantityOfT

template<QuantityValueType Value>
using serif::dimensions::QuantityOfT = typename QuantityOf<NeitherConstNorVolatileReference<Value>>::Type

◆ SpecificEnergyValue

A quantity representing specific energy.

◆ SpecificEnthalpyValue

A quantity representing specific enthalpy.

◆ SpecificEntropyValue

A quantity representing specific entropy.

◆ SpecificInternalEnergyValue

A quantity representing specific internal energy.

◆ TemperatureValue

A quantity representing temperature.

◆ TimeValue

A quantity representing time.

◆ TorqueValue

A quantity representing torque.

◆ VelocityValue

A quantity representing velocity.

◆ VolumeValue

A quantity representing volume.