public static Dictionary <string, object> BearingStrengthAtBoltHole(string BoltHoleType, double l_c, double F_u, double F_y, double d_b, double t, string BoltHoleDeformationType = "ConsideredUnderServiceLoad", bool IsUnstiffenedHollowSection = false, string Code = "AISC360-10") { //Default values double phiR_nv = 0; BoltHoleType holeType; bool IsValidString = Enum.TryParse(BoltHoleType, true, out holeType); if (IsValidString == true) { BoltHoleDeformationType deformationType; bool IsValidDeformationType = Enum.TryParse(BoltHoleDeformationType, true, out deformationType); if (IsValidDeformationType == true) { AffectedElementWithHoles element = new AffectedElementWithHoles(); phiR_nv = element.GetBearingStrengthAtBoltHole(l_c, d_b, t, F_y, F_u, holeType, deformationType, IsUnstiffenedHollowSection); } else { throw new Exception("Invalid Bolt Hole Deformation Type string"); } } else { throw new Exception("Invalid bolt hole type string"); } return(new Dictionary <string, object> { { "phiR_nv", phiR_nv } }); }
public void BoltBearingEndBoltsReturnsValue() { AffectedElementWithHoles element = new AffectedElementWithHoles(); double phiR_n = element.GetBearingStrengthAtBoltHole(1.03, 7.0 / 8.0, 1, 50.0, 65.0, BoltHoleType.STD, BoltHoleDeformationType.ConsideredUnderServiceLoad, false); double refValue = 60.3; double actualTolerance = EvaluateActualTolerance(phiR_n, refValue); Assert.LessOrEqual(actualTolerance, tolerance); }
public void BoltBearingInnerBoltsReturnsValue() { AffectedElementWithHoles element = new AffectedElementWithHoles(); double phiR_n = element.GetBearingStrengthAtBoltHole(2.06, 7.0 / 8.0, 1, 50.0, 65.0, BoltHoleType.STD, BoltHoleDeformationType.ConsideredUnderServiceLoad, false); double refValue = 102.0; double actualTolerance = EvaluateActualTolerance(phiR_n, refValue); Assert.True(actualTolerance <= tolerance); }