Physical Quantities  v1.0.0
C++ library of physical quantities, physical models, and units of measure for scientific computing. https://github.com/acodcha/phq
Public Member Functions | Static Public Member Functions | Protected Attributes | Private Member Functions | List of all members
PhQ::StaticPressure< NumericType > Class Template Reference

Static pressure. Pressure of a fluid at rest. Not to be confused with dynamic pressure, which is the additional pressure resulting from the kinetic energy of a flowing fluid, or total pressure, which is the sum of static pressure and dynamic pressure. See PhQ::DynamicPressure and PhQ::TotalPressure. Can represent either an absolute static pressure or a static pressure difference relative to another static pressure. For static kinematic pressure, see PhQ::StaticKinematicPressure. More...

#include "StaticPressure.hpp"

Public Member Functions

 StaticPressure ()=default
 Default constructor. Constructs a static pressure with an uninitialized value. More...
 
 StaticPressure (const NumericType value, const Unit::Pressure unit)
 Constructor. Constructs a static pressure with a given value expressed in a given pressure unit. More...
 
constexpr StaticPressure (const ScalarForce< NumericType > &scalar_force, const Area< NumericType > &area)
 Constructor. Constructs a static pressure from a given scalar force magnitude and area using the definition of pressure. More...
 
constexpr StaticPressure (const TotalPressure< NumericType > &total_pressure, const DynamicPressure< NumericType > &dynamic_pressure)
 Constructor. Constructs a static pressure from a given total pressure and dynamic pressure using the definition of total pressure. More...
 
constexpr StaticPressure (const MassDensity< NumericType > &mass_density, const StaticKinematicPressure< NumericType > &static_kinematic_pressure)
 Constructor. Constructs a static pressure from a given mass density and static kinematic pressure using the definition of static kinematic pressure. More...
 
 ~StaticPressure () noexcept=default
 Destructor. Destroys this static pressure. More...
 
constexpr StaticPressure (const StaticPressure< NumericType > &other)=default
 Copy constructor. Constructs a static pressure by copying another one. More...
 
template<typename OtherNumericType >
constexpr StaticPressure (const StaticPressure< OtherNumericType > &other)
 Copy constructor. Constructs a static pressure by copying another one. More...
 
constexpr StaticPressure (StaticPressure< NumericType > &&other) noexcept=default
 Move constructor. Constructs a static pressure by moving another one. More...
 
constexpr StaticPressure< NumericType > & operator= (const StaticPressure< NumericType > &other)=default
 Copy assignment operator. Assigns this static pressure by copying another one. More...
 
template<typename OtherNumericType >
constexpr StaticPressure< NumericType > & operator= (const StaticPressure< OtherNumericType > &other)
 Copy assignment operator. Assigns this static pressure by copying another one. More...
 
constexpr StaticPressure< NumericType > & operator= (StaticPressure< NumericType > &&other) noexcept=default
 Move assignment operator. Assigns this static pressure by moving another one. More...
 
constexpr PhQ::Stress< NumericType > Stress () const
 
constexpr StaticPressure< NumericType > operator+ (const StaticPressure< NumericType > &other) const
 
constexpr TotalPressure< NumericType > operator+ (const DynamicPressure< NumericType > &dynamic_pressure) const
 
constexpr StaticPressure< NumericType > operator- (const StaticPressure< NumericType > &other) const
 
constexpr StaticPressure< NumericType > operator* (const NumericType number) const
 
constexpr ScalarForce< NumericType > operator* (const Area< NumericType > &area) const
 
constexpr StaticPressure< NumericType > operator/ (const NumericType number) const
 
constexpr StaticKinematicPressure< NumericType > operator/ (const MassDensity< NumericType > &mass_density) const
 
constexpr NumericType operator/ (const StaticPressure< NumericType > &other) const noexcept
 
constexpr void operator+= (const StaticPressure< NumericType > &other) noexcept
 
constexpr void operator-= (const StaticPressure< NumericType > &other) noexcept
 
constexpr void operator*= (const NumericType number) noexcept
 
constexpr void operator/= (const NumericType number) noexcept
 
constexpr double Value () const noexcept
 Value of this physical quantity expressed in its standard unit of measure. More...
 
double Value (const Unit::Pressure unit) const
 Value of this physical quantity expressed in a given unit of measure. More...
 
constexpr double StaticValue () const
 Value of this physical quantity expressed in a given unit of measure. This method can be evaluated statically at compile-time. More...
 
constexpr double & MutableValue () noexcept
 Returns the value of this physical quantity expressed in its standard unit of measure as a mutable value. More...
 
constexpr void SetValue (const double value) noexcept
 Sets the value of this physical quantity expressed in its standard unit of measure to the given value. More...
 
std::string Print () const
 Prints this physical quantity as a string. This physical quantity's value is expressed in its standard unit of measure. More...
 
std::string Print (const Unit::Pressure unit) const
 Prints this physical quantity as a string. This physical quantity's value is expressed in the given unit of measure. More...
 
std::string JSON () const
 Serializes this physical quantity as a JSON message. This physical quantity's value is expressed in its standard unit of measure. More...
 
std::string JSON (const Unit::Pressure unit) const
 Serializes this physical quantity as a JSON message. This physical quantity's value is expressed in the given unit of measure. More...
 
std::string XML () const
 Serializes this physical quantity as an XML message. This physical quantity's value is expressed in its standard unit of measure. More...
 
std::string XML (const Unit::Pressure unit) const
 Serializes this physical quantity as an XML message. This physical quantity's value is expressed in the given unit of measure. More...
 
std::string YAML () const
 Serializes this physical quantity as a YAML message. This physical quantity's value is expressed in its standard unit of measure. More...
 
std::string YAML (const Unit::Pressure unit) const
 Serializes this physical quantity as a YAML message. This physical quantity's value is expressed in the given unit of measure. More...
 

Static Public Member Functions

static constexpr StaticPressure< NumericType > Zero ()
 Statically creates a static pressure of zero. More...
 
template<Unit::Pressure Unit>
static constexpr StaticPressure< NumericType > Create (const NumericType value)
 Statically creates a static pressure with a given value expressed in a given pressure unit. More...
 
static constexpr const PhQ::DimensionsDimensions ()
 Physical dimension set of this physical quantity. More...
 
static constexpr Unit::Pressure Unit ()
 Standard unit of measure for this physical quantity. This physical quantity's value is stored internally in this unit of measure. More...
 

Protected Attributes

double value
 Value of this physical quantity expressed in its standard unit of measure. More...
 

Private Member Functions

constexpr StaticPressure (const NumericType value)
 Constructor. Constructs a static pressure with a given value expressed in the standard pressure unit. More...
 

Detailed Description

template<typename NumericType = double>
class PhQ::StaticPressure< NumericType >

Static pressure. Pressure of a fluid at rest. Not to be confused with dynamic pressure, which is the additional pressure resulting from the kinetic energy of a flowing fluid, or total pressure, which is the sum of static pressure and dynamic pressure. See PhQ::DynamicPressure and PhQ::TotalPressure. Can represent either an absolute static pressure or a static pressure difference relative to another static pressure. For static kinematic pressure, see PhQ::StaticKinematicPressure.

Definition at line 70 of file StaticPressure.hpp.

Constructor & Destructor Documentation

◆ StaticPressure() [1/9]

template<typename NumericType = double>
PhQ::StaticPressure< NumericType >::StaticPressure ( )
default

Default constructor. Constructs a static pressure with an uninitialized value.

◆ StaticPressure() [2/9]

template<typename NumericType = double>
PhQ::StaticPressure< NumericType >::StaticPressure ( const NumericType  value,
const Unit::Pressure  unit 
)
inline

Constructor. Constructs a static pressure with a given value expressed in a given pressure unit.

Definition at line 77 of file StaticPressure.hpp.

◆ StaticPressure() [3/9]

template<typename NumericType = double>
constexpr PhQ::StaticPressure< NumericType >::StaticPressure ( const ScalarForce< NumericType > &  scalar_force,
const Area< NumericType > &  area 
)
inlineconstexpr

Constructor. Constructs a static pressure from a given scalar force magnitude and area using the definition of pressure.

Definition at line 82 of file StaticPressure.hpp.

◆ StaticPressure() [4/9]

template<typename NumericType >
constexpr PhQ::StaticPressure< NumericType >::StaticPressure ( const TotalPressure< NumericType > &  total_pressure,
const DynamicPressure< NumericType > &  dynamic_pressure 
)
inlineconstexpr

Constructor. Constructs a static pressure from a given total pressure and dynamic pressure using the definition of total pressure.

Definition at line 219 of file TotalPressure.hpp.

◆ StaticPressure() [5/9]

template<typename NumericType >
constexpr PhQ::StaticPressure< NumericType >::StaticPressure ( const MassDensity< NumericType > &  mass_density,
const StaticKinematicPressure< NumericType > &  static_kinematic_pressure 
)
inlineconstexpr

Constructor. Constructs a static pressure from a given mass density and static kinematic pressure using the definition of static kinematic pressure.

Definition at line 225 of file StaticKinematicPressure.hpp.

◆ ~StaticPressure()

template<typename NumericType = double>
PhQ::StaticPressure< NumericType >::~StaticPressure ( )
defaultnoexcept

Destructor. Destroys this static pressure.

◆ StaticPressure() [6/9]

template<typename NumericType = double>
constexpr PhQ::StaticPressure< NumericType >::StaticPressure ( const StaticPressure< NumericType > &  other)
constexprdefault

Copy constructor. Constructs a static pressure by copying another one.

◆ StaticPressure() [7/9]

template<typename NumericType = double>
template<typename OtherNumericType >
constexpr PhQ::StaticPressure< NumericType >::StaticPressure ( const StaticPressure< OtherNumericType > &  other)
inlineexplicitconstexpr

Copy constructor. Constructs a static pressure by copying another one.

Definition at line 104 of file StaticPressure.hpp.

◆ StaticPressure() [8/9]

template<typename NumericType = double>
constexpr PhQ::StaticPressure< NumericType >::StaticPressure ( StaticPressure< NumericType > &&  other)
constexprdefaultnoexcept

Move constructor. Constructs a static pressure by moving another one.

◆ StaticPressure() [9/9]

template<typename NumericType = double>
constexpr PhQ::StaticPressure< NumericType >::StaticPressure ( const NumericType  value)
inlineexplicitconstexprprivate

Constructor. Constructs a static pressure with a given value expressed in the standard pressure unit.

Definition at line 189 of file StaticPressure.hpp.

Member Function Documentation

◆ Create()

template<typename NumericType = double>
template<Unit::Pressure Unit>
static constexpr StaticPressure<NumericType> PhQ::StaticPressure< NumericType >::Create ( const NumericType  value)
inlinestaticconstexpr

Statically creates a static pressure with a given value expressed in a given pressure unit.

Definition at line 133 of file StaticPressure.hpp.

References PhQ::DimensionalScalar< Unit::Pressure, double >::value.

◆ Dimensions()

static constexpr const PhQ::Dimensions& PhQ::DimensionalScalar< Unit::Pressure , double >::Dimensions ( )
inlinestaticconstexprinherited

Physical dimension set of this physical quantity.

Definition at line 54 of file DimensionalScalar.hpp.

◆ JSON() [1/2]

std::string PhQ::DimensionalScalar< Unit::Pressure , double >::JSON ( ) const
inlineinherited

Serializes this physical quantity as a JSON message. This physical quantity's value is expressed in its standard unit of measure.

Definition at line 107 of file DimensionalScalar.hpp.

◆ JSON() [2/2]

std::string PhQ::DimensionalScalar< Unit::Pressure , double >::JSON ( const UnitType  unit) const
inlineinherited

Serializes this physical quantity as a JSON message. This physical quantity's value is expressed in the given unit of measure.

Definition at line 117 of file DimensionalScalar.hpp.

◆ MutableValue()

constexpr double & PhQ::DimensionalScalar< Unit::Pressure , double >::MutableValue ( )
inlineconstexprnoexceptinherited

Returns the value of this physical quantity expressed in its standard unit of measure as a mutable value.

Definition at line 83 of file DimensionalScalar.hpp.

◆ operator*() [1/2]

template<typename NumericType = double>
constexpr ScalarForce<NumericType> PhQ::StaticPressure< NumericType >::operator* ( const Area< NumericType > &  area) const
inlineconstexpr

Definition at line 155 of file StaticPressure.hpp.

◆ operator*() [2/2]

template<typename NumericType = double>
constexpr StaticPressure<NumericType> PhQ::StaticPressure< NumericType >::operator* ( const NumericType  number) const
inlineconstexpr

◆ operator*=()

template<typename NumericType = double>
constexpr void PhQ::StaticPressure< NumericType >::operator*= ( const NumericType  number)
inlineconstexprnoexcept

◆ operator+() [1/2]

template<typename NumericType >
constexpr TotalPressure< NumericType > PhQ::StaticPressure< NumericType >::operator+ ( const DynamicPressure< NumericType > &  dynamic_pressure) const
inlineconstexpr

Definition at line 231 of file TotalPressure.hpp.

◆ operator+() [2/2]

template<typename NumericType = double>
constexpr StaticPressure<NumericType> PhQ::StaticPressure< NumericType >::operator+ ( const StaticPressure< NumericType > &  other) const
inlineconstexpr

◆ operator+=()

template<typename NumericType = double>
constexpr void PhQ::StaticPressure< NumericType >::operator+= ( const StaticPressure< NumericType > &  other)
inlineconstexprnoexcept

◆ operator-()

template<typename NumericType = double>
constexpr StaticPressure<NumericType> PhQ::StaticPressure< NumericType >::operator- ( const StaticPressure< NumericType > &  other) const
inlineconstexpr

◆ operator-=()

template<typename NumericType = double>
constexpr void PhQ::StaticPressure< NumericType >::operator-= ( const StaticPressure< NumericType > &  other)
inlineconstexprnoexcept

◆ operator/() [1/3]

template<typename NumericType >
constexpr StaticKinematicPressure< NumericType > PhQ::StaticPressure< NumericType >::operator/ ( const MassDensity< NumericType > &  mass_density) const
inlineconstexpr

Definition at line 231 of file StaticKinematicPressure.hpp.

◆ operator/() [2/3]

template<typename NumericType = double>
constexpr StaticPressure<NumericType> PhQ::StaticPressure< NumericType >::operator/ ( const NumericType  number) const
inlineconstexpr

◆ operator/() [3/3]

template<typename NumericType = double>
constexpr NumericType PhQ::StaticPressure< NumericType >::operator/ ( const StaticPressure< NumericType > &  other) const
inlineconstexprnoexcept

◆ operator/=()

template<typename NumericType = double>
constexpr void PhQ::StaticPressure< NumericType >::operator/= ( const NumericType  number)
inlineconstexprnoexcept

◆ operator=() [1/3]

template<typename NumericType = double>
constexpr StaticPressure<NumericType>& PhQ::StaticPressure< NumericType >::operator= ( const StaticPressure< NumericType > &  other)
constexprdefault

Copy assignment operator. Assigns this static pressure by copying another one.

◆ operator=() [2/3]

template<typename NumericType = double>
template<typename OtherNumericType >
constexpr StaticPressure<NumericType>& PhQ::StaticPressure< NumericType >::operator= ( const StaticPressure< OtherNumericType > &  other)
inlineconstexpr

Copy assignment operator. Assigns this static pressure by copying another one.

Definition at line 116 of file StaticPressure.hpp.

References PhQ::DimensionalScalar< UnitType, NumericType >::Value(), and PhQ::DimensionalScalar< Unit::Pressure, double >::value.

◆ operator=() [3/3]

template<typename NumericType = double>
constexpr StaticPressure<NumericType>& PhQ::StaticPressure< NumericType >::operator= ( StaticPressure< NumericType > &&  other)
constexprdefaultnoexcept

Move assignment operator. Assigns this static pressure by moving another one.

◆ Print() [1/2]

std::string PhQ::DimensionalScalar< Unit::Pressure , double >::Print ( ) const
inlineinherited

Prints this physical quantity as a string. This physical quantity's value is expressed in its standard unit of measure.

Definition at line 95 of file DimensionalScalar.hpp.

◆ Print() [2/2]

std::string PhQ::DimensionalScalar< Unit::Pressure , double >::Print ( const UnitType  unit) const
inlineinherited

Prints this physical quantity as a string. This physical quantity's value is expressed in the given unit of measure.

Definition at line 101 of file DimensionalScalar.hpp.

◆ SetValue()

constexpr void PhQ::DimensionalScalar< Unit::Pressure , double >::SetValue ( const NumericType  value)
inlineconstexprnoexceptinherited

Sets the value of this physical quantity expressed in its standard unit of measure to the given value.

Definition at line 89 of file DimensionalScalar.hpp.

◆ StaticValue()

constexpr double PhQ::DimensionalScalar< Unit::Pressure , double >::StaticValue ( ) const
inlineconstexprinherited

Value of this physical quantity expressed in a given unit of measure. This method can be evaluated statically at compile-time.

Definition at line 77 of file DimensionalScalar.hpp.

◆ Stress()

template<typename NumericType >
constexpr PhQ::Stress< NumericType > PhQ::StaticPressure< NumericType >::Stress
inlineconstexpr

Definition at line 307 of file Stress.hpp.

◆ Unit()

static constexpr Unit::Pressure PhQ::DimensionalScalar< Unit::Pressure , double >::Unit ( )
inlinestaticconstexprinherited

Standard unit of measure for this physical quantity. This physical quantity's value is stored internally in this unit of measure.

Definition at line 60 of file DimensionalScalar.hpp.

◆ Value() [1/2]

constexpr double PhQ::DimensionalScalar< Unit::Pressure , double >::Value ( ) const
inlineconstexprnoexceptinherited

Value of this physical quantity expressed in its standard unit of measure.

Definition at line 65 of file DimensionalScalar.hpp.

◆ Value() [2/2]

double PhQ::DimensionalScalar< Unit::Pressure , double >::Value ( const UnitType  unit) const
inlineinherited

Value of this physical quantity expressed in a given unit of measure.

Definition at line 70 of file DimensionalScalar.hpp.

◆ XML() [1/2]

std::string PhQ::DimensionalScalar< Unit::Pressure , double >::XML ( ) const
inlineinherited

Serializes this physical quantity as an XML message. This physical quantity's value is expressed in its standard unit of measure.

Definition at line 127 of file DimensionalScalar.hpp.

◆ XML() [2/2]

std::string PhQ::DimensionalScalar< Unit::Pressure , double >::XML ( const UnitType  unit) const
inlineinherited

Serializes this physical quantity as an XML message. This physical quantity's value is expressed in the given unit of measure.

Definition at line 137 of file DimensionalScalar.hpp.

◆ YAML() [1/2]

std::string PhQ::DimensionalScalar< Unit::Pressure , double >::YAML ( ) const
inlineinherited

Serializes this physical quantity as a YAML message. This physical quantity's value is expressed in its standard unit of measure.

Definition at line 147 of file DimensionalScalar.hpp.

◆ YAML() [2/2]

std::string PhQ::DimensionalScalar< Unit::Pressure , double >::YAML ( const UnitType  unit) const
inlineinherited

Serializes this physical quantity as a YAML message. This physical quantity's value is expressed in the given unit of measure.

Definition at line 157 of file DimensionalScalar.hpp.

◆ Zero()

template<typename NumericType = double>
static constexpr StaticPressure<NumericType> PhQ::StaticPressure< NumericType >::Zero ( )
inlinestaticconstexpr

Statically creates a static pressure of zero.

Definition at line 126 of file StaticPressure.hpp.

Member Data Documentation

◆ value

double PhQ::DimensionalScalar< Unit::Pressure , double >::value
protectedinherited

Value of this physical quantity expressed in its standard unit of measure.

Definition at line 221 of file DimensionalScalar.hpp.


The documentation for this class was generated from the following files: