Esempio n. 1
0
        /// <summary>
        /// Calculates shear lag factor per AISC Table D3.1 "Shear Lag Factors for Connections  to Tension Members".
        /// </summary>
        public override double GetShearLagFactor()
        {
            double U;
            if (N < 3)
            {
                ShearLagCase2 Case2 = new ShearLagCase2(x_ob, l);
                U = Case2.GetShearLagFactor();
            }
            else if (N == 3)
            {
                U = 0.6;
            }
            else
            {
                U = 0.8;
            }
            // If Case 2 information is applicable
            if (x_ob > 0 && l > 0)
            {
                ShearLagCase2 Case2 = new ShearLagCase2(x_ob, l);
                double U_case2 = Case2.GetShearLagFactor();
                U = Math.Min(U, U_case2);
            }

            return U;
        }
Esempio n. 2
0
        /// <summary>
        /// Calculates shear lag factor per AISC Table D3.1 "Shear Lag Factors for Connections  to Tension Members".
        /// </summary>
        public override double GetShearLagFactor()
        {
            double U;

            if (N < 3)
            {
                ShearLagCase2 Case2 = new ShearLagCase2(x_ob, l);
                U = Case2.GetShearLagFactor();
            }
            else if (N == 3)
            {
                U = 0.6;
            }
            else
            {
                U = 0.8;
            }
            // If Case 2 information is applicable
            if (x_ob > 0 && l > 0)
            {
                ShearLagCase2 Case2   = new ShearLagCase2(x_ob, l);
                double        U_case2 = Case2.GetShearLagFactor();
                U = Math.Min(U, U_case2);
            }

            return(U);
        }
Esempio n. 3
0
        /// <summary>
        /// Calculates shear lag factor per AISC Table D3.1 "Shear Lag Factors for Connections  to Tension Members".
        /// </summary>
        public override double GetShearLagFactor()
        {
            double U, U1, U2;

            if (N < 3)
            {
                ShearLagCase2 Case2 = new ShearLagCase2(x_ob, l);
                U1 = Case2.GetShearLagFactor();
            }
            else if (N == 3)
            {
                if (bf > 2 / 3 * d)
                {
                    U1 = 0.9;
                }
                else
                {
                    U1 = 0.85;
                }
            }
            else
            {
                U1 = 0.7;
            }
            // If Case 2 information is applicable
            if (x_ob > 0 && l > 0)
            {
                ShearLagCase2 Case2 = new ShearLagCase2(x_ob, l);
                U2 = Case2.GetShearLagFactor();
                U  = Math.Max(U1, U2);
            }
            else
            {
                U = U1;
            }

            return(U);
        }
Esempio n. 4
0
        /// <summary>
        /// Calculates shear lag factor per AISC Table D3.1 "Shear Lag Factors for Connections  to Tension Members".
        /// </summary>
        public override double GetShearLagFactor()
        {
            double U, U1, U2;
            if (N<3)
            {
                ShearLagCase2 Case2 = new ShearLagCase2(x_ob, l);
                U1 = Case2.GetShearLagFactor();
            }
            else if (N==3)
            {
                if (bf > 2 / 3 * d)
                {
                    U1 = 0.9;
                }
                else
                {
                    U1 = 0.85;
                } 
            }
            else
            {
                U1 = 0.7;
            }
            // If Case 2 information is applicable
            if (x_ob>0 && l > 0)
            {
                ShearLagCase2 Case2 = new ShearLagCase2(x_ob, l);
                U2 = Case2.GetShearLagFactor();
                U = Math.Max(U1, U2);
            }
            else
            {
                U = U1;
            }

            return U;
        }
Esempio n. 5
0
 public double GetShearLagFactor(ShearLagCase Case, double x_bar, double b_plate, double l,
     double B, double H, double A_g, double A_connected, bool IsOpenOpenTensionSection)
 {
     ShearLagFactorBase shearLagCase;
     switch (Case)
     {
         case ShearLagCase.Case1:
              shearLagCase = new ShearLagCase1();
             break;
         case ShearLagCase.Case2:
             shearLagCase = new ShearLagCase2(x_bar,l);
             break;
         case ShearLagCase.Case3:
             shearLagCase = new ShearLagCase3();
             break;
         case ShearLagCase.Case4:
             shearLagCase = new ShearLagCase4(b_plate,l);
             break;
         case ShearLagCase.Case5:
             shearLagCase = new ShearLagCase5(B, l);
             break;
         case ShearLagCase.Case6a:
              shearLagCase = new ShearLagCase6(true,B,H,l);
             break;
         case ShearLagCase.Case6b:
             shearLagCase = new ShearLagCase6(false, B, H, l);
             break;
         case ShearLagCase.Case7a:
             shearLagCase = new ShearLagCase7(2,H,b_plate,x_bar,l);
             break;
         case ShearLagCase.Case7b:
             shearLagCase = new ShearLagCase7(3, H, b_plate, x_bar, l);
             break;
         case ShearLagCase.Case7c:
             shearLagCase = new ShearLagCase7(4, H, b_plate, x_bar, l);
             break;
         case ShearLagCase.Case8a:
             shearLagCase = new ShearLagCase8(2, x_bar, l);
             break;
         case ShearLagCase.Case8b:
             shearLagCase = new ShearLagCase8(3, x_bar, l);
             break;
         case ShearLagCase.Case8c:
             shearLagCase = new ShearLagCase8(4, x_bar, l);
             break;
         default:
             shearLagCase = new ShearLagCase2(x_bar, l);
             break;
     }
     double U= shearLagCase.GetShearLagFactor();
     if (IsOpenOpenTensionSection == false)
     {
         return U;
     }
     else
     {
         //AISC section D3
         //For open cross sections such as W, M, S, C or HP shapes, WTs, STs, and single and
         //double angles, the shear lag factor, U, need not be less than the ratio of the gross area
         //of the connected element(s) to the member gross area. This provision does not apply
         //to closed sections, such as HSS sections, nor to plates
         double Umax = A_connected / A_g;
         U = U < Umax ? Umax : U;
         return U;
     }
 }
Esempio n. 6
0
        public double GetShearLagFactor(ShearLagCase Case, double x_bar, double b_plate, double l,
                                        double B, double H, double A_g, double A_connected, bool IsOpenOpenTensionSection)
        {
            ShearLagFactorBase shearLagCase;

            switch (Case)
            {
            case ShearLagCase.Case1:
                shearLagCase = new ShearLagCase1();
                break;

            case ShearLagCase.Case2:
                shearLagCase = new ShearLagCase2(x_bar, l);
                break;

            case ShearLagCase.Case3:
                shearLagCase = new ShearLagCase3();
                break;

            case ShearLagCase.Case4:
                shearLagCase = new ShearLagCase4(b_plate, l);
                break;

            case ShearLagCase.Case5:
                shearLagCase = new ShearLagCase5(B, l);
                break;

            case ShearLagCase.Case6a:
                shearLagCase = new ShearLagCase6(true, B, H, l);
                break;

            case ShearLagCase.Case6b:
                shearLagCase = new ShearLagCase6(false, B, H, l);
                break;

            case ShearLagCase.Case7a:
                shearLagCase = new ShearLagCase7(2, H, b_plate, x_bar, l);
                break;

            case ShearLagCase.Case7b:
                shearLagCase = new ShearLagCase7(3, H, b_plate, x_bar, l);
                break;

            case ShearLagCase.Case7c:
                shearLagCase = new ShearLagCase7(4, H, b_plate, x_bar, l);
                break;

            case ShearLagCase.Case8a:
                shearLagCase = new ShearLagCase8(2, x_bar, l);
                break;

            case ShearLagCase.Case8b:
                shearLagCase = new ShearLagCase8(3, x_bar, l);
                break;

            case ShearLagCase.Case8c:
                shearLagCase = new ShearLagCase8(4, x_bar, l);
                break;

            default:
                shearLagCase = new ShearLagCase2(x_bar, l);
                break;
            }
            double U = shearLagCase.GetShearLagFactor();

            if (IsOpenOpenTensionSection == false)
            {
                return(U);
            }
            else
            {
                //AISC section D3
                //For open cross sections such as W, M, S, C or HP shapes, WTs, STs, and single and
                //double angles, the shear lag factor, U, need not be less than the ratio of the gross area
                //of the connected element(s) to the member gross area. This provision does not apply
                //to closed sections, such as HSS sections, nor to plates
                double Umax = A_connected / A_g;
                U = U < Umax ? Umax : U;
                return(U);
            }
        }