private static void windowTest1() { //気象データ//直達日射,天空放射,乾球温度,夜間放射 double[] wdIdn = new double[] { 0, 0, 0, 0, 0, 244, 517, 679, 774, 829, 856, 862, 847, 809, 739, 619, 415, 97, 0, 0, 0, 0, 0, 0 }; double[] wdIsky = new double[] { 0, 0, 0, 0, 21, 85, 109, 116, 116, 113, 110, 109, 111, 114, 116, 114, 102, 63, 0, 0, 0, 0, 0, 0 }; double[] wdDbt = new double[] { 27, 27, 27, 27, 27, 28, 29, 30, 31, 32, 32, 33, 33, 33, 34, 33, 32, 32, 31, 30, 29, 29, 28, 28 }; double[] wdRN = new double[] { 24, 24, 24, 24, 24, 24, 25, 25, 25, 25, 26, 26, 26, 26, 26, 26, 26, 25, 25, 25, 25, 24, 24, 24 }; //3mm透明ガラスの窓を作成 GlassPanes.Pane pane = new GlassPanes.Pane(GlassPanes.Pane.PredifinedGlassPane.TransparentGlass03mm); GlassPanes glassPane = new GlassPanes(pane); Window window = new Window(glassPane); //表面総合熱伝達率を設定 WindowSurface ws = window.GetSurface(true); ws.FilmCoefficient = 23d; ws = window.GetSurface(false); ws.FilmCoefficient = 9.3; //屋外面の傾斜を設定//南向き垂直壁 Incline incline = new Incline(Incline.Orientation.S, 0.5 * Math.PI); window.OutSideIncline = incline; //地表面反射率:アルベドを設定 ws.Albedo = 0.2; //日除けは無し window.Shade = SunShade.EmptySunShade; //7月21日0:00の東京の太陽を作成 Sun sun = new Sun(Sun.City.Tokyo); DateTime dTime = new DateTime(2001, 7, 21, 0, 0, 0); sun.Update(dTime); window.Sun = sun; //室内側乾球温度は25度で一定とする ws = window.GetSurface(false); ws.AirTemperature = 25; //計算結果タイトル行 Console.WriteLine(" 時刻 | 透過日射[W] | 吸収日射[W] | 貫流熱[W] | 対流熱取得[W] | 放射熱取得[W]"); //終日の計算実行 for (int i = 0; i < 24; i++) { //日射量設定 sun.SetGlobalHorizontalRadiation(wdIsky[i], wdIdn[i]); //夜間放射設定 window.NocturnalRadiation = wdRN[i]; //外気乾球温度を設定 ws = window.GetSurface(true); ws.AirTemperature = wdDbt[i]; //計算結果書き出し Console.WriteLine(dTime.ToShortTimeString().PadLeft(5) + " | " + window.TransmissionHeatGain.ToString("F1").PadLeft(11) + " | " + window.AbsorbedHeatGain.ToString("F1").PadLeft(11) + " | " + window.TransferHeatGain.ToString("F1").PadLeft(9) + " | " + window.ConvectiveHeatGain.ToString("F1").PadLeft(13) + " | " + window.RadiativeHeatGain.ToString("F1").PadLeft(13)); //時刻更新 dTime = dTime.AddHours(1); sun.Update(dTime); } Console.Read(); }
private static void glassPanesTest() { //ガラス板を作成 GlassPanes.Pane[] panes = new GlassPanes.Pane[2]; //室内側は6mmの透明ガラス、室外側は6mmの熱線吸収ガラスの場合 panes[0] = new GlassPanes.Pane(GlassPanes.Pane.PredifinedGlassPane.TransparentGlass06mm); panes[1] = new GlassPanes.Pane(GlassPanes.Pane.PredifinedGlassPane.HeatAbsorbingGlass06mm); //物性確認 Console.WriteLine("透明ガラスの透過率=" + panes[0].InnerSideTransmissivity.ToString("F2")); Console.WriteLine("透明ガラスの吸収率=" + panes[0].InnerSideAbsorptivity.ToString("F2")); Console.WriteLine("熱線吸収ガラスの透過率=" + panes[1].InnerSideTransmissivity.ToString("F2")); Console.WriteLine("熱線吸収ガラスの吸収率=" + panes[1].InnerSideAbsorptivity.ToString("F2")); Console.WriteLine(); //ガラス作成 GlassPanes glass = new GlassPanes(panes); //空気層の総合熱伝達率[W/(m2-K)]を設定 glass.SetHeatTransferCoefficientsOfGaps(0, 6d); Console.WriteLine("室内側:透明ガラス 室外側:熱線吸収ガラス"); Console.WriteLine("総合透過率[-] = " + glass.OverallTransmissivity.ToString("F3")); Console.WriteLine("総合吸収率[-] = " + glass.OverallAbsorptivity.ToString("F3")); //Console.WriteLine("熱貫流率[W/(m2-K)]" + glass.OverallHeatTransferCoefficient.ToString("F3")); Console.WriteLine(); //室内側は6mmの熱線吸収ガラス、室外側は6mmの透明ガラスの場合 panes[0] = new GlassPanes.Pane(GlassPanes.Pane.PredifinedGlassPane.HeatAbsorbingGlass06mm); panes[1] = new GlassPanes.Pane(GlassPanes.Pane.PredifinedGlassPane.TransparentGlass06mm); //ガラス作成 glass = new GlassPanes(panes); //空気層の総合熱伝達率[W/(m2-K)]を設定 glass.SetHeatTransferCoefficientsOfGaps(0, 6d); Console.WriteLine("室内側:熱線吸収ガラス 室外側:透明ガラス"); Console.WriteLine("総合透過率[-] = " + glass.OverallTransmissivity.ToString("F3")); Console.WriteLine("総合吸収率[-] = " + glass.OverallAbsorptivity.ToString("F3")); //Console.WriteLine("熱貫流率[W/(m2-K)]" + glass.OverallHeatTransferCoefficient.ToString("F3")); Console.Read(); }
private static void makeWindows( Dictionary<string, Zone> zones,Dictionary<string, Incline> inclines, Outdoor outdoor, Dictionary<string, WallLayers> wallLayers, out Dictionary<string, Window> windows, out Dictionary<string, Wall> frames) { bool makeWindowFrame = true; const double WIN1720 = 2.89;//1.7 * 2.0; // const double WIN1712 = 1.64;//1.7 * 1.2; // const double WIN0512 = 0.42;//0.5 * 1.2; // const double WIN1745 = 0.45;//1.7 * 0.45; // //外側Low-e 6mm, 内側フロート 6mm GlassPanes.Pane[] panes = new GlassPanes.Pane[2]; panes[0] = new GlassPanes.Pane(GlassPanes.Pane.PredifinedGlassPane.TransparentGlass06mm); panes[1] = new GlassPanes.Pane(GlassPanes.Pane.PredifinedGlassPane.HeatReflectingGlass06mm); GlassPanes gPanes = new GlassPanes(panes); gPanes.SetHeatTransferCoefficientsOfGaps(0, 5.9); windows = new Dictionary<string, Window>(); Window win; frames = new Dictionary<string, Wall>(); Wall frm; win = new Window(gPanes, "WI1-1"); win.SurfaceArea = WIN1720; win.OutSideIncline = inclines["S"]; zones["1F居間"].AddWindow(win); outdoor.AddWindow(win); windows.Add(win.Name, win); frm = new Wall(wallLayers["サッシ"], "SS1-1"); frm.SurfaceArea = Math.Max(1.7 * 2.0 - win.SurfaceArea, 0.0001); frm.SetIncline(inclines["S"], true); outdoor.AddWallSurface(frm.GetSurface(true)); zones["1F居間"].AddSurface(frm.GetSurface(false)); frames.Add(frm.Name, frm); win = new Window(gPanes, "WI1-2"); win.SurfaceArea = WIN1720; win.OutSideIncline = inclines["S"]; zones["1F居間"].AddWindow(win); outdoor.AddWindow(win); windows.Add(win.Name, win); frm = new Wall(wallLayers["サッシ"], "SS1-2"); frm.SurfaceArea = Math.Max(1.7 * 2.0 - win.SurfaceArea, 0.0001); frm.SetIncline(inclines["S"], true); outdoor.AddWallSurface(frm.GetSurface(true)); zones["1F居間"].AddSurface(frm.GetSurface(false)); frames.Add(frm.Name, frm); win = new Window(gPanes, "WI1-3"); win.SurfaceArea = WIN1720; win.OutSideIncline = inclines["S"]; zones["1F和室"].AddWindow(win); outdoor.AddWindow(win); windows.Add(win.Name, win); frm = new Wall(wallLayers["サッシ"], "SS1-3"); frm.SurfaceArea = Math.Max(1.7 * 2.0 - win.SurfaceArea, 0.0001); frm.SetIncline(inclines["S"], true); outdoor.AddWallSurface(frm.GetSurface(true)); zones["1F和室"].AddSurface(frm.GetSurface(false)); frames.Add(frm.Name, frm); win = new Window(gPanes, "WI1-4"); win.SurfaceArea = WIN0512; win.OutSideIncline = inclines["E"]; zones["1F浴室"].AddWindow(win); outdoor.AddWindow(win); windows.Add(win.Name, win); frm = new Wall(wallLayers["サッシ"], "SS1-4"); frm.SurfaceArea = Math.Max(0.5 * 1.2 - win.SurfaceArea, 0.0001); frm.SetIncline(inclines["E"], true); outdoor.AddWallSurface(frm.GetSurface(true)); zones["1F浴室"].AddSurface(frm.GetSurface(false)); frames.Add(frm.Name, frm); win = new Window(gPanes, "WI1-5"); win.SurfaceArea = WIN0512; win.OutSideIncline = inclines["N"]; zones["1F洗面所"].AddWindow(win); outdoor.AddWindow(win); windows.Add(win.Name, win); frm = new Wall(wallLayers["サッシ"], "SS1-5"); frm.SurfaceArea = Math.Max(0.5 * 1.2 - win.SurfaceArea, 0.0001); frm.SetIncline(inclines["N"], true); outdoor.AddWallSurface(frm.GetSurface(true)); zones["1F洗面所"].AddSurface(frm.GetSurface(false)); frames.Add(frm.Name, frm); win = new Window(gPanes, "WI1-6"); win.SurfaceArea = WIN0512; win.OutSideIncline = inclines["N"]; zones["1FWC"].AddWindow(win); outdoor.AddWindow(win); windows.Add(win.Name, win); frm = new Wall(wallLayers["サッシ"], "SS1-6"); frm.SurfaceArea = Math.Max(0.5 * 1.2 - win.SurfaceArea, 0.0001); frm.SetIncline(inclines["N"], true); outdoor.AddWallSurface(frm.GetSurface(true)); zones["1FWC"].AddSurface(frm.GetSurface(false)); frames.Add(frm.Name, frm); win = new Window(gPanes, "WI1-7"); win.SurfaceArea = WIN1745; win.OutSideIncline = inclines["W"]; zones["1F台所"].AddWindow(win); outdoor.AddWindow(win); windows.Add(win.Name, win); frm = new Wall(wallLayers["サッシ"], "SS1-7"); frm.SurfaceArea = Math.Max(1.7 * 0.45 - win.SurfaceArea, 0.0001); frm.SetIncline(inclines["W"], true); outdoor.AddWallSurface(frm.GetSurface(true)); zones["1F台所"].AddSurface(frm.GetSurface(false)); frames.Add(frm.Name, frm); win = new Window(gPanes, "WI1-8"); win.SurfaceArea = WIN0512; win.OutSideIncline = inclines["W"]; zones["1F居間"].AddWindow(win); outdoor.AddWindow(win); windows.Add(win.Name, win); frm = new Wall(wallLayers["サッシ"], "SS1-8"); frm.SurfaceArea = Math.Max(0.5 * 1.2 - win.SurfaceArea, 0.0001); frm.SetIncline(inclines["W"], true); outdoor.AddWallSurface(frm.GetSurface(true)); zones["1F居間"].AddSurface(frm.GetSurface(false)); frames.Add(frm.Name, frm); win = new Window(gPanes, "WI1-9"); win.SurfaceArea = WIN0512; win.OutSideIncline = inclines["W"]; zones["1F居間"].AddWindow(win); outdoor.AddWindow(win); windows.Add(win.Name, win); frm = new Wall(wallLayers["サッシ"], "SS1-9"); frm.SurfaceArea = Math.Max(0.5 * 1.2 - win.SurfaceArea, 0.0001); frm.SetIncline(inclines["W"], true); outdoor.AddWallSurface(frm.GetSurface(true)); zones["1F居間"].AddSurface(frm.GetSurface(false)); frames.Add(frm.Name, frm); win = new Window(gPanes, "WI2-1"); win.SurfaceArea = WIN1712; win.OutSideIncline = inclines["S"]; zones["2F主寝室"].AddWindow(win); outdoor.AddWindow(win); windows.Add(win.Name, win); frm = new Wall(wallLayers["サッシ"], "SS2-1"); frm.SurfaceArea = Math.Max(1.7 * 1.2 - win.SurfaceArea, 0.0001); frm.SetIncline(inclines["S"], true); outdoor.AddWallSurface(frm.GetSurface(true)); zones["2F主寝室"].AddSurface(frm.GetSurface(false)); frames.Add(frm.Name, frm); win = new Window(gPanes, "WI2-2"); win.SurfaceArea = WIN1712; win.OutSideIncline = inclines["S"]; zones["2F主寝室"].AddWindow(win); outdoor.AddWindow(win); windows.Add(win.Name, win); frm = new Wall(wallLayers["サッシ"], "SS2-2"); frm.SurfaceArea = Math.Max(1.7 * 1.2 - win.SurfaceArea, 0.0001); frm.SetIncline(inclines["S"], true); outdoor.AddWallSurface(frm.GetSurface(true)); zones["2F主寝室"].AddSurface(frm.GetSurface(false)); frames.Add(frm.Name, frm); win = new Window(gPanes, "WI2-3"); win.SurfaceArea = WIN1712; win.OutSideIncline = inclines["S"]; zones["2F子供室1"].AddWindow(win); outdoor.AddWindow(win); windows.Add(win.Name, win); frm = new Wall(wallLayers["サッシ"], "SS2-3"); frm.SurfaceArea = Math.Max(1.7 * 1.2 - win.SurfaceArea, 0.0001); frm.SetIncline(inclines["S"], true); outdoor.AddWallSurface(frm.GetSurface(true)); zones["2F子供室1"].AddSurface(frm.GetSurface(false)); frames.Add(frm.Name, frm); win = new Window(gPanes, "WI2-4"); win.SurfaceArea = WIN0512; win.OutSideIncline = inclines["E"]; zones["2F子供室1"].AddWindow(win); outdoor.AddWindow(win); windows.Add(win.Name, win); frm = new Wall(wallLayers["サッシ"], "SS2-4"); frm.SurfaceArea = Math.Max(0.5 * 1.2 - win.SurfaceArea, 0.0001); frm.SetIncline(inclines["E"], true); outdoor.AddWallSurface(frm.GetSurface(true)); zones["2F子供室1"].AddSurface(frm.GetSurface(false)); frames.Add(frm.Name, frm); win = new Window(gPanes, "WI2-5"); win.SurfaceArea = WIN0512; win.OutSideIncline = inclines["E"]; zones["2F子供室2"].AddWindow(win); outdoor.AddWindow(win); windows.Add(win.Name, win); frm = new Wall(wallLayers["サッシ"], "SS2-5"); frm.SurfaceArea = Math.Max(0.5 * 1.2 - win.SurfaceArea, 0.0001); frm.SetIncline(inclines["E"], true); outdoor.AddWallSurface(frm.GetSurface(true)); zones["2F子供室2"].AddSurface(frm.GetSurface(false)); frames.Add(frm.Name, frm); win = new Window(gPanes, "WI2-6"); win.SurfaceArea = WIN1712; win.OutSideIncline = inclines["N"]; zones["2F子供室2"].AddWindow(win); outdoor.AddWindow(win); windows.Add(win.Name, win); frm = new Wall(wallLayers["サッシ"], "SS2-6"); frm.SurfaceArea = Math.Max(1.7 * 1.2 - win.SurfaceArea, 0.0001); frm.SetIncline(inclines["N"], true); outdoor.AddWallSurface(frm.GetSurface(true)); zones["2F子供室2"].AddSurface(frm.GetSurface(false)); frames.Add(frm.Name, frm); win = new Window(gPanes, "WI2-7"); win.SurfaceArea = WIN0512; win.OutSideIncline = inclines["N"]; zones["階段室"].AddWindow(win); outdoor.AddWindow(win); windows.Add(win.Name, win); frm = new Wall(wallLayers["サッシ"], "SS2-7"); frm.SurfaceArea = Math.Max(0.5 * 1.2 - win.SurfaceArea, 0.0001); frm.SetIncline(inclines["N"], true); outdoor.AddWallSurface(frm.GetSurface(true)); zones["階段室"].AddSurface(frm.GetSurface(false)); frames.Add(frm.Name, frm); win = new Window(gPanes, "WI2-8"); win.SurfaceArea = WIN0512; win.OutSideIncline = inclines["N"]; zones["2FWC"].AddWindow(win); outdoor.AddWindow(win); windows.Add(win.Name, win); frm = new Wall(wallLayers["サッシ"], "SS2-8"); frm.SurfaceArea = Math.Max(0.5 * 1.2 - win.SurfaceArea, 0.0001); frm.SetIncline(inclines["N"], true); outdoor.AddWallSurface(frm.GetSurface(true)); zones["2FWC"].AddSurface(frm.GetSurface(false)); frames.Add(frm.Name, frm); win = new Window(gPanes, "WI2-9"); win.SurfaceArea = WIN1712; win.OutSideIncline = inclines["N"]; zones["2F予備室"].AddWindow(win); outdoor.AddWindow(win); windows.Add(win.Name, win); frm = new Wall(wallLayers["サッシ"], "SS2-9"); frm.SurfaceArea = Math.Max(1.7 * 1.2 - win.SurfaceArea, 0.0001); frm.SetIncline(inclines["N"], true); outdoor.AddWallSurface(frm.GetSurface(true)); zones["2F予備室"].AddSurface(frm.GetSurface(false)); frames.Add(frm.Name, frm); win = new Window(gPanes, "WI2-10"); win.SurfaceArea = WIN0512; win.OutSideIncline = inclines["E"]; zones["2F主寝室"].AddWindow(win); outdoor.AddWindow(win); windows.Add(win.Name, win); frm = new Wall(wallLayers["サッシ"], "SS2-10"); frm.SurfaceArea = Math.Max(0.5 * 1.2 - win.SurfaceArea, 0.0001); frm.SetIncline(inclines["E"], true); outdoor.AddWallSurface(frm.GetSurface(true)); zones["2F主寝室"].AddSurface(frm.GetSurface(false)); frames.Add(frm.Name, frm); //総合熱伝達率設定 foreach (string key in windows.Keys) { windows[key].GetSurface(true).FilmCoefficient = AO; windows[key].GetSurface(false).FilmCoefficient = AI; } //総合熱伝達率設定 foreach (string key in frames.Keys) { frames[key].GetSurface(true).FilmCoefficient = AO; frames[key].GetSurface(false).FilmCoefficient = AI; if (! makeWindowFrame) frames[key].SurfaceArea = 0.000001; } }
/// <summary>Sample program calculating the charateristics of a glass panes</summary> private static void glassPanesTest() { //Create an array of the GlassPanes.Glass class GlassPanes.Pane[] panes = new GlassPanes.Pane[3]; //Create a transparent glass (3mm). panes[0] = new GlassPanes.Pane(0.79, 0.07, 0.85, 0.07, 131); //Inside of the window panes[1] = new GlassPanes.Pane(0.79, 0.07, 0.85, 0.07, 131); panes[2] = new GlassPanes.Pane(0.79, 0.07, 0.85, 0.07, 131); //Outside of the window //Create an instance of GlassPanes class GlassPanes glass = new GlassPanes(panes); //Set heat transfer coefficients[W/(m2-K)] of air gap glass.SetHeatTransferCoefficientsOfGaps(0, 1 / 0.12); glass.SetHeatTransferCoefficientsOfGaps(1, 1 / 0.12); //Set overall heat transfer coefficients[W/(m2-K)] at the surface of glass. glass.SetInsideFilmCoefficient(9.26); //Inside of the window glass.SetOutsideFilmCoefficient(23.26); //Outside of the window //Check the characteristics of the glass panes. Console.WriteLine("Transparent glass(3mm) * 3"); Console.WriteLine("Overall transmissivity[-] = " + glass.OverallTransmissivity.ToString("F2")); Console.WriteLine("Overall absorptivity[-] = " + glass.OverallAbsorptivity.ToString("F2")); Console.WriteLine("Heat transfer coefficient of glass[-] = " + glass.ThermalTransmittanceOfGlass.ToString("F2")); Console.WriteLine("Heat transmission coefficient[-] = " + glass.ThermalTransmittance.ToString("F2")); Console.WriteLine(); //Change the outside glass pane to heat reflecting glass(6mm) panes[0] = new GlassPanes.Pane(GlassPanes.Pane.PredifinedGlassPane.HeatReflectingGlass06mm); //Check the characteristics of a single glass pane. Console.WriteLine("Heat reflecting glass(6mm)"); Console.WriteLine("Transmissivity[-] = " + panes[0].OuterSideTransmissivity.ToString("F2")); Console.WriteLine("absorptivity[-] = " + panes[0].OuterSideAbsorptivity.ToString("F2")); Console.WriteLine("Reflectivity[-] = " + panes[0].OuterSideReflectivity.ToString("F2")); Console.WriteLine(); //Create an instance of GlassPanes class. Other properties are same as above glass = new GlassPanes(panes); glass.SetHeatTransferCoefficientsOfGaps(0, 1 / 0.12); glass.SetHeatTransferCoefficientsOfGaps(1, 1 / 0.12); glass.SetInsideFilmCoefficient(9.26); //Inside of the window glass.SetOutsideFilmCoefficient(23.26); //Outside of the window //Check the characteristics of the glass panes. Console.WriteLine("Heat reflecting glass(6mm) + Transparent glass(3mm) * 2"); Console.WriteLine("Overall transmissivity[-] = " + glass.OverallTransmissivity.ToString("F2")); Console.WriteLine("Overall absorptivity[-] = " + glass.OverallAbsorptivity.ToString("F2")); Console.WriteLine("Heat transfer coefficient of glass[-] = " + glass.ThermalTransmittanceOfGlass.ToString("F2")); Console.WriteLine("Heat transmission coefficient[-] = " + glass.ThermalTransmittance.ToString("F2")); Console.Read(); }
/// <summary>Sample program calculating the heat gain from the window</summary> private static void windowTest() { //A sample weather data //direct normal radiation [W/m2] double[] wdIdn = new double[] { 0, 0, 0, 0, 0, 244, 517, 679, 774, 829, 856, 862, 847, 809, 739, 619, 415, 97, 0, 0, 0, 0, 0, 0 }; //diffuse horizontal radiation [W/m2] double[] wdIsky = new double[] { 0, 0, 0, 0, 21, 85, 109, 116, 116, 113, 110, 109, 111, 114, 116, 114, 102, 63, 0, 0, 0, 0, 0, 0 }; //drybulb temperature [C] double[] wdDbt = new double[] { 27, 27, 27, 27, 27, 28, 29, 30, 31, 32, 32, 33, 33, 33, 34, 33, 32, 32, 31, 30, 29, 29, 28, 28 }; //nocturnal radiation [W/m2] double[] wdRN = new double[] { 24, 24, 24, 24, 24, 24, 25, 25, 25, 25, 26, 26, 26, 26, 26, 26, 26, 25, 25, 25, 25, 24, 24, 24 }; //Create a window with a single 3mm transparent glass pane GlassPanes.Pane pane = new GlassPanes.Pane(GlassPanes.Pane.PredifinedGlassPane.TransparentGlass03mm); GlassPanes glassPane = new GlassPanes(pane); Window window = new Window(glassPane); //Set wall surface information WindowSurface outsideWindowSurface = window.GetSurface(true); outsideWindowSurface.FilmCoefficient = 23d; outsideWindowSurface.Albedo = 0.2; WindowSurface insideWindowSurface = window.GetSurface(false); insideWindowSurface.FilmCoefficient = 9.3; //Set incline of an outdoor surface : South, vertical incline window.OutSideIncline = new Incline(Incline.Orientation.S, 0.5 * Math.PI); //There is no sun shade window.Shade = SunShade.EmptySunShade; //Initialize sun. Tokyo : 7/21 0:00 Sun sun = new Sun(Sun.City.Tokyo); DateTime dTime = new DateTime(2001, 7, 21, 0, 0, 0); sun.Update(dTime); window.Sun = sun; //Indoor drybulb temperature is constant (25C) window.IndoorDrybulbTemperature = 25; //Result : Title line Console.WriteLine(" Time |Transmission[W]|Absorption[W]|Transfer[W]|Convective[W]|Radiative[W]"); //execute simulation for (int i = 0; i < 24; i++) { //Set radiations (calculate global horizontal radiation from direct normal and diffuse horizontal radiation) sun.SetGlobalHorizontalRadiation(wdIsky[i], wdIdn[i]); //Set nocturnal radiation window.NocturnalRadiation = wdRN[i]; //Set outdoor temperature window.OutdoorDrybulbTemperature = wdDbt[i]; //Output result Console.WriteLine(dTime.ToShortTimeString().PadLeft(5) + " | " + window.TransmissionHeatGain.ToString("F1").PadLeft(13) + " | " + window.AbsorbedHeatGain.ToString("F1").PadLeft(11) + " | " + window.TransferHeatGain.ToString("F1").PadLeft(9) + " | " + window.ConvectiveHeatGain.ToString("F1").PadLeft(11) + " | " + window.RadiativeHeatGain.ToString("F1").PadLeft(11)); //Update time dTime = dTime.AddHours(1); sun.Update(dTime); } Console.Read(); }
/// <summary>Constructor</summary> /// <param name="interiorGlassPane">glass pane of interior side</param> /// <param name="interiorAirGap">interior side air gap thickness[m]</param> /// <param name="exteriorGlassPane">glass pnae of exterior side</param> /// <param name="exteriorAirGap">exterior side air gap thickness[m]</param> /// <param name="windowWidth">width [m] of the air flow window</param> /// <param name="windowHeight">height [m] of the air flow window</param> /// <param name="outsideIncline"></param> public AirFlowWindow(GlassPanes.Pane interiorGlassPane, double interiorAirGap, GlassPanes.Pane exteriorGlassPane, double exteriorAirGap,double windowWidth, double windowHeight, ImmutableIncline outsideIncline) { //initialize temperatures. tVector.SetValue(25); this.interiorGlassPane = interiorGlassPane; this.exteriorGlassPane = exteriorGlassPane; this.ExteriorAirGap = exteriorAirGap; this.InteriorAirGap = interiorAirGap; this.WindowWidth = windowWidth; this.WindowHeight = windowHeight; SetBlind(0.75, 0.07); this.OutSideIncline = outsideIncline; }