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