public void HeadedAnchorPerpendicularDeckReturnsValue() { HeadedAnchor a = new HeadedAnchor(); double Q_n = a.GetNominalShearStrength(DeckAtBeamCondition.Perpendicular, HeadedAnchorWeldCase.WeldedThroughDeck, 2, 3, 3, 6, 0.75, 4, 65, 110); double refValue = 18.3; double actualTolerance = EvaluateActualTolerance(Q_n, refValue); Assert.True(actualTolerance <= tolerance); }
public void HeadedAnchorParalleDeckReturnsValue() { HeadedAnchor a = new HeadedAnchor(); double Q_n = a.GetNominalShearStrength(DeckAtBeamCondition.Parallel, HeadedAnchorWeldCase.WeldedThroughDeck, 1, 3, 3, 6, 0.75, 4, 65, 110); double refValue = 21.2; double actualTolerance = EvaluateActualTolerance(Q_n, refValue); Assert.LessOrEqual(actualTolerance, tolerance); }
public void HeadedAnchorNoDeckReturnsValue() { HeadedAnchor a = new HeadedAnchor(); double Q_n = a.GetNominalShearStrength(DeckAtBeamCondition.NoDeck, HeadedAnchorWeldCase.WeldedDirectly, 1, 3, 3, 6, 0.75, 4, 65, 110); double refValue = 21.2; double actualTolerance = EvaluateActualTolerance(Q_n, refValue); Assert.True(actualTolerance <= tolerance); }
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 } }); }
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 } }); }