Example #1
0
        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;
            }
        }
Example #2
0
        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();
        }
Example #3
0
        /// <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();
        }