Multiscale Universal Interface  2.0
A Concurrent Framework for Coupling Heterogeneous Solvers
mui::dim Namespace Reference

Namespaces

 chemical
 
 electrical
 
 magnetic
 
 mechanical
 
 optical
 
 radioactive
 

Classes

struct  dim
 

Typedefs

using mass = dim< 1, 0, 0, 0, 0, 0, 0, 0 >
 
using length = dim< 0, 1, 0, 0, 0, 0, 0, 0 >
 
using time = dim< 0, 0, 1, 0, 0, 0, 0, 0 >
 
using temperature = dim< 0, 0, 0, 1, 0, 0, 0, 0 >
 
using amount = dim< 0, 0, 0, 0, 1, 0, 0, 0 >
 
using current = dim< 0, 0, 0, 0, 0, 1, 0, 0 >
 
using luminos = dim< 0, 0, 0, 0, 0, 0, 1, 0 >
 
using information = dim< 0, 0, 0, 0, 0, 0, 0, 1 >
 
using angle = decltype(length()/length())
 
using area = decltype(length() *length())
 
using frequency = decltype(1.0/time())
 
using velocity = decltype(length()/time())
 
using acceleration = decltype(velocity()/time())
 
using force = decltype(mass() *acceleration())
 
using pressure = decltype(force()/area())
 
using energy = decltype(force() *length())
 
using solid_angle = decltype(area()/area())
 
using power = decltype(energy()/time())
 

Functions

template<int... MLTTAELI1, int... MLTTAELI2>
class Cannot_Add_Values_With_Mismatching_Dimensionality operator+ (const dim< MLTTAELI1... > &d1, const dim< MLTTAELI2... > &d2)
 
template<int... MLTTAELI>
dim< MLTTAELI... > operator+ (const dim< MLTTAELI... > &d1, const dim< MLTTAELI... > &d2)
 
template<int... MLTTAELI>
dim< MLTTAELI... > operator- (const dim< MLTTAELI... > &d)
 
template<int... MLTTAELI1, int... MLTTAELI2>
class Cannot_Subtract_Values_With_Mismatching_Dimensionality operator- (const dim< MLTTAELI1... > &d1, const dim< MLTTAELI2... > &d2)
 
template<int... MLTTAELI>
dim< MLTTAELI... > operator- (const dim< MLTTAELI... > &d1, const dim< MLTTAELI... > &d2)
 
template<int... MLTTAELI>
double operator* (const dim< MLTTAELI... > &u1, const dim<-MLTTAELI... > &u2)
 
template<int... MLTTAELI1, int... MLTTAELI2>
dim<(MLTTAELI1+MLTTAELI2)... > operator* (const dim< MLTTAELI1... > &u1, const dim< MLTTAELI2... > &u2)
 
template<int... MLTTAELI>
dim< MLTTAELI... > operator* (const dim< MLTTAELI... > &u, const double f)
 
template<int... MLTTAELI>
dim< MLTTAELI... > operator* (const double f, const dim< MLTTAELI... > &u)
 
template<int... MLTTAELI>
double operator/ (const dim< MLTTAELI... > &u1, const dim< MLTTAELI... > &u2)
 
template<int... MLTTAELI1, int... MLTTAELI2>
dim<(MLTTAELI1-MLTTAELI2)... > operator/ (const dim< MLTTAELI1... > &u1, const dim< MLTTAELI2... > &u2)
 
template<int... MLTTAELI>
dim< MLTTAELI... > operator/ (const dim< MLTTAELI... > &u, const double f)
 
template<int... MLTTAELI>
dim<-MLTTAELI... > operator/ (const double f, const dim< MLTTAELI... > &u)
 
angle operator""_deg (long double u)
 
angle operator""_deg (unsigned long long u)
 
 make_unit (mass, ton, u *1e3) make_unit(mass
 
make_unit (mass, g, u *1e-3) make_unit(mass
 
u u * make_unit (length, km, u *1e3) make_unit(length
 
u u u make_unit (length, cm, u *1e-2) make_unit(length
 
u u u u * make_unit (length, um, u *1e-6) make_unit(length
 
u u u u u * make_unit (length, Angstrom, u *1e-10) make_unit(time
 
u u u u u u * make_unit (time, hr, u *3600.0) make_unit(time
 
u u u u u u u * make_unit (time, s, u) make_unit(time
 
u u u u u u u u * make_unit (time, us, u *1e-6) make_unit(time
 
u u u u u u u u u * make_unit (time, ps, u *1e-12) make_unit(time
 
u u u u u u u u u u * make_unit (temperature, K, u) make_unit(temperature
 
u u u u u u u u u u u make_unit (amount, mol, u *6.02214178999999989284864e23) make_unit(current
 
u u u u u u u u u u u u make_unit (current, mAmp, u *1e-3) make_unit(luminos
 
u u u u u u u u u u u u u make_unit (information, bit, u *0.125) make_unit(information
 
u u u u u u u u u u u u u u * make_unit (information, byte, u) make_unit(information
 
u u u u u u u u u u u u u u u * make_unit (information, MB, u *1e6) make_unit(information
 
u u u u u u u u u u u u u u u u * make_unit (information, TB, u *1e12) make_unit(information
 
u u u u u u u u u u u u u u u u u * make_unit (angle, rad, u) make_unit(frequency
 
u u u u u u u u u u u u u u u u u u make_unit (velocity, kmph, u *(1000.0/3600.0)) make_unit(acceleration
 
u u u u u u u u u u u u u u u u u u u * make_unit (force, kN, u *1e3) make_unit(force
 
u u u u u u u u u u u u u u u u u u u u make_unit (force, mN, u *1e-3) make_unit(force
 
u u u u u u u u u u u u u u u u u u u u u * make_unit (force, nN, u *1e-9) make_unit(force
 
u u u u u u u u u u u u u u u u u u u u u u * make_unit (pressure, GPa, u *1e9) make_unit(pressure
 
u u u u u u u u u u u u u u u u u u u u u u u * make_unit (pressure, kPa, u *1e3) make_unit(pressure
 
u u u u u u u u u u u u u u u u u u u u u u u u make_unit (energy, GJ, u *1e9) make_unit(energy
 
u u u u u u u u u u u u u u u u u u u u u u u u u * make_unit (energy, kJ, u *1e3) make_unit(energy
 
u u u u u u u u u u u u u u u u u u u u u u u u u u make_unit (energy, mJ, u *1e-3) make_unit(energy
 
u u u u u u u u u u u u u u u u u u u u u u u u u u u * make_unit (energy, nJ, u *1e-9) make_unit(energy
 
u u u u u u u u u u u u u u u u u u u u u u u u u u u u * make_unit (energy, eV, u *1.602176565e-19) make_unit(solid_angle
 
u u u u u u u u u u u u u u u u u u u u u u u u u u u u u make_unit (power, MW, u *1e6) make_unit(power
 
u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u * make_unit (power, W, u) make_unit(power
 
u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u * make_unit (power, uW, u *1e-6) namespace mechanical
 

Variables

 kg
 
mg
 
u u m
 
u u u mm
 
u u u u nm
 
u u u u u day
 
u u u u u u min
 
u u u u u u u ms
 
u u u u u u u u ns
 
u u u u u u u u u fs
 
u u u u u u u u u u C
 
u u u u u u u u u u u Amp
 
u u u u u u u u u u u u cd
 
u u u u u u u u u u u u u nibble
 
u u u u u u u u u u u u u u KB
 
u u u u u u u u u u u u u u u GB
 
u u u u u u u u u u u u u u u u PB
 
u u u u u u u u u u u u u u u u u Hz
 
u u u u u u u u u u u u u u u u u u G
 
u u u u u u u u u u u u u u u u u u u N
 
u u u u u u u u u u u u u u u u u u u u uN
 
u u u u u u u u u u u u u u u u u u u u u pN
 
u u u u u u u u u u u u u u u u u u u u u u MPa
 
u u u u u u u u u u u u u u u u u u u u u u u Pa
 
u u u u u u u u u u u u u u u u u u u u u u u u MJ
 
u u u u u u u u u u u u u u u u u u u u u u u u u J
 
u u u u u u u u u u u u u u u u u u u u u u u u u u uJ
 
u u u u u u u u u u u u u u u u u u u u u u u u u u u pJ
 
u u u u u u u u u u u u u u u u u u u u u u u u u u u u sr
 
u u u u u u u u u u u u u u u u u u u u u u u u u u u u u kW
 
u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u mW
 

Typedef Documentation

◆ acceleration

using mui::dim::acceleration = typedef decltype( velocity() / time() )

◆ amount

using mui::dim::amount = typedef dim<0,0,0,0,1,0,0,0>

◆ angle

using mui::dim::angle = typedef decltype( length() / length() )

◆ area

using mui::dim::area = typedef decltype( length() * length() )

◆ current

using mui::dim::current = typedef dim<0,0,0,0,0,1,0,0>

◆ energy

using mui::dim::energy = typedef decltype( force() * length() )

◆ force

using mui::dim::force = typedef decltype( mass() * acceleration() )

◆ frequency

using mui::dim::frequency = typedef decltype( 1.0 / time() )

◆ information

using mui::dim::information = typedef dim<0,0,0,0,0,0,0,1>

◆ length

using mui::dim::length = typedef dim<0,1,0,0,0,0,0,0>

◆ luminos

using mui::dim::luminos = typedef dim<0,0,0,0,0,0,1,0>

◆ mass

using mui::dim::mass = typedef dim<1,0,0,0,0,0,0,0>

◆ power

using mui::dim::power = typedef decltype( energy() / time() )

◆ pressure

using mui::dim::pressure = typedef decltype( force() / area() )

◆ solid_angle

using mui::dim::solid_angle = typedef decltype( area() / area() )

◆ temperature

using mui::dim::temperature = typedef dim<0,0,0,1,0,0,0,0>

◆ time

using mui::dim::time = typedef dim<0,0,1,0,0,0,0,0>

◆ velocity

using mui::dim::velocity = typedef decltype( length() / time() )

Function Documentation

◆ make_unit() [1/32]

u u u u u u u u u u u mui::dim::make_unit ( amount  ,
mol  ,
u *6.  02214178999999989284864e23 
)

◆ make_unit() [2/32]

u u u u u u u u u u u u u u u u u* mui::dim::make_unit ( angle  ,
rad  ,
 
)

◆ make_unit() [3/32]

u u u u u u u u u u u u mui::dim::make_unit ( current  ,
mAmp  ,
u *1e-  3 
)

◆ make_unit() [4/32]

u u u u u u u u u u u u u u u u u u u u u u u u u u u u* mui::dim::make_unit ( energy  ,
eV  ,
u *1.602176565e-  19 
)

◆ make_unit() [5/32]

u u u u u u u u u u u u u u u u u u u u u u u u mui::dim::make_unit ( energy  ,
GJ  ,
u *  1e9 
)

◆ make_unit() [6/32]

u u u u u u u u u u u u u u u u u u u u u u u u u* mui::dim::make_unit ( energy  ,
kJ  ,
u *  1e3 
)

◆ make_unit() [7/32]

u u u u u u u u u u u u u u u u u u u u u u u u u u mui::dim::make_unit ( energy  ,
mJ  ,
u *1e-  3 
)

◆ make_unit() [8/32]

u u u u u u u u u u u u u u u u u u u u u u u u u u u* mui::dim::make_unit ( energy  ,
nJ  ,
u *1e-  9 
)

◆ make_unit() [9/32]

u u u u u u u u u u u u u u u u u u u* mui::dim::make_unit ( force  ,
kN  ,
u *  1e3 
)

◆ make_unit() [10/32]

u u u u u u u u u u u u u u u u u u u u mui::dim::make_unit ( force  ,
mN  ,
u *1e-  3 
)

◆ make_unit() [11/32]

u u u u u u u u u u u u u u u u u u u u u* mui::dim::make_unit ( force  ,
nN  ,
u *1e-  9 
)

◆ make_unit() [12/32]

u u u u u u u u u u u u u mui::dim::make_unit ( information  ,
bit  ,
u *0.  125 
)

◆ make_unit() [13/32]

u u u u u u u u u u u u u u* mui::dim::make_unit ( information  ,
byte  ,
 
)

◆ make_unit() [14/32]

u u u u u u u u u u u u u u u* mui::dim::make_unit ( information  ,
MB  ,
u *  1e6 
)

◆ make_unit() [15/32]

u u u u u u u u u u u u u u u u* mui::dim::make_unit ( information  ,
TB  ,
u *  1e12 
)

◆ make_unit() [16/32]

u u u u u* mui::dim::make_unit ( length  ,
Angstrom  ,
u *1e-  10 
)

◆ make_unit() [17/32]

u u u mui::dim::make_unit ( length  ,
cm  ,
u *1e-  2 
)

◆ make_unit() [18/32]

u u* mui::dim::make_unit ( length  ,
km  ,
u *  1e3 
)

◆ make_unit() [19/32]

u u u u* mui::dim::make_unit ( length  ,
um  ,
u *1e-  6 
)

◆ make_unit() [20/32]

u mui::dim::make_unit ( mass  ,
,
u *1e-  3 
)

◆ make_unit() [21/32]

mui::dim::make_unit ( mass  ,
ton  ,
u *  1e3 
)

◆ make_unit() [22/32]

u u u u u u u u u u u u u u u u u u u u u u u u u u u u u mui::dim::make_unit ( power  ,
MW  ,
u *  1e6 
)

◆ make_unit() [23/32]

u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u* mui::dim::make_unit ( power  ,
uW  ,
u *1e-  6 
)

◆ make_unit() [24/32]

u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u* mui::dim::make_unit ( power  ,
,
 
)

◆ make_unit() [25/32]

u u u u u u u u u u u u u u u u u u u u u u* mui::dim::make_unit ( pressure  ,
GPa  ,
u *  1e9 
)

◆ make_unit() [26/32]

u u u u u u u u u u u u u u u u u u u u u u u* mui::dim::make_unit ( pressure  ,
kPa  ,
u *  1e3 
)

◆ make_unit() [27/32]

u u u u u u u u u u* mui::dim::make_unit ( temperature  ,
,
 
)

◆ make_unit() [28/32]

u u u u u u* mui::dim::make_unit ( time  ,
hr  ,
u *3600.  0 
)

◆ make_unit() [29/32]

u u u u u u u u u* mui::dim::make_unit ( time  ,
ps  ,
u *1e-  12 
)

◆ make_unit() [30/32]

u u u u u u u* mui::dim::make_unit ( time  ,
,
 
)

◆ make_unit() [31/32]

u u u u u u u u* mui::dim::make_unit ( time  ,
us  ,
u *1e-  6 
)

◆ make_unit() [32/32]

u u u u u u u u u u u u u u u u u u mui::dim::make_unit ( velocity  ,
kmph  ,
u *  1000.0/3600.0 
)

◆ operator""_deg() [1/2]

angle mui::dim::operator""_deg ( long double  u)
inline

◆ operator""_deg() [2/2]

angle mui::dim::operator""_deg ( unsigned long long  u)
inline

◆ operator*() [1/4]

template<int... MLTTAELI>
dim<MLTTAELI...> mui::dim::operator* ( const dim< MLTTAELI... > &  u,
const double  f 
)
inline

◆ operator*() [2/4]

template<int... MLTTAELI>
double mui::dim::operator* ( const dim< MLTTAELI... > &  u1,
const dim<-MLTTAELI... > &  u2 
)
inline

◆ operator*() [3/4]

template<int... MLTTAELI1, int... MLTTAELI2>
dim<(MLTTAELI1+MLTTAELI2)...> mui::dim::operator* ( const dim< MLTTAELI1... > &  u1,
const dim< MLTTAELI2... > &  u2 
)
inline

◆ operator*() [4/4]

template<int... MLTTAELI>
dim<MLTTAELI...> mui::dim::operator* ( const double  f,
const dim< MLTTAELI... > &  u 
)
inline

◆ operator+() [1/2]

template<int... MLTTAELI>
dim<MLTTAELI...> mui::dim::operator+ ( const dim< MLTTAELI... > &  d1,
const dim< MLTTAELI... > &  d2 
)
inline

◆ operator+() [2/2]

template<int... MLTTAELI1, int... MLTTAELI2>
class Cannot_Add_Values_With_Mismatching_Dimensionality mui::dim::operator+ ( const dim< MLTTAELI1... > &  d1,
const dim< MLTTAELI2... > &  d2 
)
inline

◆ operator-() [1/3]

template<int... MLTTAELI>
dim<MLTTAELI...> mui::dim::operator- ( const dim< MLTTAELI... > &  d)
inline

◆ operator-() [2/3]

template<int... MLTTAELI>
dim<MLTTAELI...> mui::dim::operator- ( const dim< MLTTAELI... > &  d1,
const dim< MLTTAELI... > &  d2 
)
inline

◆ operator-() [3/3]

template<int... MLTTAELI1, int... MLTTAELI2>
class Cannot_Subtract_Values_With_Mismatching_Dimensionality mui::dim::operator- ( const dim< MLTTAELI1... > &  d1,
const dim< MLTTAELI2... > &  d2 
)
inline

◆ operator/() [1/4]

template<int... MLTTAELI>
dim<MLTTAELI...> mui::dim::operator/ ( const dim< MLTTAELI... > &  u,
const double  f 
)
inline

◆ operator/() [2/4]

template<int... MLTTAELI>
double mui::dim::operator/ ( const dim< MLTTAELI... > &  u1,
const dim< MLTTAELI... > &  u2 
)
inline

◆ operator/() [3/4]

template<int... MLTTAELI1, int... MLTTAELI2>
dim<(MLTTAELI1-MLTTAELI2)...> mui::dim::operator/ ( const dim< MLTTAELI1... > &  u1,
const dim< MLTTAELI2... > &  u2 
)
inline

◆ operator/() [4/4]

template<int... MLTTAELI>
dim<-MLTTAELI...> mui::dim::operator/ ( const double  f,
const dim< MLTTAELI... > &  u 
)
inline

Variable Documentation

◆ Amp

u u u u u u u u u u u mui::dim::Amp

◆ C

u u u u u u u u u u mui::dim::C

◆ cd

u u u u u u u u u u u u mui::dim::cd

◆ day

u u u u u mui::dim::day

◆ fs

u u u u u u u u u mui::dim::fs

◆ G

u u u u u u u u u u u u u u u u u u mui::dim::G

◆ GB

u u u u u u u u u u u u u u u mui::dim::GB

◆ Hz

u u u u u u u u u u u u u u u u u mui::dim::Hz

◆ J

u u u u u u u u u u u u u u u u u u u u u u u u u mui::dim::J

◆ KB

u u u u u u u u u u u u u u mui::dim::KB

◆ kg

mui::dim::kg

◆ kW

u u u u u u u u u u u u u u u u u u u u u u u u u u u u u mui::dim::kW

◆ m

u u mui::dim::m

◆ mg

u mui::dim::mg

◆ min

u u u u u u mui::dim::min

◆ MJ

u u u u u u u u u u u u u u u u u u u u u u u u mui::dim::MJ

◆ mm

u u u mui::dim::mm

◆ MPa

u u u u u u u u u u u u u u u u u u u u u u mui::dim::MPa

◆ ms

u u u u u u u mui::dim::ms

◆ mW

u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u mui::dim::mW

◆ N

u u u u u u u u u u u u u u u u u u u mui::dim::N

◆ nibble

u u u u u u u u u u u u u mui::dim::nibble

◆ nm

u u u u mui::dim::nm

◆ ns

u u u u u u u u mui::dim::ns

◆ Pa

u u u u u u u u u u u u u u u u u u u u u u u mui::dim::Pa

◆ PB

u u u u u u u u u u u u u u u u mui::dim::PB

◆ pJ

u u u u u u u u u u u u u u u u u u u u u u u u u u u mui::dim::pJ

◆ pN

u u u u u u u u u u u u u u u u u u u u u mui::dim::pN

◆ sr

u u u u u u u u u u u u u u u u u u u u u u u u u u u u mui::dim::sr

◆ uJ

u u u u u u u u u u u u u u u u u u u u u u u u u u mui::dim::uJ

◆ uN

u u u u u u u u u u u u u u u u u u u u mui::dim::uN