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 | Friends | List of all members
PhQ::ScalarThermalConductivity< NumericType > Class Template Reference

Scalar component or resultant of a three-dimensional Euclidean thermal conductivity symmetric dyadic tensor. In general, thermal conductivity is a tensor; however, in isotropic materials, thermal conductivity simplifies to a scalar. For the related tensor, see PhQ::ThermalConductivity. More...

#include "ScalarThermalConductivity.hpp"

Public Member Functions

 ScalarThermalConductivity ()=default
 Default constructor. Constructs a scalar thermal conductivity with an uninitialized value. More...
 
 ScalarThermalConductivity (const NumericType value, const Unit::ThermalConductivity unit)
 Constructor. Constructs a scalar thermal conductivity with a given value expressed in a given thermal conductivity unit. More...
 
constexpr ScalarThermalConductivity (const MassDensity< NumericType > &mass_density, const SpecificIsobaricHeatCapacity< NumericType > &specific_isobaric_heat_capacity, const ThermalDiffusivity< NumericType > &thermal_diffusivity)
 Constructor. Constructs a scalar thermal conductivity from a given mass density, specific isobaric heat capacity, and thermal diffusivity using the definition of thermal diffusivity. More...
 
constexpr ScalarThermalConductivity (const SpecificIsobaricHeatCapacity< NumericType > &specific_isobaric_heat_capacity, const DynamicViscosity< NumericType > &dynamic_viscosity, const PrandtlNumber< NumericType > &prandtl_number)
 Constructor. Constructs a scalar thermal conductivity from a given specific isobaric heat capacity, dynamic viscosity, and Prandtl number using the definition of the Prandtl number. More...
 
 ~ScalarThermalConductivity () noexcept=default
 Destructor. Destroys this scalar thermal conductivity. More...
 
constexpr ScalarThermalConductivity (const ScalarThermalConductivity< NumericType > &other)=default
 Copy constructor. Constructs a scalar thermal conductivity by copying another one. More...
 
template<typename OtherNumericType >
constexpr ScalarThermalConductivity (const ScalarThermalConductivity< OtherNumericType > &other)
 Copy constructor. Constructs a scalar thermal conductivity by copying another one. More...
 
constexpr ScalarThermalConductivity (ScalarThermalConductivity< NumericType > &&other) noexcept=default
 Move constructor. Constructs a scalar thermal conductivity by moving another one. More...
 
constexpr ScalarThermalConductivity< NumericType > & operator= (const ScalarThermalConductivity< NumericType > &other)=default
 Copy assignment operator. Assigns this scalar thermal conductivity by copying another one. More...
 
template<typename OtherNumericType >
constexpr ScalarThermalConductivity< NumericType > & operator= (const ScalarThermalConductivity< OtherNumericType > &other)
 Copy assignment operator. Assigns this scalar thermal conductivity by copying another one. More...
 
constexpr ScalarThermalConductivity< NumericType > & operator= (ScalarThermalConductivity< NumericType > &&other) noexcept=default
 Move assignment operator. Assigns this scalar thermal conductivity by moving another one. More...
 
constexpr ScalarThermalConductivity< NumericType > operator+ (const ScalarThermalConductivity< NumericType > &thermal_conductivity_scalar) const
 
constexpr ScalarThermalConductivity< NumericType > operator- (const ScalarThermalConductivity< NumericType > &thermal_conductivity_scalar) const
 
constexpr ScalarThermalConductivity< NumericType > operator* (const NumericType number) const
 
constexpr ScalarThermalConductivity< NumericType > operator/ (const NumericType number) const
 
constexpr NumericType operator/ (const ScalarThermalConductivity< NumericType > &thermal_conductivity_scalar) const noexcept
 
constexpr void operator+= (const ScalarThermalConductivity< NumericType > &thermal_conductivity_scalar) noexcept
 
constexpr void operator-= (const ScalarThermalConductivity< NumericType > &thermal_conductivity_scalar) 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::ThermalConductivity 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::ThermalConductivity 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::ThermalConductivity 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::ThermalConductivity 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::ThermalConductivity 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 ScalarThermalConductivity< NumericType > Zero ()
 Statically creates a scalar thermal conductivity of zero. More...
 
template<Unit::ThermalConductivity Unit>
static constexpr ScalarThermalConductivity< NumericType > Create (const NumericType value)
 Statically creates a scalar thermal conductivity with a given value expressed in a given thermal conductivity unit. More...
 
static constexpr const PhQ::DimensionsDimensions ()
 Physical dimension set of this physical quantity. More...
 
static constexpr Unit::ThermalConductivity 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 ScalarThermalConductivity (const NumericType value)
 Constructor. Constructs a scalar thermal conductivity with a given value expressed in the standard thermal conductivity unit. More...
 

Friends

template<typename OtherNumericType >
class ThermalConductivity
 Thermal conductivity units. More...
 

Detailed Description

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

Scalar component or resultant of a three-dimensional Euclidean thermal conductivity symmetric dyadic tensor. In general, thermal conductivity is a tensor; however, in isotropic materials, thermal conductivity simplifies to a scalar. For the related tensor, see PhQ::ThermalConductivity.

Definition at line 62 of file ScalarThermalConductivity.hpp.

Constructor & Destructor Documentation

◆ ScalarThermalConductivity() [1/8]

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

Default constructor. Constructs a scalar thermal conductivity with an uninitialized value.

◆ ScalarThermalConductivity() [2/8]

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

Constructor. Constructs a scalar thermal conductivity with a given value expressed in a given thermal conductivity unit.

Definition at line 70 of file ScalarThermalConductivity.hpp.

◆ ScalarThermalConductivity() [3/8]

template<typename NumericType >
constexpr PhQ::ScalarThermalConductivity< NumericType >::ScalarThermalConductivity ( const MassDensity< NumericType > &  mass_density,
const SpecificIsobaricHeatCapacity< NumericType > &  specific_isobaric_heat_capacity,
const ThermalDiffusivity< NumericType > &  thermal_diffusivity 
)
inlineconstexpr

Constructor. Constructs a scalar thermal conductivity from a given mass density, specific isobaric heat capacity, and thermal diffusivity using the definition of thermal diffusivity.

Definition at line 215 of file ThermalDiffusivity.hpp.

◆ ScalarThermalConductivity() [4/8]

template<typename NumericType >
constexpr PhQ::ScalarThermalConductivity< NumericType >::ScalarThermalConductivity ( const SpecificIsobaricHeatCapacity< NumericType > &  specific_isobaric_heat_capacity,
const DynamicViscosity< NumericType > &  dynamic_viscosity,
const PrandtlNumber< NumericType > &  prandtl_number 
)
inlineconstexpr

Constructor. Constructs a scalar thermal conductivity from a given specific isobaric heat capacity, dynamic viscosity, and Prandtl number using the definition of the Prandtl number.

Definition at line 231 of file PrandtlNumber.hpp.

◆ ~ScalarThermalConductivity()

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

Destructor. Destroys this scalar thermal conductivity.

◆ ScalarThermalConductivity() [5/8]

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

Copy constructor. Constructs a scalar thermal conductivity by copying another one.

◆ ScalarThermalConductivity() [6/8]

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

Copy constructor. Constructs a scalar thermal conductivity by copying another one.

Definition at line 98 of file ScalarThermalConductivity.hpp.

◆ ScalarThermalConductivity() [7/8]

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

Move constructor. Constructs a scalar thermal conductivity by moving another one.

◆ ScalarThermalConductivity() [8/8]

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

Constructor. Constructs a scalar thermal conductivity with a given value expressed in the standard thermal conductivity unit.

Definition at line 184 of file ScalarThermalConductivity.hpp.

Member Function Documentation

◆ Create()

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

Statically creates a scalar thermal conductivity with a given value expressed in a given thermal conductivity unit.

Definition at line 133 of file ScalarThermalConductivity.hpp.

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

◆ Dimensions()

static constexpr const PhQ::Dimensions& PhQ::DimensionalScalar< Unit::ThermalConductivity , 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::ThermalConductivity , 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::ThermalConductivity , double >::JSON ( const Unit::ThermalConductivity  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::ThermalConductivity , 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*()

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

◆ operator*=()

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

◆ operator+()

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

◆ operator+=()

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

◆ operator-()

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

◆ operator-=()

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

◆ operator/() [1/2]

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

◆ operator/() [2/2]

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

◆ operator/=()

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

◆ operator=() [1/3]

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

Copy assignment operator. Assigns this scalar thermal conductivity by copying another one.

◆ operator=() [2/3]

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

Copy assignment operator. Assigns this scalar thermal conductivity by copying another one.

Definition at line 114 of file ScalarThermalConductivity.hpp.

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

◆ operator=() [3/3]

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

Move assignment operator. Assigns this scalar thermal conductivity by moving another one.

◆ Print() [1/2]

std::string PhQ::DimensionalScalar< Unit::ThermalConductivity , 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::ThermalConductivity , double >::Print ( const Unit::ThermalConductivity  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::ThermalConductivity , double >::SetValue ( const double  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::ThermalConductivity , 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.

◆ Unit()

static constexpr Unit::ThermalConductivity PhQ::DimensionalScalar< Unit::ThermalConductivity , 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::ThermalConductivity , 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::ThermalConductivity , double >::Value ( const Unit::ThermalConductivity  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::ThermalConductivity , 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::ThermalConductivity , double >::XML ( const Unit::ThermalConductivity  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::ThermalConductivity , 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::ThermalConductivity , double >::YAML ( const Unit::ThermalConductivity  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 ScalarThermalConductivity<NumericType> PhQ::ScalarThermalConductivity< NumericType >::Zero ( )
inlinestaticconstexpr

Statically creates a scalar thermal conductivity of zero.

Definition at line 126 of file ScalarThermalConductivity.hpp.

Friends And Related Function Documentation

◆ ThermalConductivity

template<typename NumericType = double>
template<typename OtherNumericType >
friend class ThermalConductivity
friend

Thermal conductivity units.

Definition at line 188 of file ScalarThermalConductivity.hpp.

Member Data Documentation

◆ value

double PhQ::DimensionalScalar< Unit::ThermalConductivity , 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: