public AntoinesCoefficientsExt(double c1, double c2, double c3, double c4, double c5, double c6, double c7, double c8, double c9, PressureUnits pu, TemperatureUnits tu) { m_pu = pu; m_tu = tu; m_c1 = c1; m_c2 = c2; if (!double.IsNaN(c3)) { m_c3 = c3; } if (!double.IsNaN(c4)) { m_c4 = c4; } if (!double.IsNaN(c5)) { m_c5 = c5; } if (!double.IsNaN(c6)) { m_c6 = c6; } if (!double.IsNaN(c7)) { m_c7 = c7; } if (!double.IsNaN(c8)) { m_c8 = c8; } if (!double.IsNaN(c9)) { m_c9 = c9; } }
public AntoinesCoefficientsExt() { m_pu = PressureUnits.mmHg; m_tu = TemperatureUnits.Celsius; m_c1 = Double.NaN; m_c2 = Double.NaN; }
public PressureSensor(PressureConsumer consumer, string UniqueName) : base(UniqueName) { this.consumer = consumer; this.Title = "Pressure"; this.consumer.SessionLost += Consumer_SessionLost; this.Units = PressureUnits.kPa; }
public double GetPressure(double temperature, TemperatureUnits tu, PressureUnits resultUnits) { temperature = ConvertTemperature(temperature, tu, m_tu); double pressure = Math.Pow(10, (A - (B / (temperature + C)))); return(ConvertPressure(pressure, m_pu, resultUnits)); }
public AntoinesCoefficientsExt(double c1, double c2, PressureUnits pu, TemperatureUnits tu) { m_pu = pu; m_tu = tu; m_c1 = c1; m_c2 = c2; }
public double GetTemperature(double pressure, PressureUnits pu, TemperatureUnits resultUnits) { pressure = ConvertPressure(pressure, pu, m_pu); double temperature = B / (A - Math.Log10(pressure)) - C; return(ConvertTemperature(temperature, m_tu, resultUnits)); }
public AntoinesCoefficients3Impl(double a, double b, double c, PressureUnits spu, TemperatureUnits stu) { m_a = a; m_b = b; m_c = c; m_pu = PressureUnits.mmHg; m_tu = TemperatureUnits.Celsius; }
public AntoinesCoefficients3Impl() { m_a = Double.NaN; m_b = Double.NaN; m_c = Double.NaN; m_pu = PressureUnits.mmHg; m_tu = TemperatureUnits.Celsius; }
public static List<WeatherDetail> GetDetails (WuLocation location, TemperatureUnits temp, SpeedUnits speed, LengthUnits length, DistanceUnits distance, PressureUnits pressure) { var list = new List<WeatherDetail> (); for (int i = 0; i < Count; i++) list.Add (GetDetail (i, location, temp, speed, length, distance, pressure)); return list; }
public static WeatherDetail GetDetail (int row, WuLocation location, TemperatureUnits temp, SpeedUnits speed, LengthUnits length, DistanceUnits distance, PressureUnits pressure) { return new WeatherDetail { DetailLabel = GetLabel (row), DetailValue = GetValue (row, location, temp, speed, length, distance, pressure), IsSectionTop = IsSectionTop (row) }; }
private string GetPressureText(Pressure pressure, PressureUnits units) { if (pressure == null) { return(String.Empty); } return(units == PressureUnits.PN ? pressure.Pn : pressure.Pclass); }
private void tscombUnits_TextChanged(object sender, EventArgs e) { // останавливаем таймер для предотвращения скачков на графике из-за смены едениц давления ticker.Stop(); Cursor.Current = Cursors.WaitCursor; PressureUnits oldUnits = progState.CurrentPUnits; // меняем текущие единицы давления progState.CurrentPUnits = PUnitConverter.StringToPUnit(tscombUnits.Text); // обновляем количество знаков для округления progState.RoundDefine(); // меняем единицы давления на форме CurrentP = PUnitConverter.ConvertP(CurrentP, oldUnits, progState.CurrentPUnits); tbCurrentP.Text = Math.Round(CurrentP, progState.RoundToDigits).ToString(); CurrentSetpt = PUnitConverter.ConvertP(CurrentSetpt, oldUnits, progState.CurrentPUnits); tbSetP.Text = Math.Round(CurrentSetpt, progState.RoundToDigits).ToString(); progState.CurrentBarometricP = PUnitConverter.ConvertP(progState.CurrentBarometricP, oldUnits, progState.CurrentPUnits); try { // меняем единицы задатчика давления if (CurrentDPI != null) { CurrentDPI.SelectUnits(progState.CurrentPUnits); // перечитываем строку параметров tstbControllerParameters.Text = CurrentDPI.GetParameterString(); } // меняем параметры графика zgGraph.GraphPane.YAxis.Title.Text = string.Format("P, {0}", PUnitConverter.PUnitToString(progState.CurrentPUnits)); // преобразуем точки графика к новым единицам давления for (int i = 0; i < GraphPoints.Count; i++) { GraphPoints[i].Y = PUnitConverter.ConvertP(GraphPoints[i].Y, oldUnits, progState.CurrentPUnits); } zgGraph.AxisChange(); zgGraph.Invalidate(); } catch (Exception exp) { MessageBox.Show(exp.Message, "Ошибка!", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } // вызываем событие для других классов PUnitsChangedEventArgs pArgs = new PUnitsChangedEventArgs(oldUnits); OnPUnitsChanged?.Invoke(this, pArgs); Cursor.Current = Cursors.Default; ticker.Start(); }
/// <summary> /// Конструктор копирования /// </summary> /// <param name="ps"></param> public ProgramState(ProgramState ps) { CurrentPUnits = ps.CurrentPUnits; CurrentBarometricP = ps.CurrentBarometricP; CurrentSetptPrecision = ps.CurrentSetptPrecision; SetptDelay = ps.SetptDelay; ReadPInterval = ps.ReadPInterval; CurrentMode = ps.CurrentMode; TimeLength = ps.TimeLength; PIsAbsolute = ps.PIsAbsolute; RoundToDigits = ps.RoundToDigits; }
public double GetPressure(double temperature, TemperatureUnits tu, PressureUnits resultUnits) { double retval = double.NaN; temperature = ConvertTemperature(temperature, tu, TemperatureUnits.Kelvin); if (IsSufficientlySpecified(temperature)) { double pressure = Math.Exp(C1 + (C2 / (temperature + C3)) + (C4 * temperature) + (C5 * Math.Log(temperature, Math.E)) + (C6 * Math.Pow(temperature, C7))); retval = ConvertPressure(pressure, PressureUnits.Pascals, resultUnits); } return(retval); }
public static string GetUnitSymbol(PressureUnits units) { switch (units) { case PressureUnits.Kpa: return(" KPa"); case PressureUnits.Atmosphere: return(" ATM"); case PressureUnits.Bar: return("Bar"); case PressureUnits.Psi: return("Psi"); } throw new ArgumentException("Unable to return symbol fir" + units.ToString()); }
public double GetValueInUnits(PressureUnits units) { switch (units) { case PressureUnits.Kpa: return(InKpa); case PressureUnits.Atmosphere: return(InAtmospheres); case PressureUnits.Bar: return(InBars); case PressureUnits.Psi: return(InPsi); } throw new ArgumentException("Unable to return value in" + units.ToString()); }
public string GetValueInUnits(PressureUnits units, int decimalPlaces) { switch (units) { case PressureUnits.Kpa: return(InKpa.ToString($"F{decimalPlaces}")); case PressureUnits.Atmosphere: return(InAtmospheres.ToString($"F{decimalPlaces}")); case PressureUnits.Bar: return(InBars.ToString($"F{decimalPlaces}")); case PressureUnits.Psi: return(InPsi.ToString($"F{decimalPlaces}")); } throw new ArgumentException("Unable to return value in" + units.ToString()); }
private double ConvertPressure(double pressure, PressureUnits srcUnits, PressureUnits resultUnits) { if (srcUnits != resultUnits) { switch (srcUnits) // Convert it to mmHg : ref: http://physics.nist.gov/Pubs/SP811/appenB9.html#PRESSURE { case PressureUnits.Bar: pressure *= (133.3224 /*mmHg-per-Pascal*/ / 100000 /*Bar-per-Pascal*/); break; case PressureUnits.mmHg: break; case PressureUnits.Atm: pressure *= (101325 /*Atm-per-Pascal*/ / 133.3224 /*mmHg-per-Pascal*/); break; case PressureUnits.Pascals: pressure /= 133.3224 /*mmHg-per-Pascal*/; break; } switch (resultUnits) // Convert it from mmHg { case PressureUnits.Bar: pressure /= (133.3224 /*mmHg-per-Pascal*/ / 100000 /*Bar-per-Pascal*/); break; case PressureUnits.mmHg: break; case PressureUnits.Atm: pressure /= (101325 /*Atm-per-Pascal*/ / 133.3224 /*mmHg-per-Pascal*/); break; case PressureUnits.Pascals: pressure *= 133.3224 /*mmHg-per-Pascal*/; break; } } return(pressure); }
public static string GetValue (int row, WuLocation location, TemperatureUnits temp, SpeedUnits speed, LengthUnits length, DistanceUnits distance, PressureUnits pressure) { var conditions = location?.Conditions; if (conditions == null) return string.Empty; switch (row) { case 0: return conditions.FeelsLikeString (temp, true, true); case 1: return location.SunriseString (); case 2: return location.SunsetString (); case 3: return location.ProbabilityPercipString (); case 4: return conditions.relative_humidity; case 5: return conditions.WindString (speed); case 6: return conditions.GustString (speed); case 7: return conditions.PrecipTodayString (length); case 8: return conditions.PressureString (pressure); case 9: return conditions.VisibilityString (distance); case 10: return location.Conditions.UV.ToString (); default: return string.Empty; } }
public static double Unit( [ExcelArgument("Value")] double value, [ExcelArgument("Previous unit", Name = "previous_Unit")] string _prevUnit, [ExcelArgument("New unit", Name = "new_Unit")] string _newUnit) { double prevUnit; double newUnit; if (ForceUnits.TryGetValue(_prevUnit, out prevUnit) && ForceUnits.TryGetValue(_newUnit, out newUnit)) { return(value * newUnit / prevUnit); } else if (LengthUnits.TryGetValue(_prevUnit, out prevUnit) && LengthUnits.TryGetValue(_newUnit, out newUnit)) { return(value * newUnit / prevUnit); } else if (AreaUnits.TryGetValue(_prevUnit, out prevUnit) && AreaUnits.TryGetValue(_newUnit, out newUnit)) { return(value * newUnit / prevUnit); } else if (MomentUnits.TryGetValue(_prevUnit, out prevUnit) && MomentUnits.TryGetValue(_newUnit, out newUnit)) { return(value * newUnit / prevUnit); } else if (PressureUnits.TryGetValue(_prevUnit, out prevUnit) && PressureUnits.TryGetValue(_newUnit, out newUnit)) { return(value * newUnit / prevUnit); } else { return(double.NaN); } }
static string getUnitString(this PressureUnits unit) => unit.IsImperial() ? "inHg" : "mb";
public double GetTemperature(double pressure, PressureUnits pu, TemperatureUnits resultUnits) { throw new NotImplementedException(); }
public static double Pressure (this CurrentObservation observation, PressureUnits units, bool round = false) => getValueInUnits (units, observation?.pressure_in, observation?.pressure_mb, round);
static double getValueInUnits (PressureUnits units, double? imperial, double? metric, bool round = false) => getValueInUnits (units.IsImperial (), imperial, metric, round);
public static string PressureString (this CurrentObservation observation, PressureUnits units, bool round = false) => getValueStringInUnits (observation.Pressure (units, round), units);
/// <summary> /// Computes and returns the vapor pressure of the specified material type in the /// mixture at the given temperature and pressure. The returned value is expressed /// in millimeters of mercury. /// </summary> /// <param name="mt">The material type of interest.</param> /// <param name="temperature">The temperature of the mixture and free space, in degrees Kelvin.</param> /// <param name="srcUnits">The SRC units.</param> /// <param name="resultUnits">The result units.</param> /// <returns> /// Vapor Pressure in millimeters of Mercury. /// </returns> public static double ComputeVaporPressure(MaterialType mt, double temperature, TemperatureUnits srcUnits, PressureUnits resultUnits) { double vprl = mt.AntoinesLawCoefficientsExt.GetPressure(temperature, srcUnits, resultUnits); if (double.IsNaN(vprl)) { vprl = mt.AntoinesLawCoefficients3.GetPressure(temperature, srcUnits, resultUnits); } return(vprl); }
static string getValueStringInUnits (double value, PressureUnits unit) => $"{value} {unit.getUnitString ()}";
protected Pressure(double value, PressureUnits units) { Value = value; Units = units; }
public Pressure ConvertToUnits(PressureUnits toUnits) { return(new Pressure(this, toUnits)); }
public static double Pressure(this CurrentObservation observation, PressureUnits units, bool round = false) => getValueInUnits(units, observation?.pressure_in, observation?.pressure_mb, round);
protected Pressure(Pressure fromPressure, PressureUnits units) : this(fromPressure.Value.ConvertUnits(fromPressure.Units, units), units) { }
public PUnitsChangedEventArgs(PressureUnits pUnits) { oldUnits = pUnits; }
static bool IsImperial(this PressureUnits unit) => unit == PressureUnits.InchesOfMercury;
public static string PressureString(this CurrentObservation observation, PressureUnits units, bool round = false) => getValueStringInUnits(observation.Pressure(units, round), units);
static double getValueInUnits(PressureUnits units, double?imperial, double?metric, bool round = false) => getValueInUnits(units.IsImperial(), imperial, metric, round);
//Method for laoding units into combo boxes private void UnitsLoading(string SelectedOp) { try { if (units == null) { } else { units.Clear(); if (unitsMults == null) { } else { unitsMults.Clear(); } } units = new List <string>(); unitsMults = new List <string>(); switch (SelectedOp) { case "Length": { LengthUnits unit = new LengthUnits(); MetersMults mults = new MetersMults(); var units2 = Enum.GetValues(unit.GetType()); var multiples = Enum.GetValues(mults.GetType()); foreach (var item in units2) { units.Add(item.ToString()); } foreach (var item in multiples) { unitsMults.Add(item.ToString()); } break; } case "Mass and Weight": { MassUnits unit = new MassUnits(); KilogMults mults = new KilogMults(); var multiples = Enum.GetValues(mults.GetType()); var units2 = Enum.GetValues(unit.GetType()); foreach (var item in units2) { units.Add(item.ToString()); } foreach (var item in multiples) { unitsMults.Add(item.ToString()); } break; } case "Power": { PowerUnits unit = new PowerUnits(); WattMults mults = new WattMults(); var multiples = Enum.GetValues(mults.GetType()); var units2 = Enum.GetValues(unit.GetType()); foreach (var item in units2) { units.Add(item.ToString()); } foreach (var item in multiples) { unitsMults.Add(item.ToString()); } break; } case "Pressure": { PressureUnits unit = new PressureUnits(); PascaMults mults = new PascaMults(); var multiples = Enum.GetValues(mults.GetType()); var units2 = Enum.GetValues(unit.GetType()); foreach (var item in units2) { units.Add(item.ToString()); } foreach (var item in multiples) { unitsMults.Add(item.ToString()); } break; } case "Energy": { EnergyUnits unit = new EnergyUnits(); JouleMults mults = new JouleMults(); var multiples = Enum.GetValues(mults.GetType()); var units2 = Enum.GetValues(unit.GetType()); foreach (var item in units2) { units.Add(item.ToString()); } foreach (var item in multiples) { unitsMults.Add(item.ToString()); } break; } case "Temperature": { TemperatureUnits unit = new TemperatureUnits(); var units2 = Enum.GetValues(unit.GetType()); foreach (var item in units2) { units.Add(item.ToString()); } unitsMults.Add("Temperature doesn't have Multiples\n Please choose other option"); break; } case "Volume": { VolumeUnits unit = new VolumeUnits(); M3Mults mults = new M3Mults(); var multiples = Enum.GetValues(mults.GetType()); var units2 = Enum.GetValues(unit.GetType()); foreach (var item in units2) { units.Add(item.ToString()); } foreach (var item in multiples) { unitsMults.Add(item.ToString()); } break; } case "Angle": { AngleUnits unit = new AngleUnits(); var units2 = Enum.GetValues(unit.GetType()); foreach (var item in units2) { units.Add(item.ToString()); } unitsMults.Add("Angle doesn't have Multiples\n Please choose other option"); break; } case "Area": { AreaUnits unit = new AreaUnits(); MetersqrMults mults = new MetersqrMults(); var multiples = Enum.GetValues(mults.GetType()); var units2 = Enum.GetValues(unit.GetType()); foreach (var item in units2) { units.Add(item.ToString()); } foreach (var item in multiples) { unitsMults.Add(item.ToString()); } break; } case "Speed": { SpeedUnits unit = new SpeedUnits(); MPSMults mults = new MPSMults(); var multiples = Enum.GetValues(mults.GetType()); var units2 = Enum.GetValues(unit.GetType()); foreach (var item in units2) { units.Add(item.ToString()); } foreach (var item in multiples) { unitsMults.Add(item.ToString()); } break; } case "Time": { TimeUnits unit = new TimeUnits(); var units2 = Enum.GetValues(unit.GetType()); foreach (var item in units2) { units.Add(item.ToString()); } unitsMults.Add("Time doesn't have Multiples\n Please choose other option"); break; } } Fromcombo.Items.Clear(); ToCombo.Items.Clear(); MultsFromcombo.Items.Clear(); MultsTocombo.Items.Clear(); foreach (var v in units) { ComboBoxItem boxItem = new ComboBoxItem(); boxItem.Background = new SolidColorBrush(Color.FromArgb(System.Convert.ToByte(255), System.Convert.ToByte(40), System.Convert.ToByte(40), System.Convert.ToByte(40))); boxItem.Foreground = Brushes.Beige; boxItem.Opacity = 0.8; boxItem.BorderThickness = new Thickness(0.0); boxItem.Content = v; Fromcombo.Items.Add(boxItem); } foreach (var v in units) { ComboBoxItem boxItem = new ComboBoxItem(); boxItem.Background = new SolidColorBrush(Color.FromArgb(System.Convert.ToByte(255), System.Convert.ToByte(40), System.Convert.ToByte(40), System.Convert.ToByte(40))); boxItem.Foreground = Brushes.Beige; boxItem.Opacity = 0.8; boxItem.BorderThickness = new Thickness(0.0); boxItem.Content = v; ToCombo.Items.Add(boxItem); } foreach (var v in unitsMults) { ComboBoxItem boxItem = new ComboBoxItem(); boxItem.Background = new SolidColorBrush(Color.FromArgb(System.Convert.ToByte(255), System.Convert.ToByte(40), System.Convert.ToByte(40), System.Convert.ToByte(40))); boxItem.Foreground = Brushes.Beige; boxItem.Opacity = 0.8; boxItem.BorderThickness = new Thickness(0.0); boxItem.Content = v; MultsFromcombo.Items.Add(boxItem); } foreach (var v in unitsMults) { ComboBoxItem boxItem = new ComboBoxItem(); boxItem.Background = new SolidColorBrush(Color.FromArgb(System.Convert.ToByte(255), System.Convert.ToByte(40), System.Convert.ToByte(40), System.Convert.ToByte(40))); boxItem.Foreground = Brushes.Beige; boxItem.Opacity = 0.8; boxItem.BorderThickness = new Thickness(0.0); boxItem.Content = v; MultsTocombo.Items.Add(boxItem); } Fromcombo.SelectedIndex = 0; ToCombo.SelectedIndex = 0; MultsFromcombo.SelectedIndex = 0; MultsTocombo.SelectedIndex = 0; SelectedFrom = Fromcombo.SelectedItem.ToString().Remove(0, 38); SelectedTo = ToCombo.SelectedItem.ToString().Remove(0, 38); SelMultsFrom = MultsFromcombo.SelectedItem.ToString().Remove(0, 38); SelMultsTo = MultsTocombo.SelectedItem.ToString().Remove(0, 38); } catch (Exception ex) { MessageBox.Show("Error: " + ex.Message + "\nPlease Retry", "Loading-Content-Error"); } }
public static bool IsUndefinedOrNone(this PressureUnits value) { return(value == PressureUnits.Undefined || value == PressureUnits.None); }
static string getValueStringInUnits(double value, PressureUnits unit) => $"{value} {unit.getUnitString ()}";