public void ShearBeamIShapeReturnsValue()
        {
                double h = 26.3;
                double t_w = 1.04;
                double a=0;
                double F_y = 50.0;
                double E = 29000;
                ShearMemberFactory factory = new ShearMemberFactory();
                IShearMember member = factory.GetShearMemberNonCircular(ShearNonCircularCase.MemberWithoutStiffeners, h, t_w, a, F_y,E);
                double phiV_n = member.GetShearStrength();

                double refValue = 821.0;
                double actualTolerance = EvaluateActualTolerance(phiV_n, refValue);

                Assert.LessOrEqual(actualTolerance, tolerance);

        }
        protected override double GetV_m(double V_mt, double V_mb, double mu, double nu)
        {
            double V_m;
            double V_m1 = V_mt + V_mb;
            double V_pt = GetV_pt();
            double V_mtSH = GetV_mtSH(V_pt);

            double V_cBar1=V_pt*(mu/nu-1.0);
            V_cBar1 = V_cBar1 <0 ? 0 :V_cBar1;
            double V_cBar2 = V_mtSH - V_pt;
            V_cBar2 = V_cBar2 < 0 ? 0 : V_cBar2;

            double V_cBar = Math.Min(V_cBar1, V_cBar2);

            ShearMemberFactory f = new ShearMemberFactory();

            //Refine this in future to reflect more possible cases
            double h = Section.d;
            double t_w = Section.t_w;
            double E = 29000;
            double a = 3*h; // no stiffeners are accounted here, arbitrarily set the stiffener spacing


            IShearMember UnperforatedShape = f.GetShearMemberNonCircular(ShearNonCircularCase.MemberWithoutStiffeners,
                 h, t_w, a, F_y, E);
            double V_pBar = UnperforatedShape.GetShearStrength();
            double V_m2 = 2.0 / 3.0 * V_pBar + V_cBar;
            V_m = Math.Min(V_m1, V_m2);

            //double V_cBar = V_pt
            return V_m;
        }