public static double ToKelvin(double srcValue, TemperatureRepresentation srcUnit) { switch (srcUnit) { case TemperatureRepresentation.DegreeCelsius: return(273.15 + srcValue); case TemperatureRepresentation.DegreeFahrenheit: return(ZeroDegreeFahrenheitAsKelvin + srcValue * KelvinPerDegreeFahrenheit); case TemperatureRepresentation.AsInverseKelvin: return(1 / srcValue); case TemperatureRepresentation.Kelvin: return(srcValue); case TemperatureRepresentation.AsEnergyJoule: return(srcValue / SIConstants.BOLTZMANN); case TemperatureRepresentation.AsEnergyJoulePerMole: return(srcValue / SIConstants.MOLAR_GAS); default: throw new ArgumentOutOfRangeException("TemperatureUnit is unknown: " + srcUnit.ToString()); } }
public static double FromKelvinTo(double srcValueInKelvin, TemperatureRepresentation destinationUnit) { switch (destinationUnit) { case TemperatureRepresentation.DegreeCelsius: return(srcValueInKelvin - ZeroDegreeCelsiusAsKelvin); case TemperatureRepresentation.DegreeFahrenheit: return((srcValueInKelvin - ZeroDegreeFahrenheitAsKelvin) * DegreeFahrenheitPerKelvin); case TemperatureRepresentation.AsInverseKelvin: return(1 / srcValueInKelvin); case TemperatureRepresentation.Kelvin: return(srcValueInKelvin); case TemperatureRepresentation.AsEnergyJoule: return(srcValueInKelvin * SIConstants.BOLTZMANN); case TemperatureRepresentation.AsEnergyJoulePerMole: return(srcValueInKelvin * SIConstants.MOLAR_GAS); default: throw new ArgumentOutOfRangeException("TemperatureUnit is unknown: " + destinationUnit.ToString()); } }
public static double FromTo(double srcValue, TemperatureRepresentation srcUnit, TemperatureRepresentation destUnit) { if (srcUnit == destUnit) { return(srcValue); } else { return(FromKelvinTo(ToKelvin(srcValue, srcUnit), destUnit)); } }
public Temperature ConvertTo(TemperatureRepresentation destUnit) { return(new Temperature(FromTo(_value, _unit, destUnit), destUnit)); }
public double InUnitsOf(TemperatureRepresentation destUnit) { return(FromTo(_value, _unit, destUnit)); }
public Temperature(double value, TemperatureRepresentation unit) { _unit = unit; _value = value; }
/// <summary> /// Returns the energy corresponding to the provided temperature in Joule. /// </summary> /// <param name="srcValue">Temperature value.</param> /// <param name="srcUnit">Temperature unit.</param> /// <returns>Energy kB*T in Joule, where kB is the BOLTZMANN constant and T the temperature in Kelvin.</returns> public static double ToEnergySI(double srcValue, TemperatureRepresentation srcUnit) { return(ToKelvin(srcValue, srcUnit) * SIConstants.BOLTZMANN); }
public double InUnitsOf(TemperatureRepresentation destUnit) { return FromTo(_value, _unit, destUnit); }
public Temperature ConvertTo(TemperatureRepresentation destUnit) { return new Temperature(FromTo(_value, _unit, destUnit), destUnit); }
/// <summary> /// Returns the energy corresponding to the provided temperature in Joule. /// </summary> /// <param name="srcValue">Temperature value.</param> /// <param name="srcUnit">Temperature unit.</param> /// <returns>Energy kB*T in Joule, where kB is the BOLTZMANN constant and T the temperature in Kelvin.</returns> public static double ToEnergySI(double srcValue, TemperatureRepresentation srcUnit) { return ToKelvin(srcValue, srcUnit) * SIConstants.BOLTZMANN; }
public static double FromTo(double srcValue, TemperatureRepresentation srcUnit, TemperatureRepresentation destUnit) { if (srcUnit == destUnit) return srcValue; else return FromKelvinTo(ToKelvin(srcValue, srcUnit), destUnit); }
public static double FromKelvinTo(double srcValueInKelvin, TemperatureRepresentation destinationUnit) { switch (destinationUnit) { case TemperatureRepresentation.DegreeCelsius: return srcValueInKelvin - ZeroDegreeCelsiusAsKelvin; case TemperatureRepresentation.DegreeFahrenheit: return (srcValueInKelvin - ZeroDegreeFahrenheitAsKelvin) * DegreeFahrenheitPerKelvin; case TemperatureRepresentation.AsInverseKelvin: return 1 / srcValueInKelvin; case TemperatureRepresentation.Kelvin: return srcValueInKelvin; case TemperatureRepresentation.AsEnergyJoule: return srcValueInKelvin * SIConstants.BOLTZMANN; case TemperatureRepresentation.AsEnergyJoulePerMole: return srcValueInKelvin * SIConstants.MOLAR_GAS; default: throw new ArgumentOutOfRangeException("TemperatureUnit is unknown: " + destinationUnit.ToString()); } }
public static double ToKelvin(double srcValue, TemperatureRepresentation srcUnit) { switch (srcUnit) { case TemperatureRepresentation.DegreeCelsius: return 273.15 + srcValue; case TemperatureRepresentation.DegreeFahrenheit: return ZeroDegreeFahrenheitAsKelvin + srcValue * KelvinPerDegreeFahrenheit; case TemperatureRepresentation.AsInverseKelvin: return 1 / srcValue; case TemperatureRepresentation.Kelvin: return srcValue; case TemperatureRepresentation.AsEnergyJoule: return srcValue / SIConstants.BOLTZMANN; case TemperatureRepresentation.AsEnergyJoulePerMole: return srcValue / SIConstants.MOLAR_GAS; default: throw new ArgumentOutOfRangeException("TemperatureUnit is unknown: " + srcUnit.ToString()); } }