Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private void Solve_Click(object sender, EventArgs e)
- {
- try
- {
- if (double.Parse(this.Angle.Text) < 30
- || double.Parse(this.Angle.Text) > 80)
- {
- MessageBox.Show("Podano nieprawidłową wartość kąta pochylenia płaszczyzny kolektora względem poziomu, proszę wprowadzić wartość z podanego zakresu (30-80 stopni)");
- }
- //DAL dal = new DAL();
- //var cities = dal.SelectCities();
- //var CitiesWithParameters = dal.SelectJoinedCityParameters(cities);
- Helper helper = new Helper();
- double Area = double.Parse(this.Area.Text);
- double Consumption = double.Parse(this.Consumption.Text);
- double Angle = double.Parse(this.Angle.Text);
- double Capacity = double.Parse(this.TankCapacity.Text);
- string CityName = this.CityNamesCB.SelectedText;
- double rd = SolveRd(SolveAngleRad(Angle));
- double Psi = SolvePsi(Area, Capacity);
- List<double> Xs = new List<double>();
- List<double> Ys = new List<double>();
- double WWsch;
- double WWsch1;
- double WWsch2;
- double Rb;
- foreach (City city in CitiesWithParameters)
- {
- foreach (var month in Consts.Months)
- {
- WWsch = Solvewwsh(SolveLongitudeRad(city.Longitude), month.DeltaRad);
- WWsch1 = Solvewwsh1(SolveLongitudeRad(city.Longitude), month.DeltaRad);
- WWsch2 = Solvewwsh2(SolveLongitudeRad(city.Longitude), month.Delta, SolveAngleRad(Angle));
- Rb = SolveRb(helper.GetLowerValue(WWsch1, WWsch2), SolveLongitudeRad(city.Longitude), SolveAngleRad(Angle), month.DeltaRad, WWsch);
- MonthCoefficients monthCoefficients = new MonthCoefficients(WWsch, WWsch1, WWsch2, Rb);
- city.monthCoefficientsList.Add(monthCoefficients);
- }
- city.rb_avg = helper.GetAverage(city.monthCoefficientsList.Select(x => x.Rb).ToList());
- }
- foreach (City city in CitiesWithParameters)
- {
- for (int i = 0; i < city.CityParametersList.Count(); i++)
- {
- Radiation radiation = new Radiation();
- radiation.IDHkJ = SolveIDHkJ(city.CityParametersList[i].IDH, Consts.Months[i].MonthLength);
- radiation.ISHkJ = SolveISHkJ(city.CityParametersList[i].ISH, Consts.Months[i].MonthLength);
- radiation.HBeta = SolveHBeta(radiation.ISHkJ, radiation.IDHkJ, city.rb_avg, rd);
- city.RadiationList.Add(radiation);
- }
- }
- foreach (City city in CitiesWithParameters)
- {
- for (int i = 0; i < city.CityParametersList.Count(); i++)
- {
- Results results = new Results();
- results.HBetaMJ = SolveHBetaMJ(city.RadiationList[i].HBeta, Consts.Months[i].MonthLength);
- results.X = SolveX(Psi, Area, Consts.FrUL, Consts.Ts, Consts.Tz, city.CityParametersList[i].MDBT, Consts.Cw, Consumption);
- results.Y = SolveY(Area, Consts.FrTa, results.HBetaMJ, Consumption, Consts.Cw, Consts.Ts, Consts.Tz, Consts.Months[i].MonthLength);
- results.FObl = SolveFObl(results.X, results.Y);
- results.F = SolveF(results.FObl);
- results.Qsl = SolveQsl(results.F, Consumption, Consts.Cw, Consts.Ts, Consts.Tz, Consts.Months[i].MonthLength);
- results.Qkonw = SolveQkonw(results.F, Consumption, Consts.Cw, Consts.Ts, Consts.Tz, Consts.Months[i].MonthLength);
- results.Efficiency = SolveEfficiency(results.HBetaMJ, Area, results.Qsl);
- results.Qzap = SolveQzap(results.Qsl, results.Qkonw);
- city.ResultsList.Add(results);
- }
- }
- City chosenCity = CitiesWithParameters.Where(x => x.Name == CityNamesCB.Text).FirstOrDefault();
- var finalQsl = FinalQsl(chosenCity.ResultsList.Select(x => x.Qsl).ToList());
- FinalQslLbl.Text = finalQsl.ToString();
- var finalQkonw = FinalQkonw(chosenCity.ResultsList.Select(x => x.Qkonw).ToList());
- FinalQkonwLbl.Text = finalQkonw.ToString();
- var finalQzap = FinalQzap(finalQsl, finalQkonw);
- FinalQzapLbl.Text = finalQzap.ToString();
- FinalFLbl.Text = FinalF(finalQzap, finalQsl).ToString();
- var finalHBetaMJ = FinalHBetaMJ(chosenCity.ResultsList.Select(x => x.HBetaMJ).ToList());
- FinalHBetaMJLbl.Text = finalHBetaMJ.ToString();
- FinalEfficiencyLbl.Text = FinalEfficiency(finalHBetaMJ, finalQsl, Area).ToString();
- FinalProfitLbl.Text = FinalProfit(finalQsl, Area).ToString();
- }
- catch (Exception ex)
- {
- MessageBox.Show("Wprowadzono nieprawidłowe dane: \n" + ex.Message);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement