public void SectionIRolledReturnsIy()
 {
     SectionIRolled shape = new SectionIRolled("", 17.7, 6.0, 0.425, 0.3, 0.827);
     double Iy = shape.I_y;
     double refValue = 15.3;
     double actualTolerance = EvaluateActualTolerance(Iy, refValue);
     Assert.LessOrEqual(actualTolerance, tolerance);
 }
 public void SectionIRolledReturnsIx()
 {
     SectionIRolled shape = new SectionIRolled("", 17.7, 6.0, 0.425, 0.3, 0.827);
     double Ix = shape.I_x;
     //Manual gives 510 but actual area checked in Autocad is 540.0505
     double refValue = 510;
     double actualTolerance = EvaluateActualTolerance(Ix, refValue);
     Assert.LessOrEqual(actualTolerance, tolerance);
 }
 public void SectionIRolledReturnsArea()
 {
     SectionIRolled shape = new SectionIRolled(null, 17.7, 6.0, 0.425, 0.3, 0.827);
     double A = shape.A;
     double refValue = 10.3;
     //Manual gives 10.3 but actual area checked in Autocad is 10.42
     double actualTolerance = EvaluateActualTolerance(A, refValue);
     Assert.LessOrEqual(actualTolerance, tolerance);
 }
        private CompositeBeamSection GetBeamForTests(double SumQ_n)
        {
            double Y_2 = 5;
            double f_cPrime = 4;
            double h_solid = 3;
            double b_eff;
            double h_rib = 3;
            b_eff = SumQ_n / ((h_rib + h_solid - Y_2) * 2 * 0.85 * f_cPrime); //Back calculate b_eff to get the round number from AISC manual
            double Y_2T = h_solid - (SumQ_n / (0.85 * f_cPrime * b_eff) / 2) + h_rib; //test

            AiscShapeFactory factory = new AiscShapeFactory();
            ISection section = factory.GetShape("W18X35", ShapeTypeSteel.IShapeRolled);
            PredefinedSectionI catI = section as PredefinedSectionI;
            SectionIRolled secI = new SectionIRolled("", catI.d, catI.b_fTop, catI.t_f, catI.t_w, catI.k);
            CompositeBeamSection cs = new CompositeBeamSection(secI, b_eff, h_solid, h_rib, 50.0, f_cPrime);
            return cs;
        }
 public ISliceableSection GetSliceableShape()
 {
     SectionIRolled secI = new SectionIRolled("",this.d,this.bf,this.t_f,this.t_w,this._k);
     return secI;
 }
        public ISliceableSection GetSliceableSection(string ShapeId, ShapeTypeSteel shapeType)
        {
            ISection section = this.GetShape(ShapeId, ShapeTypeSteel.IShapeRolled);
            ISliceableSection sec;

            switch (shapeType)
            {
                case ShapeTypeSteel.IShapeRolled:
                            PredefinedSectionI catI = section as PredefinedSectionI;
                             sec = new SectionIRolled("", catI.d, catI.b_fTop, catI.t_f, catI.t_w, catI.k);
                    break;
                case ShapeTypeSteel.IShapeBuiltUp:
                    throw new ShapeTypeNotSupportedException("ISliceableSection property ");
                    break;
                case ShapeTypeSteel.Channel:
                    throw new ShapeTypeNotSupportedException("ISliceableSection property ");
                    break;
                case ShapeTypeSteel.Angle:
                    throw new ShapeTypeNotSupportedException("ISliceableSection property ");
                    break;
                case ShapeTypeSteel.TeeRolled:
                    throw new ShapeTypeNotSupportedException("ISliceableSection property ");
                    break;
                case ShapeTypeSteel.TeeBuiltUp:
                    throw new ShapeTypeNotSupportedException("ISliceableSection property ");
                    break;
                case ShapeTypeSteel.DoubleAngle:
                    throw new ShapeTypeNotSupportedException("ISliceableSection property ");
                    break;
                case ShapeTypeSteel.CircularHSS:
                    throw new ShapeTypeNotSupportedException("ISliceableSection property ");
                    break;
                case ShapeTypeSteel.RectangularHSS:
                    throw new ShapeTypeNotSupportedException("ISliceableSection property ");
                    break;
                case ShapeTypeSteel.Box:
                    throw new ShapeTypeNotSupportedException("ISliceableSection property ");
                    break;
                case ShapeTypeSteel.Rectangular:
                    throw new ShapeTypeNotSupportedException("ISliceableSection property ");
                    break;
                case ShapeTypeSteel.Circular:
                    throw new ShapeTypeNotSupportedException("ISliceableSection property ");
                    break;
                case ShapeTypeSteel.IShapeAsym:
                    throw new ShapeTypeNotSupportedException("ISliceableSection property ");
                    break;
                default:
                    throw new ShapeTypeNotSupportedException("ISliceableSection property ");
                    break;
            }

            return sec;

        }