Пример #1
0
 /// <summary>
 /// Calculation of concrete breakout strength of anchor in shear per 17.5.2 of ACI318-14
 /// </summary>
 /// <param name="n">Number of anchors</param>
 /// <param name="nFirstRow">Number of anchors in the direction in the first row parallel to edge</param>
 /// <param name="h_eff">Effective embedment depth of anchor</param>
 /// <param name="SteelFailureType">Ductile versus brittle failure type for steel anchor</param>
 /// <param name="NumberOfEdges">Number of edges locater less than 1.5*h_ef from the anchor</param>
 /// <param name="ca_1">Distance from the center of an anchor shaft to the edge of concrete in one direction, in. If shear is applied to anchor, ca1 is taken in the direction of the applied shear. If tension is applied to the anchor, ca1 is the minimum edge distance.</param>
 /// <param name="ca_2">Distance from center of an anchor shaft to the edge of concrete in the direction perpendicular to ca_1</param>
 /// <param name="s_Max">Maximum spacing between anchors within the group</param>
 /// <param name="e_prime_v">Eccentricity</param>
 /// <param name="ConcreteCondition">Cracked vs. uncracked concrete</param>
 /// <param name="SupplementalReinforcement">Presence of supplemental reinforcement</param>
 /// <param name="A_vc">Projected area of the failure surface on the side of the concrete member at its edge for a group  of anchors (or single anchor if there's no group effect)</param>
 /// <param name="h_a">Thickness of member in which an anchor is located, measured parallel to anchor axis.</param>
 /// <param name="IsCastContinuouslyWelded"></param>
 /// <param name="lambda"></param>
 /// <param name="TypeOfAnchorSleeve">Constant stiffness or separated sleeve (used in calculating l_e per 17.5.2.2) </param>
 /// <param name="d_a">Outside diameter of anchor</param>
 /// <param name="AnchorType">PostInstalled versus cast in place anchor</param>
 public ConcreteBreakoutShear
     (IConcreteMaterial Material, int n, int nFirstRow, double h_eff, AnchorSteelElementFailureType SteelFailureType,
     int NumberOfEdges, double ca_1, double ca_2, double s_Max, double e_prime_v,
     ConcreteCrackingCondition ConcreteCondition, SupplementalReinforcementAtAnchor SupplementalReinforcement, double A_vc,
     double h_a, bool IsCastContinuouslyWelded, TypeOfAnchorSleeve TypeOfAnchorSleeve, double d_a,
     AnchorInstallationType AnchorType
     )
     : base(n, h_eff, AnchorType)
 {
     this.Material                  = Material;
     this.SteelFailureType          = SteelFailureType;
     this.NumberOfEdges             = NumberOfEdges;
     this.ca_1                      = ca_1;
     this.ca_2                      = ca_2;
     this.s_MAX                     = s_Max;
     this.ev_p                      = e_prime_v;
     this.ConcreteCondition         = ConcreteCondition;
     this.SupplementalReinforcement = SupplementalReinforcement;
     this.A_vc                      = A_vc;
     this.h_a       = h_a;
     this.nFirstRow = nFirstRow;
     this.IsCastContinuouslyWelded = IsCastContinuouslyWelded;
     this.TypeOfAnchorSleeve       = TypeOfAnchorSleeve;
     this.d_a = d_a;
 }
 /// <summary>
 /// Calculation of concrete breakout strength of anchor in shear per 17.5.2 of ACI318-14
 /// </summary>
 /// <param name="n">Number of anchors</param>
 /// <param name="nFirstRow">Number of anchors in the direction in the first row parallel to edge</param>
 /// <param name="h_eff">Effective embedment depth of anchor</param>
 /// <param name="SteelFailureType">Ductile versus brittle failure type for steel anchor</param>
 /// <param name="NumberOfEdges">Number of edges locater less than 1.5*h_ef from the anchor</param>
 /// <param name="ca_1">Distance from the center of an anchor shaft to the edge of concrete in one direction, in. If shear is applied to anchor, ca1 is taken in the direction of the applied shear. If tension is applied to the anchor, ca1 is the minimum edge distance.</param>
 /// <param name="ca_2">Distance from center of an anchor shaft to the edge of concrete in the direction perpendicular to ca_1</param>
 /// <param name="s_Max">Maximum spacing between anchors within the group</param>
 /// <param name="e_prime_v">Eccentricity</param>
 /// <param name="ConcreteCondition">Cracked vs. uncracked concrete</param>
 /// <param name="SupplementalReinforcement">Presence of supplemental reinforcement</param>
 /// <param name="A_vc">Projected area of the failure surface on the side of the concrete member at its edge for a group  of anchors (or single anchor if there's no group effect)</param>
 /// <param name="h_a">Thickness of member in which an anchor is located, measured parallel to anchor axis.</param>
 /// <param name="IsCastContinuouslyWelded"></param>
 /// <param name="lambda"></param>
 /// <param name="TypeOfAnchorSleeve">Constant stiffness or separated sleeve (used in calculating l_e per 17.5.2.2) </param>
 /// <param name="d_a">Outside diameter of anchor</param>
 /// <param name="AnchorType">PostInstalled versus cast in place anchor</param>
 public ConcreteBreakoutShear
       ( IConcreteMaterial Material, int n, int nFirstRow, double h_eff, AnchorSteelElementFailureType SteelFailureType,
     int NumberOfEdges, double ca_1, double ca_2, double s_Max, double e_prime_v,
     ConcreteCrackingCondition ConcreteCondition, SupplementalReinforcementAtAnchor SupplementalReinforcement, double A_vc,
     double h_a, bool IsCastContinuouslyWelded, TypeOfAnchorSleeve TypeOfAnchorSleeve, double d_a,
     AnchorInstallationType AnchorType
     )
     : base(n, h_eff, AnchorType)
 {
     this.Material = Material;
     this.SteelFailureType = SteelFailureType;
     this.NumberOfEdges = NumberOfEdges;
     this.ca_1 = ca_1;
     this.ca_2 = ca_2;
     this.s_MAX = s_Max;
     this.ev_p = e_prime_v;
     this.ConcreteCondition=ConcreteCondition;
     this.SupplementalReinforcement = SupplementalReinforcement;
     this.A_vc = A_vc;
     this.h_a = h_a;
     this.nFirstRow = nFirstRow;
     this.IsCastContinuouslyWelded = IsCastContinuouslyWelded;
     this.TypeOfAnchorSleeve = TypeOfAnchorSleeve;
     this.d_a = d_a;
 }
Пример #3
0
        /// <summary>
        /// Modification factor which allows for cracking
        /// </summary>
        /// <param name="Condition"></param>
        /// <param name="Reinforcement"></param>
        /// <returns></returns>
        private double Get_gamma_c_V(ConcreteCrackingCondition Condition, SupplementalReinforcementAtAnchor Reinforcement)
        {
            double gamma_c_V = 0.0;

            switch (Condition)
            {
            case ConcreteCrackingCondition.Uncracked:
                gamma_c_V = 1.4;
                break;

            case ConcreteCrackingCondition.Cracked:
                switch (Reinforcement)
                {
                case SupplementalReinforcementAtAnchor.NotPresent:
                    gamma_c_V = 1.0;
                    break;

                case SupplementalReinforcementAtAnchor.No4OrLargerBar:
                    gamma_c_V = 1.2;
                    break;

                case SupplementalReinforcementAtAnchor.No4OrLargerBarEnclosedWithTies:
                    gamma_c_V = 1.4;
                    break;
                }
                break;
            }
            return(gamma_c_V);
        }
        /// <summary>
        /// Modification factor which allows for cracking
        /// </summary>
        /// <param name="Condition"></param>
        /// <param name="Reinforcement"></param>
        /// <returns></returns>
        private double Get_gamma_c_V(ConcreteCrackingCondition Condition, SupplementalReinforcementAtAnchor Reinforcement)
        {
            double gamma_c_V = 0.0;
            switch (Condition)
            {
                case ConcreteCrackingCondition.Uncracked:
                    gamma_c_V = 1.4;
                    break;
                case ConcreteCrackingCondition.Cracked:
                    switch (Reinforcement)
	                {
                        case SupplementalReinforcementAtAnchor.NotPresent:
                            gamma_c_V = 1.0;
                            break;
                        case SupplementalReinforcementAtAnchor.No4OrLargerBar:
                            gamma_c_V = 1.2;
                            break;
                        case SupplementalReinforcementAtAnchor.No4OrLargerBarEnclosedWithTies:
                            gamma_c_V = 1.4;
                            break;
	                }
                    break;
            }
            return gamma_c_V;
        }