Program Listing for File constants.hpp¶
↰ Return to documentation for file (src/include/constants.hpp)
#ifndef SRC_INCLUDE_CONSTANTS_HPP
#define SRC_INCLUDE_CONSTANTS_HPP
namespace PhysicalConstants {
const double g = 9.8321849378;
const double sigma = 5.670374419e-8;
const double vonKarman = 0.4;
const double omega = 7.2921158e-5;
const double Tt = 273.16;
const double tau = 6.28318530717958647652;
}
namespace Ice {
const double cp = 2100.;
const double epsilon = 0.996;
const double kappa = 2.0334;
const double Lf = 333.55e3;
const double rho = 917;
const double rhoSnow = 330.;
const double s = 5;
const double Tm = 273.15;
}
namespace Air {
const double cp = 1004.64;
const double Ra = 287.058;
const double rho = 1.2754;
}
namespace Vapour {
const double cp = 1860.;
const double Lv0 = 2500.79e3;
const double Ra = 461.5;
}
namespace Water {
const double cp = 4186.84;
const double Lf = Ice::Lf;
const double Lv0 = Vapour::Lv0;
const double mu = 0.055;
const double rho = 1000;
const double rhoOcean = 1025;
const double Tf = Ice::Tm;
const double TfOcean = -1.8;
}
namespace Nextsim {
inline double kelvin(double celsius) { return celsius + Water::Tf; }
inline double celsius(double kelvin) { return kelvin - Water::Tf; }
inline double degrees(double radians) { return radians * 360 / PhysicalConstants::tau; }
inline double radians(double degrees) { return degrees * PhysicalConstants::tau / 360; }
inline double mbar(double pascals) { return pascals / 100; }
inline double pascals(double mbar) { return mbar * 100; }
}
#endif /* SRC_INCLUDE_CONSTANTS_HPP */