Esempio n. 1
0
        public static void Main(string[] args)
        {
            Console.WriteLine("Enter Number of Beams : ");
            int NoBeams = Convert.ToInt32(Console.ReadLine());

            Console.WriteLine("Enter Beam Yield Stress, Fy (ksi) : ");
            double Fy = Convert.ToDouble(Console.ReadLine());

            Console.WriteLine("Enter Slab Compressive Stress, f'c (ksi) : ");
            double fc = Convert.ToDouble(Console.ReadLine());

            Console.WriteLine("Enter Rebar Yield Stress, fs (ksi) : ");
            double fs = Convert.ToDouble(Console.ReadLine());

            Console.WriteLine("Enter Beam modular ratio, n : ");
            double n = Convert.ToDouble(Console.ReadLine());

            double[,] table;
            table = new double[11, NoBeams];
            for (int i = 0; i < NoBeams; i++)
            {
                Console.WriteLine("Enter Beam {0} effective slab width, bslab (in) : ", i + 1);
                double bslab = Convert.ToDouble(Console.ReadLine());
                Console.WriteLine("Enter Beam {0} structural slab thickness, tslab (in) : ", i + 1);
                double tslab = Convert.ToDouble(Console.ReadLine());
                Console.WriteLine("Enter Beam {0} haunch width, bhaunch (in) : ", i + 1);
                double haunchWidth = Convert.ToDouble(Console.ReadLine());
                Console.WriteLine("Enter Beam {0} haunch depth, thaunch (in) : ", i + 1);
                double haunchDepth = Convert.ToDouble(Console.ReadLine());
                Console.WriteLine("Enter Beam {0} top rebar area, As1 (in^2) : ", i + 1);
                double Asteel1 = Convert.ToDouble(Console.ReadLine());
                Console.WriteLine("Enter Beam {0} top rebar depth from top of slab, d1 (in) : ", i + 1);
                double distSteel1 = Convert.ToDouble(Console.ReadLine());
                Console.WriteLine("Enter Beam {0} botom rebar area, As2 (in^2) : ", i + 1);
                double Asteel2 = Convert.ToDouble(Console.ReadLine());
                Console.WriteLine("Enter Beam {0} bottom rebar depth from top of slab, d2 (in) : ", i + 1);
                double distSteel2 = Convert.ToDouble(Console.ReadLine());
                Console.WriteLine("Enter Beam {0} top flange width, bft (in) : ", i + 1);
                double bft = Convert.ToDouble(Console.ReadLine());
                Console.WriteLine("Enter Beam {0} top flange thickness, tft (in) : ", i + 1);
                double tft = Convert.ToDouble(Console.ReadLine());
                Console.WriteLine("Enter Beam {0} web depth, D (in) : ", i + 1);
                double D = Convert.ToDouble(Console.ReadLine());
                Console.WriteLine("Enter Beam {0} web thickness, tw (in) : ", i + 1);
                double tw = Convert.ToDouble(Console.ReadLine());
                Console.WriteLine("Enter Beam {0} bottom flange width, bfb (in) : ", i + 1);
                double bfb = Convert.ToDouble(Console.ReadLine());
                Console.WriteLine("Enter Beam {0} bottom flange thickness, tfb (in) : ", i + 1);
                double tfb = Convert.ToDouble(Console.ReadLine());

                double area = CompProperties.BeamArea(bft, tft, D, tw, bfb, tfb, bslab, tslab, n, Asteel1, Asteel2, haunchDepth, haunchWidth);
                table[0, i] = area;
                double NA = CompProperties.NeutralAxis(bft, tft, D, tw, bfb, tfb, bslab, tslab, n, Asteel1, Asteel2, distSteel1, distSteel2, haunchDepth, haunchWidth);
                table[1, i] = NA;
                double I = CompProperties.MomentOfIneria(bft, tft, D, tw, bfb, tfb, bslab, tslab, n, Asteel1, Asteel2, distSteel1, distSteel2, haunchDepth, haunchWidth);
                table[2, i] = I;
                double Stop = CompProperties.ElastSectModTop(bft, tft, D, tw, bfb, tfb, bslab, tslab, n, Asteel1, Asteel2, distSteel1, distSteel2, haunchDepth, haunchWidth);
                table[3, i] = Stop;
                double Sbot = CompProperties.ElastSectModBot(bft, tft, D, tw, bfb, tfb, bslab, tslab, n, Asteel1, Asteel2, distSteel1, distSteel2, haunchDepth, haunchWidth);
                table[4, i] = Sbot;
                double PNA = CompProperties.PlastNeutralAxis(Fy, fc, fs, bft, tft, D, tw, bfb, tfb, bslab, tslab, n, Asteel1, Asteel2, distSteel1, distSteel2, haunchDepth, haunchWidth);
                table[5, i] = PNA;
                double PFt = CompProperties.PlastForceTop(Fy, fc, fs, bft, tft, D, tw, bfb, tfb, bslab, tslab, n, Asteel1, Asteel2, distSteel1, distSteel2, haunchDepth, haunchWidth);
                table[6, i] = PFt;
                double PFb = CompProperties.PlastForceBot(Fy, fc, fs, bft, tft, D, tw, bfb, tfb, bslab, tslab, n, Asteel1, Asteel2, distSteel1, distSteel2, haunchDepth, haunchWidth);
                table[7, i] = PFb;
                double PCGtop = CompProperties.PNAtoTopCG(Fy, fc, fs, bft, tft, D, tw, bfb, tfb, bslab, tslab, n, Asteel1, Asteel2, distSteel1, distSteel2, haunchDepth, haunchWidth);
                table[8, i] = PCGtop;
                double PCGBot = CompProperties.PNAtoBotCG(Fy, fc, fs, bft, tft, D, tw, bfb, tfb, bslab, tslab, n, Asteel1, Asteel2, distSteel1, distSteel2, haunchDepth, haunchWidth);
                table[9, i] = PCGBot;
                double Mp = CompProperties.PlastMoment(Fy, fc, fs, bft, tft, D, tw, bfb, tfb, bslab, tslab, n, Asteel1, Asteel2, distSteel1, distSteel2, haunchDepth, haunchWidth);
                table[10, i] = Mp;
            }
            for (int j = 0; j < NoBeams; j++)
            {
                Console.WriteLine("*********** BEAM {0} SECTION PROPERTIES***********", j + 1);
                Console.WriteLine("Area of Beam is {0} in^2", Math.Round(table[0, j], 2));
                Console.WriteLine("Elastic Neutral Axis is {0} in", Math.Round(table[1, j], 2));
                Console.WriteLine("Elastic Moment of Inertia is {0} in^4", Math.Round(table[2, j], 2));
                Console.WriteLine("Elastic Section Modulus of Top Flange is {0} in^3", Math.Round(table[3, j], 2));
                Console.WriteLine("Elastic Section Modulus of Bottom Flange is {0} in^3", Math.Round(table[4, j], 2));
                Console.WriteLine("Plastic Neutral Axis is {0} in", Math.Round(table[5, j], 2));
                Console.WriteLine("Force Above PNA is {0} kips", Math.Round(table[6, j], 2));
                Console.WriteLine("Distance to Force Above PNA is {0} in", Math.Round(table[8, j], 2));
                Console.WriteLine("Force Below PNA is {0} kips", Math.Round(table[7, j], 2));
                Console.WriteLine("Distance to Force Below PNA is {0} in", Math.Round(table[9, j], 2));
                Console.WriteLine("Plastic Moment is {0} kip-ft", Math.Round(table[10, j], 2));
                Console.WriteLine("");
            }
            Console.Read();
        }