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