public static double GetStrengthReductionFactorForSteel(
            AnchorSteelElementFailureType SteelFailureType,
            AnchorLoadType LoadType)
        {
            double phi = 0.0;

            //17.3.3
            if (SteelFailureType == AnchorSteelElementFailureType.Ductile)
            {
                if (LoadType == AnchorLoadType.Tension)
                {
                    phi = 0.75;
                }
                else //LoadType.Shear
                {
                    phi = 0.65;
                }
            }
            else //Brittle failure
            {
                if (LoadType == AnchorLoadType.Tension)
                {
                    phi = 0.65;
                }
                else //LoadType.Shear
                {
                    phi = 0.6;
                }
            }

            return(phi);
        }
Example #2
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;
 }
        public static double GetStrengthReductionFactorForSteel(
            AnchorSteelElementFailureType SteelFailureType,
            AnchorLoadType LoadType)
        {
            double phi = 0.0;
            //17.3.3
            if (SteelFailureType == AnchorSteelElementFailureType.Ductile)
            {
                if (LoadType == AnchorLoadType.Tension)
                {
                    phi = 0.75;
                }
                else //LoadType.Shear
                {
                    phi = 0.65;
                }
            }
            else //Brittle failure
            {
                if (LoadType == AnchorLoadType.Tension)
                {
                    phi = 0.65;
                }
                else //LoadType.Shear
                {
                    phi = 0.6;
                }

            }

            return phi;
        }
 /// <summary>
 ///
 /// </summary>
 /// <param name="n"></param>
 /// <param name="futa"></param>
 /// <param name="fya"></param>
 /// <param name="A_se_N"></param>
 /// <param name="SteelFailureType"></param>
 /// <param name="AnchorType"></param>
 public AnchorSteelTension(
     int n,
     double futa,
     double fya,
     double A_se_N,
     AnchorSteelElementFailureType SteelFailureType, AnchorInstallationType AnchorType)
     : base(n, futa, fya, A_se_N, SteelFailureType, AnchorType)
 {
 }
        /// <summary>
        /// 
        /// </summary>
        /// <param name="n"></param>
        /// <param name="futa"></param>
        /// <param name="fya"></param>
        /// <param name="A_se_N"></param>
        /// <param name="SteelFailureType"></param>
        /// <param name="AnchorType"></param>
        public AnchorSteelTension(
            int n,
            double futa,
            double fya,
            double A_se_N,
            AnchorSteelElementFailureType SteelFailureType, AnchorInstallationType AnchorType)
            : base(n, futa, fya, A_se_N, SteelFailureType, AnchorType)
        {

        }
 public AnchorSteelShear(
     int n,
     double f_uta,
     double f_ya,
     double A_se_N,
     AnchorSteelElementFailureType SteelElementFailureType,
     AnchorInstallationType AnchorType, CastInAnchorageType CastInAnchorageType)
     : base(n, f_uta, f_ya, A_se_N, SteelElementFailureType, AnchorType)
 {
 }
        public AnchorSteelShear(
            int n,
            double f_uta,
            double f_ya,
            double A_se_N,
            AnchorSteelElementFailureType SteelElementFailureType,
            AnchorInstallationType AnchorType, CastInAnchorageType CastInAnchorageType)
            : base(n, f_uta, f_ya, A_se_N, SteelElementFailureType, AnchorType)
        {

        }
Example #9
0
 public AnchorageSteelLimitState(
     int n,
     double futa,
     double fya,
     double A_se_N,
     AnchorSteelElementFailureType SteelFailureType, AnchorInstallationType AnchorType
     )
     : base(n, AnchorType)
 {
     this.n      = n;
     this.futa   = futa;
     this.fya    = fya;
     this.A_se_N = A_se_N;
 }
        public AnchorageSteelLimitState(
            int n,
            double futa,
            double fya,
            double A_se_N,
            AnchorSteelElementFailureType SteelFailureType, AnchorInstallationType AnchorType
            )
            : base(n, AnchorType)
        {

            this.n=     n;
            this.futa=  futa;
            this.fya=   fya;
            this.A_se_N = A_se_N;

        }