示例#1
0
        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());
            }
        }
示例#2
0
        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());
            }
        }
示例#3
0
 public static double FromTo(double srcValue, TemperatureRepresentation srcUnit, TemperatureRepresentation destUnit)
 {
     if (srcUnit == destUnit)
     {
         return(srcValue);
     }
     else
     {
         return(FromKelvinTo(ToKelvin(srcValue, srcUnit), destUnit));
     }
 }
示例#4
0
 public Temperature ConvertTo(TemperatureRepresentation destUnit)
 {
     return(new Temperature(FromTo(_value, _unit, destUnit), destUnit));
 }
示例#5
0
 public double InUnitsOf(TemperatureRepresentation destUnit)
 {
     return(FromTo(_value, _unit, destUnit));
 }
示例#6
0
 public Temperature(double value, TemperatureRepresentation unit)
 {
     _unit  = unit;
     _value = value;
 }
示例#7
0
 /// <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);
 }
示例#8
0
		public double InUnitsOf(TemperatureRepresentation destUnit)
		{
			return FromTo(_value, _unit, destUnit);
		}
示例#9
0
		public Temperature ConvertTo(TemperatureRepresentation destUnit)
		{
			return new Temperature(FromTo(_value, _unit, destUnit), destUnit);
		}
示例#10
0
		public Temperature(double value, TemperatureRepresentation unit)
		{
			_unit = unit;
			_value = value;
		}
示例#11
0
		/// <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;
		}
示例#12
0
		public static double FromTo(double srcValue, TemperatureRepresentation srcUnit, TemperatureRepresentation destUnit)
		{
			if (srcUnit == destUnit)
				return srcValue;
			else
				return FromKelvinTo(ToKelvin(srcValue, srcUnit), destUnit);
		}
示例#13
0
		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());
			}
		}
示例#14
0
		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());
			}
		}