예제 #1
0
        /// <summary>
        /// Bearing Strength at Bolt Holes
        /// </summary>
        /// <param name="l_c">Clear distance, in the direction of the force, between the edge of the hole and the edge of the adjacent hole or edge of the material</param>
        /// <param name="d_b">Nominal bolt diameter</param>
        /// <param name="t">Thickness of connected material</param>
        /// <param name="F_y">Yield stress of base metal</param>
        /// <param name="F_u">Ultimate stress of base metal</param>
        /// <param name="BoltHoleType">Type of bolt hole</param>
        /// <param name="BoltHoleDeformationType">Identifies whetehr deformation at the bolt hole at service load is a design consideration</param>
        /// <param name="IsUnstiffenedHollowSection">Identifies whether this is a connection made using bolts that pass completely through an unstiffened box member or HSS</param>
        /// <returns></returns>
        public double GetBearingStrengthAtBoltHole(double l_c, double d_b, double t, double F_y, double F_u, BoltHoleType BoltHoleType, 
            BoltHoleDeformationType BoltHoleDeformationType, bool IsUnstiffenedHollowSection=false)
        {
            double phiR_n;
            if (IsUnstiffenedHollowSection == false)
            {
                        double phiR_n1;
                        double phiR_n2;
           
                if (BoltHoleType == Wosad.Steel.AISC.SteelEntities.Bolts.BoltHoleType.LSL_Perpendicular)
                {
                        //(J3-6c)
                        phiR_n1=0.75*(1.0*l_c*t*F_u);
                        phiR_n2=0.75*(2.0*d_b*t*F_u);
                }
                else
                {
                    if (BoltHoleDeformationType == Wosad.Steel.AISC.BoltHoleDeformationType.ConsideredUnderServiceLoad)
                    {
                         //(J3-6a)
                        phiR_n1=0.75*(1.2*l_c*t*F_u);
                        phiR_n2=0.75*(2.4*d_b*t*F_u);
 
                    }
                    else
                    {
                       //(J3-6b)
                        phiR_n1=0.75*(1.5*l_c*t*F_u);
                        phiR_n2=0.75*(3.0*d_b*t*F_u);
                    }
                }
                phiR_n = Math.Min(phiR_n1, phiR_n2);
            }
            else
	            {
                    phiR_n=0.75*(1.8*d_b*t*F_y);
	            }

            return phiR_n;
            }
        /// <summary>
        /// Bearing Strength at Bolt Holes
        /// </summary>
        /// <param name="l_c">Clear distance, in the direction of the force, between the edge of the hole and the edge of the adjacent hole or edge of the material</param>
        /// <param name="d_b">Nominal bolt diameter</param>
        /// <param name="t">Thickness of connected material</param>
        /// <param name="F_y">Yield stress of base metal</param>
        /// <param name="F_u">Ultimate stress of base metal</param>
        /// <param name="BoltHoleType">Type of bolt hole</param>
        /// <param name="BoltHoleDeformationType">Identifies whetehr deformation at the bolt hole at service load is a design consideration</param>
        /// <param name="IsUnstiffenedHollowSection">Identifies whether this is a connection made using bolts that pass completely through an unstiffened box member or HSS</param>
        /// <returns></returns>
        public double GetBearingStrengthAtBoltHole(double l_c, double d_b, double t, double F_y, double F_u, BoltHoleType BoltHoleType,
                                                   BoltHoleDeformationType BoltHoleDeformationType, bool IsUnstiffenedHollowSection = false)
        {
            double phiR_n;

            if (IsUnstiffenedHollowSection == false)
            {
                double phiR_n1;
                double phiR_n2;

                if (BoltHoleType == Kodestruct.Steel.AISC.SteelEntities.Bolts.BoltHoleType.LSL_Perpendicular)
                {
                    //(J3-6c)
                    phiR_n1 = 0.75 * (1.0 * l_c * t * F_u);
                    phiR_n2 = 0.75 * (2.0 * d_b * t * F_u);
                }
                else
                {
                    if (BoltHoleDeformationType == Kodestruct.Steel.AISC.BoltHoleDeformationType.ConsideredUnderServiceLoad)
                    {
                        //(J3-6a)
                        phiR_n1 = 0.75 * (1.2 * l_c * t * F_u);
                        phiR_n2 = 0.75 * (2.4 * d_b * t * F_u);
                    }
                    else
                    {
                        //(J3-6b)
                        phiR_n1 = 0.75 * (1.5 * l_c * t * F_u);
                        phiR_n2 = 0.75 * (3.0 * d_b * t * F_u);
                    }
                }
                phiR_n = Math.Min(phiR_n1, phiR_n2);
            }
            else
            {
                phiR_n = 0.75 * (1.8 * d_b * t * F_y);
            }

            return(phiR_n);
        }