Celeritas 0.7.0-dev.350+develop.818b0d0
Loading...
Searching...
No Matches
Namespaces | Macros | Functions
Units.hh File Reference

Unit definitions. More...

#include "corecel/Config.hh"
#include "corecel/Types.hh"
#include "corecel/math/Constant.hh"

Namespaces

namespace  celeritas::units
 Units in Celeritas for macro-scale quantities.
 

Macros

#define CELER_ICC   inline constexpr Constant
 
#define CELER_DEFINE_UNIT_UDL(SUFFIX, NAME)
 

Functions

constexpr double celeritas::units::literals::operator""_cm (long double v)
 
constexpr Constant celeritas::units::literals::operator""_cm (unsigned long long int v)
 
constexpr double celeritas::units::literals::operator""_centimeter (long double v)
 
constexpr Constant celeritas::units::literals::operator""_centimeter (unsigned long long int v)
 
constexpr double celeritas::units::literals::operator""_g (long double v)
 
constexpr Constant celeritas::units::literals::operator""_g (unsigned long long int v)
 
constexpr double celeritas::units::literals::operator""_gram (long double v)
 
constexpr Constant celeritas::units::literals::operator""_gram (unsigned long long int v)
 
constexpr double celeritas::units::literals::operator""_s (long double v)
 
constexpr Constant celeritas::units::literals::operator""_s (unsigned long long int v)
 
constexpr double celeritas::units::literals::operator""_second (long double v)
 
constexpr Constant celeritas::units::literals::operator""_second (unsigned long long int v)
 
constexpr double celeritas::units::literals::operator""_G (long double v)
 
constexpr Constant celeritas::units::literals::operator""_G (unsigned long long int v)
 
constexpr double celeritas::units::literals::operator""_gauss (long double v)
 
constexpr Constant celeritas::units::literals::operator""_gauss (unsigned long long int v)
 
constexpr double celeritas::units::literals::operator""_K (long double v)
 
constexpr Constant celeritas::units::literals::operator""_K (unsigned long long int v)
 
constexpr double celeritas::units::literals::operator""_kelvin (long double v)
 
constexpr Constant celeritas::units::literals::operator""_kelvin (unsigned long long int v)
 
constexpr double celeritas::units::literals::operator""_m (long double v)
 
constexpr Constant celeritas::units::literals::operator""_m (unsigned long long int v)
 
constexpr double celeritas::units::literals::operator""_meter (long double v)
 
constexpr Constant celeritas::units::literals::operator""_meter (unsigned long long int v)
 
constexpr double celeritas::units::literals::operator""_kg (long double v)
 
constexpr Constant celeritas::units::literals::operator""_kg (unsigned long long int v)
 
constexpr double celeritas::units::literals::operator""_kilogram (long double v)
 
constexpr Constant celeritas::units::literals::operator""_kilogram (unsigned long long int v)
 
constexpr double celeritas::units::literals::operator""_T (long double v)
 
constexpr Constant celeritas::units::literals::operator""_T (unsigned long long int v)
 
constexpr double celeritas::units::literals::operator""_tesla (long double v)
 
constexpr Constant celeritas::units::literals::operator""_tesla (unsigned long long int v)
 
constexpr double celeritas::units::literals::operator""_N (long double v)
 
constexpr Constant celeritas::units::literals::operator""_N (unsigned long long int v)
 
constexpr double celeritas::units::literals::operator""_newton (long double v)
 
constexpr Constant celeritas::units::literals::operator""_newton (unsigned long long int v)
 
constexpr double celeritas::units::literals::operator""_J (long double v)
 
constexpr Constant celeritas::units::literals::operator""_J (unsigned long long int v)
 
constexpr double celeritas::units::literals::operator""_joule (long double v)
 
constexpr Constant celeritas::units::literals::operator""_joule (unsigned long long int v)
 
constexpr double celeritas::units::literals::operator""_C (long double v)
 
constexpr Constant celeritas::units::literals::operator""_C (unsigned long long int v)
 
constexpr double celeritas::units::literals::operator""_coulomb (long double v)
 
constexpr Constant celeritas::units::literals::operator""_coulomb (unsigned long long int v)
 
constexpr double celeritas::units::literals::operator""_A (long double v)
 
constexpr Constant celeritas::units::literals::operator""_A (unsigned long long int v)
 
constexpr double celeritas::units::literals::operator""_ampere (long double v)
 
constexpr Constant celeritas::units::literals::operator""_ampere (unsigned long long int v)
 
constexpr double celeritas::units::literals::operator""_V (long double v)
 
constexpr Constant celeritas::units::literals::operator""_V (unsigned long long int v)
 
constexpr double celeritas::units::literals::operator""_volt (long double v)
 
constexpr Constant celeritas::units::literals::operator""_volt (unsigned long long int v)
 
constexpr double celeritas::units::literals::operator""_F (long double v)
 
constexpr Constant celeritas::units::literals::operator""_F (unsigned long long int v)
 
constexpr double celeritas::units::literals::operator""_farad (long double v)
 
constexpr Constant celeritas::units::literals::operator""_farad (unsigned long long int v)
 
constexpr double celeritas::units::literals::operator""_mm (long double v)
 
constexpr Constant celeritas::units::literals::operator""_mm (unsigned long long int v)
 
constexpr double celeritas::units::literals::operator""_millimeter (long double v)
 
constexpr Constant celeritas::units::literals::operator""_millimeter (unsigned long long int v)
 
constexpr double celeritas::units::literals::operator""_ns (long double v)
 
constexpr Constant celeritas::units::literals::operator""_ns (unsigned long long int v)
 
constexpr double celeritas::units::literals::operator""_nanosecond (long double v)
 
constexpr Constant celeritas::units::literals::operator""_nanosecond (unsigned long long int v)
 
constexpr double celeritas::units::literals::operator""_um (long double v)
 
constexpr Constant celeritas::units::literals::operator""_um (unsigned long long int v)
 
constexpr double celeritas::units::literals::operator""_micrometer (long double v)
 
constexpr Constant celeritas::units::literals::operator""_micrometer (unsigned long long int v)
 
constexpr double celeritas::units::literals::operator""_nm (long double v)
 
constexpr Constant celeritas::units::literals::operator""_nm (unsigned long long int v)
 
constexpr double celeritas::units::literals::operator""_nanometer (long double v)
 
constexpr Constant celeritas::units::literals::operator""_nanometer (unsigned long long int v)
 
constexpr double celeritas::units::literals::operator""_fm (long double v)
 
constexpr Constant celeritas::units::literals::operator""_fm (unsigned long long int v)
 
constexpr double celeritas::units::literals::operator""_femtometer (long double v)
 
constexpr Constant celeritas::units::literals::operator""_femtometer (unsigned long long int v)
 
constexpr double celeritas::units::literals::operator""_b (long double v)
 
constexpr Constant celeritas::units::literals::operator""_b (unsigned long long int v)
 
constexpr double celeritas::units::literals::operator""_barn (long double v)
 
constexpr Constant celeritas::units::literals::operator""_barn (unsigned long long int v)
 

Variables

Units with numerical value defined to be 1 for CGS
constexpr Constant celeritas::units::centimeter {1}
 Length.
 
constexpr Constant celeritas::units::gram {1}
 Mass.
 
constexpr Constant celeritas::units::second {1}
 Time.
 
constexpr Constant celeritas::units::gauss {1}
 Field strength.
 
constexpr Constant celeritas::units::kelvin {1}
 Temperature.
 
Exact unit transformations to SI units
constexpr Constant celeritas::units::meter = 100 * centimeter
 
constexpr Constant celeritas::units::kilogram = 1000 * gram
 
constexpr Constant celeritas::units::tesla = 10000 * gauss
 
Exact unit transformations using SI unit definitions
constexpr Constant celeritas::units::newton = kilogram * meter / (second * second)
 
constexpr Constant celeritas::units::joule = newton * meter
 
constexpr Constant celeritas::units::coulomb = kilogram / (tesla * second)
 
constexpr Constant celeritas::units::ampere = coulomb / second
 
constexpr Constant celeritas::units::volt = joule / coulomb
 
constexpr Constant celeritas::units::farad = coulomb / volt
 
CLHEP units
constexpr Constant celeritas::units::millimeter = Constant{0.1} * centimeter
 
constexpr Constant celeritas::units::nanosecond = Constant{1e-9} * second
 
Other common units
constexpr Constant celeritas::units::micrometer = Constant{1e-4} * centimeter
 
constexpr Constant celeritas::units::nanometer = Constant{1e-7} * centimeter
 
constexpr Constant celeritas::units::femtometer = Constant{1e-13} * centimeter
 
constexpr Constant celeritas::units::barn = Constant{1e-24} * centimeter * centimeter
 

Detailed Description

Unit definitions.

Macro Definition Documentation

◆ CELER_DEFINE_UNIT_UDL

#define CELER_DEFINE_UNIT_UDL (   SUFFIX,
  NAME 
)
Value:
CELER_CONSTEXPR_FUNCTION double operator""_##SUFFIX(long double v) \
{ \
return v * units::NAME; \
} \
CELER_CONSTEXPR_FUNCTION Constant operator""_##SUFFIX( \
unsigned long long int v) \
{ \
return v * units::NAME; \
} \
CELER_CONSTEXPR_FUNCTION double operator""_##NAME(long double v) \
{ \
return v * units::NAME; \
} \
CELER_CONSTEXPR_FUNCTION Constant operator""_##NAME( \
unsigned long long int v) \
{ \
return v * units::NAME; \
}
#define CELER_CONSTEXPR_FUNCTION
Decorate a function that works on both host and device, with and without NVCC, can be evaluated at co...
Definition Macros.hh:82