public double GetPlacementFactorR_p(DeckAtBeamCondition HeadedAnchorDeckCondition,HeadedAnchorWeldCase HeadedAnchorWeldCase,double e_mid_ht) { double R_p; if (HeadedAnchorWeldCase == AISC.HeadedAnchorWeldCase.WeldedDirectly) { //(1a) steel headed stud anchors welded directly to the steel shape; R_p = 0.75; } else { if (HeadedAnchorDeckCondition == AISC.DeckAtBeamCondition.Parallel) { //(1c) steel headed stud anchors welded through steel deck, or steel sheet //used as girder filler material, and embedded in a composite slab with //the deck oriented parallel to the beam R_p = 0.75; } else if (HeadedAnchorDeckCondition == AISC.DeckAtBeamCondition.Perpendicular) { if (e_mid_ht>=2) { //(1b) steel headed stud anchors welded in a composite slab with the deck //oriented perpendicular to the beam and emid-ht ≥ 2 in.; R_p = 0.75; } else { //(3) for steel headed stud anchors welded in a composite slab with deck //oriented perpendicular to the beam and emid-ht < 2 in R_p = 0.6; } } else //No decking { R_p = 0.75; } } return R_p; }
public double GetNominalShearStrength(DeckAtBeamCondition HeadedAnchorDeckCondition, HeadedAnchorWeldCase HeadedAnchorWeldCase, double N_saRib, double e_mid_ht, double h_r, double w_r, double d_sa, double fc_prime, double F_u, double w_c) { double R_g = GetGroupFactorR_g(HeadedAnchorDeckCondition, HeadedAnchorWeldCase, N_saRib, h_r, w_r); double R_p = GetPlacementFactorR_p(HeadedAnchorDeckCondition, HeadedAnchorWeldCase, e_mid_ht); return(GetNominalShearStrength(d_sa, R_g, R_p, fc_prime, F_u, w_c)); }
public double GetGroupFactorR_g(DeckAtBeamCondition HeadedAnchorDeckCondition, HeadedAnchorWeldCase HeadedAnchorWeldCase, double N_saRib, double h_r, double w_r) { double R_g; if (HeadedAnchorWeldCase == AISC.HeadedAnchorWeldCase.WeldedDirectly) { //(1b) any number of steel headed stud anchors welded in a row directly to the steel shape R_g = 1.0; } else { double w_rTo_h_r = w_r / h_r; if (HeadedAnchorDeckCondition == AISC.DeckAtBeamCondition.Parallel) { if (w_r / h_r >= 1.5) { //(1c) // any number of steel headed stud anchors welded in a row through // steel deck with the deck oriented parallel to the steel shape and the // ratio of the average rib width to rib depth = 1.5 R_g = 1.0; } else { if (N_saRib == 1) { //(2b) one steel headed stud anchor welded through steel deck with the deck //oriented parallel to the steel shape and the ratio of the average rib //width to rib depth < 1.5 R_g = 0.85; } else { R_g = 0.7; // this value is assumed as the spec does not explcitly cover the case } } } else if (HeadedAnchorDeckCondition == AISC.DeckAtBeamCondition.Perpendicular) { if (N_saRib == 1) { //(1a) one steel headed stud anchor welded in a steel deck rib with the deck //oriented perpendicular to the steel shape; R_g = 1.0; } else if (N_saRib == 2) { //(2a) two steel headed stud anchors welded in a steel deck rib with the deck //oriented perpendicular to the steel shape; R_g = 0.85; } else { //(3) for three or more steel headed stud anchors welded in a steel deck rib //with the deck oriented perpendicular to the steel shape R_g = 0.7; } } else //No deck { R_g = 1.0; } } return(R_g); }
public double GetPlacementFactorR_p(DeckAtBeamCondition HeadedAnchorDeckCondition, HeadedAnchorWeldCase HeadedAnchorWeldCase, double e_mid_ht) { double R_p; if (HeadedAnchorWeldCase == AISC.HeadedAnchorWeldCase.WeldedDirectly) { //(1a) steel headed stud anchors welded directly to the steel shape; R_p = 0.75; } else { if (HeadedAnchorDeckCondition == AISC.DeckAtBeamCondition.Parallel) { //(1c) steel headed stud anchors welded through steel deck, or steel sheet //used as girder filler material, and embedded in a composite slab with //the deck oriented parallel to the beam R_p = 0.75; } else if (HeadedAnchorDeckCondition == AISC.DeckAtBeamCondition.Perpendicular) { if (e_mid_ht >= 2) { //(1b) steel headed stud anchors welded in a composite slab with the deck //oriented perpendicular to the beam and emid-ht ≥ 2 in.; R_p = 0.75; } else { //(3) for steel headed stud anchors welded in a composite slab with deck //oriented perpendicular to the beam and emid-ht < 2 in R_p = 0.6; } } else //No decking { R_p = 0.75; } } return(R_p); }
public double GetGroupFactorR_g(DeckAtBeamCondition HeadedAnchorDeckCondition,HeadedAnchorWeldCase HeadedAnchorWeldCase, double N_saRib,double h_r,double w_r) { double R_g; if (HeadedAnchorWeldCase == AISC.HeadedAnchorWeldCase.WeldedDirectly) { //(1b) any number of steel headed stud anchors welded in a row directly to the steel shape R_g = 1.0; } else { double w_rTo_h_r = w_r / h_r; if (HeadedAnchorDeckCondition == AISC.DeckAtBeamCondition.Parallel) { if (w_r / h_r>=1.5) { //(1c) // any number of steel headed stud anchors welded in a row through // steel deck with the deck oriented parallel to the steel shape and the // ratio of the average rib width to rib depth ≥ 1.5 R_g = 1.0; } else { if (N_saRib == 1) { //(2b) one steel headed stud anchor welded through steel deck with the deck //oriented parallel to the steel shape and the ratio of the average rib //width to rib depth < 1.5 R_g = 0.85; } else { R_g = 0.7; // this value is assumed as the spec does not explcitly cover the case } } } else if (HeadedAnchorDeckCondition == AISC.DeckAtBeamCondition.Perpendicular) { if (N_saRib ==1) { //(1a) one steel headed stud anchor welded in a steel deck rib with the deck //oriented perpendicular to the steel shape; R_g = 1.0; } else if (N_saRib ==2) { //(2a) two steel headed stud anchors welded in a steel deck rib with the deck //oriented perpendicular to the steel shape; R_g = 0.85; } else { //(3) for three or more steel headed stud anchors welded in a steel deck rib //with the deck oriented perpendicular to the steel shape R_g = 0.7; } } else //No deck { R_g = 1.0; } } return R_g; }
public double GetNominalShearStrength(DeckAtBeamCondition HeadedAnchorDeckCondition,HeadedAnchorWeldCase HeadedAnchorWeldCase, double N_saRib,double e_mid_ht,double h_r,double w_r,double d_sa, double fc_prime, double F_u, double w_c) { double R_g = GetGroupFactorR_g(HeadedAnchorDeckCondition, HeadedAnchorWeldCase, N_saRib, h_r, w_r); double R_p = GetPlacementFactorR_p(HeadedAnchorDeckCondition, HeadedAnchorWeldCase,e_mid_ht); return GetNominalShearStrength(d_sa, R_g, R_p, fc_prime, F_u,w_c); }