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