specfem::units::unit_symbols¶
-
namespace unit_symbols¶
Short aliases and tag-based constructors for unit types.
Provides convenient multiplication syntax for creating quantities. Use via
using namespacein local scopes only to avoid polluting headers.using namespace specfem::units::unit_symbols; auto distance = 5.0 * km; // Kilometers{5.0} auto time = 2.0 * s; // Seconds{2.0} auto speed = 10.0 * mps; // MetersPerSecond{10.0}
Functions
-
template<typename N>
constexpr Dimensionless operator*(N v, dimensionless_tag)¶
-
template<typename N>
constexpr Dimensionless operator*(dimensionless_tag, N v)¶
-
template<typename N>
constexpr Kilograms operator*(N v, kilogram_tag)¶
-
template<typename N>
constexpr Kilograms operator*(kilogram_tag, N v)¶
-
template<typename N>
constexpr Seconds operator*(N v, second_tag)¶
-
template<typename N>
constexpr Seconds operator*(second_tag, N v)¶
-
template<typename N>
constexpr Kilometers operator*(N v, kilometer_tag)¶
-
template<typename N>
constexpr Kilometers operator*(kilometer_tag, N v)¶
-
template<typename N>
constexpr Radians operator*(N v, radian_tag)¶
-
template<typename N>
constexpr Radians operator*(radian_tag, N v)¶
-
template<typename N>
constexpr GramPerCubicMeter operator*(N v, g_per_m3_tag)¶
-
template<typename N>
constexpr GramPerCubicMeter operator*(g_per_m3_tag, N v)¶
-
template<typename N>
constexpr KilogramPerCubicMeter operator*(N v, kg_per_m3_tag)¶
-
template<typename N>
constexpr KilogramPerCubicMeter operator*(kg_per_m3_tag, N v)¶
-
template<typename N>
constexpr MetersPerSecond operator*(N v, m_per_s_tag)¶
-
template<typename N>
constexpr MetersPerSecond operator*(m_per_s_tag, N v)¶
-
template<typename N>
constexpr KilometersPerSecond operator*(N v, km_per_s_tag)¶
-
template<typename N>
constexpr KilometersPerSecond operator*(km_per_s_tag, N v)¶
-
template<typename N>
constexpr Pascal operator*(N v, pascal_unit_tag)¶
-
template<typename N>
constexpr Pascal operator*(pascal_unit_tag, N v)¶
-
template<typename N>
constexpr Megapascal operator*(N v, megapascal_tag)¶
-
template<typename N>
constexpr Megapascal operator*(megapascal_tag, N v)¶
-
template<typename N>
constexpr DyneCentimeter operator*(N v, dyne_centimeter_tag)¶
-
template<typename N>
constexpr DyneCentimeter operator*(dyne_centimeter_tag, N v)¶
-
template<typename N>
constexpr NewtonMeter operator*(N v, newton_meter_tag)¶
-
template<typename N>
constexpr NewtonMeter operator*(newton_meter_tag, N v)¶
Variables
-
constexpr dimensionless_tag one = {}¶
-
constexpr kilogram_tag kg = {}¶
-
constexpr second_tag s = {}¶
-
constexpr kilometer_tag km = {}¶
-
constexpr radian_tag rad = {}¶
-
constexpr g_per_m3_tag gpm3 = {}¶
-
constexpr kg_per_m3_tag kgpm3 = {}¶
-
constexpr m_per_s_tag mps = {}¶
-
constexpr km_per_s_tag kmps = {}¶
-
constexpr pascal_unit_tag Pa = {}¶
-
constexpr megapascal_tag MPa = {}¶
-
constexpr dyne_centimeter_tag dyn_cm = {}¶
-
constexpr newton_meter_tag Nm = {}¶
-
struct dimensionless_tag¶
- #include <units.hpp>
-
struct gram_tag¶
- #include <units.hpp>
-
struct kilogram_tag¶
- #include <units.hpp>
-
struct second_tag¶
- #include <units.hpp>
-
struct meter_tag¶
- #include <units.hpp>
-
struct kilometer_tag¶
- #include <units.hpp>
-
struct radian_tag¶
- #include <units.hpp>
-
struct g_per_m3_tag¶
- #include <units.hpp>
-
struct kg_per_m3_tag¶
- #include <units.hpp>
-
struct m_per_s_tag¶
- #include <units.hpp>
-
struct km_per_s_tag¶
- #include <units.hpp>
-
struct hertz_tag¶
- #include <units.hpp>
-
struct omega_tag¶
- #include <units.hpp>
-
struct pascal_unit_tag¶
- #include <units.hpp>
-
struct megapascal_tag¶
- #include <units.hpp>
-
struct dyne_centimeter_tag¶
- #include <units.hpp>
-
struct newton_meter_tag¶
- #include <units.hpp>
-
template<typename N>