public static Dictionary<string, object> HeadedAnchorPositionAndGroupFactors(string HeadedAnchorDeckCondition,string HeadedAnchorWeldCase,double N_saRib,double e_mid_ht,double h_r, double w_r, string Code = "AISC360-10") { //Default values double R_g = 0; double R_p = 0; //Calculation logic: steel.DeckAtBeamCondition deckCondition; bool IsValidHeadedAnchorDeckCondition = Enum.TryParse(HeadedAnchorDeckCondition, true, out deckCondition); if (IsValidHeadedAnchorDeckCondition == false) { throw new Exception("Headed anchor position and group factor calculation failed. Invalid string provided for HeadedAnchorDeckCondition."); } steel.HeadedAnchorWeldCase studWeld; bool IsValidHeadedAnchorWeldCase = Enum.TryParse(HeadedAnchorWeldCase, true, out studWeld); if (IsValidHeadedAnchorWeldCase == false) { throw new Exception("Headed anchor position and group factor calculation failed. Invalid string provided for HeadedAnchorWeldCase."); } HeadedAnchor a = new HeadedAnchor(); R_g = a.GetGroupFactorR_g(deckCondition, studWeld, N_saRib, h_r, w_r); R_p = a.GetPlacementFactorR_p(deckCondition, studWeld, e_mid_ht); return new Dictionary<string, object> { { "R_g", R_g } ,{ "R_p", R_p } }; }
public static Dictionary<string, object> ShearStrengthOfHeadedAnchor(double d_sa, double R_g, double R_p, double fc_prime, double w_c, double F_u = 65, string Code="AISC360-10" ) { //Default values double Q_n = 0; double phiQ_n = 0; //Calculation logic: HeadedAnchor a = new HeadedAnchor(); Q_n =a.GetNominalShearStrength(d_sa,R_g,R_p,fc_prime,F_u,w_c); phiQ_n = a.GetShearStrength(d_sa, R_g, R_p, fc_prime, F_u,w_c); return new Dictionary<string, object> { { "Q_n", Q_n }, { "phiQ_n", phiQ_n } }; }