/// <summary> /// /// </summary> /// <param name="ConnectorType">Connector type (e.g.DowelTypeFastenerInWoodToWoodConnection)</param> /// <param name="E_m">Modulus of elasticity of main member</param> /// <param name="A_m">Gross cross-sectional area of main member(s)</param> /// <param name="E_s">Modulus of elasticity of side member</param> /// <param name="A_s">Sum of gross cross-sectional areas of side member(s)</param> /// <param name="D">Dowel-type fastener diameter</param> /// <returns></returns> public double GetGroupActionFactor(MechanicalConnectorTypeForGroupEffects ConnectorType, double E_m, double A_m, double E_s, double A_s, double n, double s, double D = 0.25) { bool IsDowelTypeFastener = false; if (ConnectorType == MechanicalConnectorTypeForGroupEffects.DowelTypeFastenerInWoodToMetalConnection || ConnectorType == MechanicalConnectorTypeForGroupEffects.DowelTypeFastenerInWoodToWoodConnection) { IsDowelTypeFastener = true; } double C_g; if (IsDowelTypeFastener == true && D < 0.25) { C_g = 1.0; } else { double gamma = GetGamma(ConnectorType, D); double R_EA = Math.Min(((E_s * A_s) / (E_m * A_m)), ((E_m * A_m) / (E_s * A_s))); double u = 1 + gamma * ((s) / (2.0)) * ((1.0) / (E_m * A_m)) + (1.0 / (E_s * A_s)); double m = u - Math.Sqrt(Math.Pow(u, 2) - 1.0); C_g = (((m * (1 - Math.Pow(m, 2))) / (n * ((1 + R_EA * Math.Pow(m, n)) * (1 + m) - 1 + Math.Pow(m, 2.0 * n))))) * (1); } return(C_g); }
private double GetGamma(MechanicalConnectorTypeForGroupEffects ConnectorType, double D) { switch (ConnectorType) { case MechanicalConnectorTypeForGroupEffects.FourInchSplitRing: return(500000.0); break; case MechanicalConnectorTypeForGroupEffects.ShearPlateConnector: return(500000.0); break; case MechanicalConnectorTypeForGroupEffects.TwoAndHalfInchSplitRing: return(400000.0); break; case MechanicalConnectorTypeForGroupEffects.TwoAndFiveEighthShearPlateConnectors: return(400000.0); break; case MechanicalConnectorTypeForGroupEffects.DowelTypeFastenerInWoodToWoodConnection: return(180000.0 * Math.Pow(D, 1.5)); break; case MechanicalConnectorTypeForGroupEffects.DowelTypeFastenerInWoodToMetalConnection: return(180000.0 * Math.Pow(D, 1.5)); break; default: throw new Exception("Unrecognized connector type."); break; } }