Beispiel #1
0
 public void ResetDefaults()
 {
     foreach (string n in nomi)
     {
         Dato x = (Dato)typeof(Colebrook).GetField(n).GetValue(this);
         x.Default();
     }
 }
Beispiel #2
0
        public bool Input(string name)
        {
            bool ok = false;

            if (nomi.Contains(name))
            {
                Dato x = (Dato)typeof(Colebrook).GetField(name).GetValue(this);
                ok = x.Get();
            }
            return(ok);
        }
Beispiel #3
0
        public bool Check(out string s)
        {
            bool          ok   = true;
            StringBuilder strb = new StringBuilder();

            foreach (string n in nomi)
            {
                Dato x = (Dato)typeof(Colebrook).GetField(n).GetValue(this);
                if (double.IsNaN(x.v) || double.IsInfinity(x.v))
                {
                    ok = false;
                    strb.Append(x.name + ", ");
                }
            }
            s = strb.ToString().Trim(new char[] { ' ', ',' });
            return(ok);
        }
Beispiel #4
0
        /// <summary>
        /// Costruttore
        /// </summary>
        public Colebrook()
        {
            nomi = new List <string>();
            foreach (FieldInfo inf in typeof(Colebrook).GetFields())
            {
                if (inf.FieldType == typeof(Dato))
                {
                    nomi.Add(inf.Name);
                }
            }
            Fa = new Dato(0, "Fattore di attrito []", "[]", 0.001, nameof(Fa));
            D  = new Dato(0, "Diametro interno", "[m]", 0.020, nameof(D), "[mm]", 0.001);
            ro = new Dato(0, "Densità", "[kg/m3]", 1000, nameof(ro));
            v  = new Dato(0, "Velocità", "[m/s]", 1, nameof(v));
            r  = new Dato(0, "Perdita di carico unitaria", "[Pa/m]", 0, nameof(r));
            e  = new Dato(0, "Rugosità", "[m]", 0.0001, nameof(e), "[mm]", 0.001);
            mu = new Dato(0, "Viscosità dinamica", "[Pa s]", 8.94e-4, nameof(mu));
            nu = new Dato(0, "Viscosità cinematica", "[m2/s]", 0, nameof(nu));
            Re = new Dato(0, "Numero di Reynolds", "[]", 2000, nameof(Re));
            eD = new Dato(0, "Rugosità relativa", "[]", 0.1, nameof(eD));

            ResetDefaults();
        }
Beispiel #5
0
        /// <summary>
        /// Stampa la variabile (lento, usa Reflection)
        /// </summary>
        /// <param name="name">Nome della variabile</param>
        /// <returns></returns>
        public void Print(string name)
        {
            Dato x = (Dato)typeof(Colebrook).GetField(name).GetValue(this);

            x.Print();
        }