Skip to content

v1.0.0

Latest
Compare
Choose a tag to compare
@acodcha acodcha released this 05 Aug 00:00
· 1 commit to main since this release
dccb6f1

Initial release of Physical Quantities (PhQ), a C++ library of physical quantities, physical models, and units of measure for scientific computing.

The Physical Quantities library is hosted at https://github.com/acodcha/phq and its documentation is hosted at https://acodcha.github.io/phq-docs. Physical Quantities is authored by Alexandre Coderre-Chabot (@acodcha) and licensed under the MIT License.

This initial release of the Physical Quantities library implements the following features:

92 physical quantities:

  • PhQ::Acceleration
  • PhQ::Angle
  • PhQ::AngularSpeed
  • PhQ::Area
  • PhQ::BulkDynamicViscosity
  • PhQ::Direction
  • PhQ::Displacement
  • PhQ::DisplacementGradient
  • PhQ::DynamicKinematicPressure
  • PhQ::DynamicPressure
  • PhQ::DynamicViscosity
  • PhQ::ElectricCharge
  • PhQ::ElectricCurrent
  • PhQ::Energy
  • PhQ::Force
  • PhQ::Frequency
  • PhQ::GasConstant
  • PhQ::HeatCapacityRatio
  • PhQ::HeatFlux
  • PhQ::IsentropicBulkModulus
  • PhQ::IsobaricHeatCapacity
  • PhQ::IsochoricHeatCapacity
  • PhQ::IsothermalBulkModulus
  • PhQ::KinematicViscosity
  • PhQ::LameFirstModulus
  • PhQ::Length
  • PhQ::LinearThermalExpansionCoefficient
  • PhQ::MachNumber
  • PhQ::Mass
  • PhQ::MassDensity
  • PhQ::MassRate
  • PhQ::Memory
  • PhQ::MemoryRate
  • PhQ::PWaveModulus
  • PhQ::PlanarAcceleration
  • PhQ::PlanarDirection
  • PhQ::PlanarDisplacement
  • PhQ::PlanarForce
  • PhQ::PlanarHeatFlux
  • PhQ::PlanarPosition
  • PhQ::PlanarTemperatureGradient
  • PhQ::PlanarTraction
  • PhQ::PlanarVelocity
  • PhQ::PoissonRatio
  • PhQ::Position
  • PhQ::Power
  • PhQ::PrandtlNumber
  • PhQ::ReynoldsNumber
  • PhQ::ScalarAcceleration
  • PhQ::ScalarAngularAcceleration
  • PhQ::ScalarDisplacementGradient
  • PhQ::ScalarForce
  • PhQ::ScalarHeatFlux
  • PhQ::ScalarStrain
  • PhQ::ScalarStrainRate
  • PhQ::ScalarStress
  • PhQ::ScalarTemperatureGradient
  • PhQ::ScalarThermalConductivity
  • PhQ::ScalarTraction
  • PhQ::ScalarVelocityGradient
  • PhQ::ShearModulus
  • PhQ::SolidAngle
  • PhQ::SoundSpeed
  • PhQ::SpecificEnergy
  • PhQ::SpecificGasConstant
  • PhQ::SpecificIsobaricHeatCapacity
  • PhQ::SpecificIsochoricHeatCapacity
  • PhQ::SpecificPower
  • PhQ::Speed
  • PhQ::StaticKinematicPressure
  • PhQ::StaticPressure
  • PhQ::Strain
  • PhQ::StrainRate
  • PhQ::Stress
  • PhQ::SubstanceAmount
  • PhQ::Temperature
  • PhQ::TemperatureDifference
  • PhQ::TemperatureGradient
  • PhQ::ThermalConductivity
  • PhQ::ThermalDiffusivity
  • PhQ::Time
  • PhQ::TotalKinematicPressure
  • PhQ::TotalPressure
  • PhQ::Traction
  • PhQ::TransportEnergyConsumption
  • PhQ::VectorArea
  • PhQ::Velocity
  • PhQ::VelocityGradient
  • PhQ::Volume
  • PhQ::VolumeRate
  • PhQ::VolumetricThermalExpansionCoefficient
  • PhQ::YoungModulus

1 physical model that supports 3 different model types:

  • PhQ::ConstitutiveModel
    • PhQ::ConstitutiveModel::CompressibleNewtonianFluid
    • PhQ::ConstitutiveModel::ElasticIsotropicSolid
    • PhQ::ConstitutiveModel::IncompressibleNewtonianFluid

37 categories of units of measure, each of which supports a variety of different units:

  • PhQ::Unit::Acceleration
  • PhQ::Unit::Angle
  • PhQ::Unit::AngularAcceleration
  • PhQ::Unit::AngularSpeed
  • PhQ::Unit::Area
  • PhQ::Unit::Diffusivity
  • PhQ::Unit::DynamicViscosity
  • PhQ::Unit::ElectricCharge
  • PhQ::Unit::ElectricCurrent
  • PhQ::Unit::Energy
  • PhQ::Unit::EnergyFlux
  • PhQ::Unit::Force
  • PhQ::Unit::Frequency
  • PhQ::Unit::HeatCapacity
  • PhQ::Unit::Length
  • PhQ::Unit::Mass
  • PhQ::Unit::MassDensity
  • PhQ::Unit::MassRate
  • PhQ::Unit::Memory
  • PhQ::Unit::MemoryRate
  • PhQ::Unit::Power
  • PhQ::Unit::Pressure
  • PhQ::Unit::ReciprocalTemperature
  • PhQ::Unit::SolidAngle
  • PhQ::Unit::SpecificEnergy
  • PhQ::Unit::SpecificHeatCapacity
  • PhQ::Unit::SpecificPower
  • PhQ::Unit::Speed
  • PhQ::Unit::SubstanceAmount
  • PhQ::Unit::Temperature
  • PhQ::Unit::TemperatureDifference
  • PhQ::Unit::TemperatureGradient
  • PhQ::Unit::ThermalConductivity
  • PhQ::Unit::Time
  • PhQ::Unit::TransportEnergyConsumption
  • PhQ::Unit::Volume
  • PhQ::Unit::VolumeRate

4 unit systems:

  • PhQ::UnitSystem::MetreKilogramSecondKelvin
  • PhQ::UnitSystem::MillimetreGramSecondKelvin
  • PhQ::UnitSystem::FootPoundSecondRankine
  • PhQ::UnitSystem::InchPoundSecondRankine

12 value types (in addition to plain floating-point types):

  • PhQ::PlanarVector
  • PhQ::PlanarVector
  • PhQ::PlanarVector
  • PhQ::Vector
  • PhQ::Vector
  • PhQ::Vector
  • PhQ::SymmetricDyad
  • PhQ::SymmetricDyad
  • PhQ::SymmetricDyad
  • PhQ::Dyad
  • PhQ::Dyad
  • PhQ::Dyad

The physical dimension set and the 7 base physical dimensions:

  • PhQ::Dimensions
    • PhQ::Dimension::Time
    • PhQ::Dimension::Length
    • PhQ::Dimension::Mass
    • PhQ::Dimension::ElectricCurrent
    • PhQ::Dimension::Temperature
    • PhQ::Dimension::SubstanceAmount
    • PhQ::Dimension::LuminousIntensity