예제 #1
0
 public Druckverlust(
     double V, double d, double L, double k, double delta_h, double rho, double nu, double zeta_zu)
 {
     v      = calculate_Geschwindigkeit(V, d);
     lambda = new Rohrreibungsbeiwert(v, d, nu, k);
     value  = calculate_Druckverlust(rho, g, delta_h, lambda.value, L, d, zeta_zu, v);
 }
예제 #2
0
        public void iterate_lambda(double rho, double V, double L, double delta_p, double delta_h, double zeta_zu, double nu, double k)
        {
            bool   is_finished = false;
            double lambda      = 0;
            int    trials      = 0;
            int    max_trials  = 1000;

            while (!is_finished)
            {
                d = iterate_d(rho, V, L, delta_p, delta_h, zeta_zu, lambda_0);
                v = calculate_v(V, d);

                lambda = new Rohrreibungsbeiwert(v, d, nu, k).value;


                if (calculate_error_lambda(lambda, lambda_0) >= epsilon_lambda)
                {
                    lambda_0 = lambda;
                }
                else
                {
                    is_finished = true;
                }

                if (trials >= max_trials)
                {
                    is_finished = true;
                }
                trials++;
            }
        }