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

Scalar component or resultant of a three-dimensional Euclidean displacement gradient dyadic tensor. For the related tensor, see PhQ::DisplacementGradient. The time rate of change of a scalar displacement gradient is a scalar velocity gradient; see PhQ::ScalarVelocityGradient, PhQ::Time, and PhQ::Frequency. More...

#include "ScalarDisplacementGradient.hpp"

Public Member Functions

 ScalarDisplacementGradient ()=default
 Default constructor. Constructs a scalar displacement gradient with an uninitialized value. More...
 
constexpr ScalarDisplacementGradient (const NumericType value)
 Constructor. Constructs a scalar displacement gradient with a given value. More...
 
constexpr ScalarDisplacementGradient (const ScalarVelocityGradient< NumericType > &scalar_velocity_gradient, const Time< NumericType > &time)
 Constructor. Constructs a scalar displacement gradient from a given scalar velocity gradient and time using the definition of speed. More...
 
constexpr ScalarDisplacementGradient (const ScalarVelocityGradient< NumericType > &scalar_velocity_gradient, const Frequency< NumericType > &frequency)
 Constructor. Constructs a scalar displacement gradient from a given scalar velocity gradient and frequency using the definition of speed. More...
 
 ~ScalarDisplacementGradient () noexcept=default
 Destructor. Destroys this scalar displacement gradient. More...
 
constexpr ScalarDisplacementGradient (const ScalarDisplacementGradient< NumericType > &other)=default
 Copy constructor. Constructs a scalar displacement gradient by copying another one. More...
 
template<typename OtherNumericType >
constexpr ScalarDisplacementGradient (const ScalarDisplacementGradient< OtherNumericType > &other)
 Copy constructor. Constructs a scalar displacement gradient by copying another one. More...
 
constexpr ScalarDisplacementGradient (ScalarDisplacementGradient< NumericType > &&other) noexcept=default
 Move constructor. Constructs a scalar displacement gradient by moving another one. More...
 
constexpr ScalarDisplacementGradient< NumericType > & operator= (const ScalarDisplacementGradient< NumericType > &other)=default
 Copy assignment operator. Assigns this scalar displacement gradient by copying another one. More...
 
template<typename OtherNumericType >
constexpr ScalarDisplacementGradient< NumericType > & operator= (const ScalarDisplacementGradient< OtherNumericType > &other)
 Copy assignment operator. Assigns this scalar displacement gradient by copying another one. More...
 
constexpr ScalarDisplacementGradient< NumericType > & operator= (ScalarDisplacementGradient< NumericType > &&other) noexcept=default
 Move assignment operator. Assigns this scalar displacement gradient by moving another one. More...
 
constexpr ScalarDisplacementGradient< NumericType > operator+ (const ScalarDisplacementGradient< NumericType > &scalar_displacement_gradient) const
 
constexpr ScalarDisplacementGradient< NumericType > operator- (const ScalarDisplacementGradient< NumericType > &scalar_displacement_gradient) const
 
constexpr ScalarDisplacementGradient< NumericType > operator* (const NumericType number) const
 
constexpr ScalarVelocityGradient< NumericType > operator* (const Frequency< NumericType > &frequency) const
 
constexpr ScalarDisplacementGradient< NumericType > operator/ (const NumericType number) const
 
constexpr ScalarVelocityGradient< NumericType > operator/ (const Time< NumericType > &time) const
 
constexpr NumericType operator/ (const ScalarDisplacementGradient< NumericType > &scalar_displacement_gradient) const noexcept
 
constexpr void operator+= (const ScalarDisplacementGradient< NumericType > &scalar_displacement_gradient) noexcept
 
constexpr void operator-= (const ScalarDisplacementGradient< NumericType > &scalar_displacement_gradient) 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. More...
 
constexpr double & MutableValue () noexcept
 Returns the value of this physical quantity as a mutable value. More...
 
constexpr void SetValue (const double value) noexcept
 Sets the value of this physical quantity to the given value. More...
 
std::string Print () const
 Prints this physical quantity as a string. More...
 
std::string JSON () const
 Serializes this physical quantity as a JSON message. More...
 
std::string XML () const
 Serializes this physical quantity as an XML message. More...
 
std::string YAML () const
 Serializes this physical quantity as a YAML message. More...
 

Static Public Member Functions

static constexpr ScalarDisplacementGradient< NumericType > Zero ()
 Statically creates a scalar displacement gradient of zero. More...
 
static constexpr PhQ::Dimensions Dimensions ()
 Physical dimension set of this physical quantity. Since this physical quantity is dimensionless, its physical dimension set is simply the null set. More...
 

Protected Attributes

double value
 Value of this physical quantity. More...
 

Detailed Description

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

Scalar component or resultant of a three-dimensional Euclidean displacement gradient dyadic tensor. For the related tensor, see PhQ::DisplacementGradient. The time rate of change of a scalar displacement gradient is a scalar velocity gradient; see PhQ::ScalarVelocityGradient, PhQ::Time, and PhQ::Frequency.

Definition at line 53 of file ScalarDisplacementGradient.hpp.

Constructor & Destructor Documentation

◆ ScalarDisplacementGradient() [1/7]

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

Default constructor. Constructs a scalar displacement gradient with an uninitialized value.

◆ ScalarDisplacementGradient() [2/7]

template<typename NumericType = double>
constexpr PhQ::ScalarDisplacementGradient< NumericType >::ScalarDisplacementGradient ( const NumericType  value)
inlineexplicitconstexpr

Constructor. Constructs a scalar displacement gradient with a given value.

Definition at line 60 of file ScalarDisplacementGradient.hpp.

◆ ScalarDisplacementGradient() [3/7]

template<typename NumericType >
constexpr PhQ::ScalarDisplacementGradient< NumericType >::ScalarDisplacementGradient ( const ScalarVelocityGradient< NumericType > &  scalar_velocity_gradient,
const Time< NumericType > &  time 
)
inlineconstexpr

Constructor. Constructs a scalar displacement gradient from a given scalar velocity gradient and time using the definition of speed.

Definition at line 221 of file ScalarVelocityGradient.hpp.

◆ ScalarDisplacementGradient() [4/7]

template<typename NumericType >
constexpr PhQ::ScalarDisplacementGradient< NumericType >::ScalarDisplacementGradient ( const ScalarVelocityGradient< NumericType > &  scalar_velocity_gradient,
const Frequency< NumericType > &  frequency 
)
inlineconstexpr

Constructor. Constructs a scalar displacement gradient from a given scalar velocity gradient and frequency using the definition of speed.

Definition at line 227 of file ScalarVelocityGradient.hpp.

◆ ~ScalarDisplacementGradient()

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

Destructor. Destroys this scalar displacement gradient.

◆ ScalarDisplacementGradient() [5/7]

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

Copy constructor. Constructs a scalar displacement gradient by copying another one.

◆ ScalarDisplacementGradient() [6/7]

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

Copy constructor. Constructs a scalar displacement gradient by copying another one.

Definition at line 84 of file ScalarDisplacementGradient.hpp.

◆ ScalarDisplacementGradient() [7/7]

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

Move constructor. Constructs a scalar displacement gradient by moving another one.

Member Function Documentation

◆ Dimensions()

static constexpr PhQ::Dimensions PhQ::DimensionlessScalar< double >::Dimensions ( )
inlinestaticconstexprinherited

Physical dimension set of this physical quantity. Since this physical quantity is dimensionless, its physical dimension set is simply the null set.

Definition at line 55 of file DimensionlessScalar.hpp.

◆ JSON()

std::string PhQ::DimensionlessScalar< double >::JSON ( ) const
inlineinherited

Serializes this physical quantity as a JSON message.

Definition at line 80 of file DimensionlessScalar.hpp.

◆ MutableValue()

constexpr double & PhQ::DimensionlessScalar< double >::MutableValue ( )
inlineconstexprnoexceptinherited

Returns the value of this physical quantity as a mutable value.

Definition at line 65 of file DimensionlessScalar.hpp.

◆ operator*() [1/2]

template<typename NumericType >
constexpr ScalarVelocityGradient< NumericType > PhQ::ScalarDisplacementGradient< NumericType >::operator* ( const Frequency< NumericType > &  frequency) const
inlineconstexpr

Definition at line 234 of file ScalarVelocityGradient.hpp.

◆ operator*() [2/2]

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

◆ operator*=()

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

◆ operator+()

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

◆ operator+=()

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

◆ operator-()

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

◆ operator-=()

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

◆ operator/() [1/3]

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

◆ operator/() [2/3]

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

◆ operator/() [3/3]

template<typename NumericType >
constexpr ScalarVelocityGradient< NumericType > PhQ::ScalarDisplacementGradient< NumericType >::operator/ ( const Time< NumericType > &  time) const
inlineconstexpr

Definition at line 240 of file ScalarVelocityGradient.hpp.

◆ operator/=()

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

◆ operator=() [1/3]

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

Copy assignment operator. Assigns this scalar displacement gradient by copying another one.

◆ operator=() [2/3]

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

Copy assignment operator. Assigns this scalar displacement gradient by copying another one.

Definition at line 100 of file ScalarDisplacementGradient.hpp.

References PhQ::DimensionlessScalar< NumericType >::Value(), and PhQ::DimensionlessScalar< double >::value.

◆ operator=() [3/3]

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

Move assignment operator. Assigns this scalar displacement gradient by moving another one.

◆ Print()

std::string PhQ::DimensionlessScalar< double >::Print ( ) const
inlineinherited

Prints this physical quantity as a string.

Definition at line 75 of file DimensionlessScalar.hpp.

◆ SetValue()

constexpr void PhQ::DimensionlessScalar< double >::SetValue ( const NumericType  value)
inlineconstexprnoexceptinherited

Sets the value of this physical quantity to the given value.

Definition at line 70 of file DimensionlessScalar.hpp.

◆ Value()

constexpr double PhQ::DimensionlessScalar< double >::Value ( ) const
inlineconstexprnoexceptinherited

Value of this physical quantity.

Definition at line 60 of file DimensionlessScalar.hpp.

◆ XML()

std::string PhQ::DimensionlessScalar< double >::XML ( ) const
inlineinherited

Serializes this physical quantity as an XML message.

Definition at line 85 of file DimensionlessScalar.hpp.

◆ YAML()

std::string PhQ::DimensionlessScalar< double >::YAML ( ) const
inlineinherited

Serializes this physical quantity as a YAML message.

Definition at line 90 of file DimensionlessScalar.hpp.

◆ Zero()

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

Statically creates a scalar displacement gradient of zero.

Definition at line 112 of file ScalarDisplacementGradient.hpp.

Member Data Documentation

◆ value

double PhQ::DimensionlessScalar< double >::value
protectedinherited

Value of this physical quantity.

Definition at line 143 of file DimensionlessScalar.hpp.


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