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; }