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; } }
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(); }
/// <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(); }