/// <summary> /// Effective length for gusset from AISC Design Guide 29 /// </summary> /// <param name="configuration">Type of gusset plate configuration for calculation of effective length</param> /// <param name="l_1">Gusset plate distance from beam to nearest row of bolts</param> /// <param name="l_2">Gusset plate distance from column to nearest row of bolts</param> /// <returns></returns> public double GetGussetPlateEffectiveCompressionLength(GussetPlateConfiguration configuration, double l_1, double l_2) { switch (configuration) { case GussetPlateConfiguration.CompactCorner: return(0); break; case GussetPlateConfiguration.NoncompactCorner: return(1.0 * (l_1 + l_2) / 2.0); break; case GussetPlateConfiguration.ExtendedCorner: return(0.6 * l_1); break; case GussetPlateConfiguration.SingleBrace: return(0.7 * l_1); break; case GussetPlateConfiguration.Chevron: return(0.65 * l_1); break; default: return(l_1 * 1.0); break; } }
public static Dictionary <string, object> GussetPlateEffectiveCompressionLength(string GussetPlateConfigurationId, double l_1, double l_2, bool IsGussetCompactConfiguration = false, string Code = "AISC360-10") { //Default values double KL_gusset = 0; //Calculation logic: AffectedElement el = new AffectedElement(); GussetPlateConfiguration conf = ParseGussetConfiguration(GussetPlateConfigurationId, IsGussetCompactConfiguration); KL_gusset = el.GetGussetPlateEffectiveCompressionLength(conf, l_1, l_2); return(new Dictionary <string, object> { { "KL_gusset", KL_gusset } }); }
/// <summary> /// Effective length for gusset from AISC Design Guide 29 /// </summary> /// <param name="configuration">Type of gusset plate configuration for calculation of effective length</param> /// <param name="l_1">Gusset plate distance from beam to nearest row of bolts</param> /// <param name="l_2">Gusset plate distance from column to nearest row of bolts</param> /// <returns></returns> public double GetGussetPlateEffectiveCompressionLength(GussetPlateConfiguration configuration, double l_1, double l_2) { switch (configuration) { case GussetPlateConfiguration.CompactCorner: return 0; break; case GussetPlateConfiguration.NoncompactCorner: return 1.0 * (l_1 + l_2) / 2.0; break; case GussetPlateConfiguration.ExtendedCorner: return 0.6 * l_1; break; case GussetPlateConfiguration.SingleBrace: return 0.7 * l_1; break; case GussetPlateConfiguration.Chevron: return 0.65 * l_1; break; default: return l_1 * 1.0; break; } }