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 }
            });
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 4
0
        public static Dictionary <string, object> BoltGroupBearingStrength(double N_BoltRowParallel, double N_BoltRowPerpendicular, double phiR_nFirstRow, double phiR_nInnerRow, string Code = "AISC360-10")
        {
            //Default values
            double phiR_n = 0;


            //Calculation logic:
            AffectedElementWithHoles el = new AffectedElementWithHoles();

            phiR_n = el.GetBoltGroupBearingStrength(N_BoltRowParallel, N_BoltRowPerpendicular, phiR_nFirstRow, phiR_nInnerRow);
            return(new Dictionary <string, object>
            {
                { "phiR_n", phiR_n }
            });
        }