Exemple #1
0
        public void GetDevelopmentLength_PCAExample_10000psiN3bar_ReturnsValue()
        {
            double ConcStrength           = 10000;
            double RebarDiam              = 0.375;
            StandardHookInTension stdHook = CreateHookObject(ConcStrength, RebarDiam);
            double ldh = Math.Round(stdHook.GetDevelopmentLength(), 0);

            Assert.AreEqual(6.0, ldh);
        }
Exemple #2
0
        public void GetDevelopmentLength_PCAExample_3000psiN18bar_ReturnsValue()
        {
            double ConcStrength           = 3000;
            double RebarDiam              = 2.257;
            StandardHookInTension stdHook = CreateHookObject(ConcStrength, RebarDiam);
            double ldh = Math.Round(stdHook.GetDevelopmentLength(), 0);

            Assert.AreEqual(49.0, ldh); //PCA is 49.5
        }
        public void GetDevelopmentLength_PCAExample_4000psiN6bar_ReturnsValue()
        {
            double ConcStrength           = 4000;
            double RebarDiam              = 0.75;
            StandardHookInTension stdHook = CreateHookObject(ConcStrength, RebarDiam);
            double ldh = Math.Round(stdHook.GetDevelopmentLength(), 1);

            Assert.Equal(14.2, ldh);
        }
Exemple #4
0
        public static Dictionary <string, object> StandardHookTensionDevelopmentLengthBasic(Concrete.ACI318.General.Concrete.ConcreteMaterial ConcreteMaterial, double d_b,
                                                                                            RebarMaterial RebarMaterial, double ExcessRebarRatio = 1.0, string RebarCoatingType = "Uncoated", string Code = "ACI318-14")
        {
            //Default values
            double l_dh = 0;


            //Calculation logic:

            IRebarMaterial mat           = RebarMaterial.Material;
            bool           IsEpoxyCoated = true;

            if (RebarCoatingType.ToLower() == "uncoated")
            {
                IsEpoxyCoated = false;
            }
            else if (RebarCoatingType.ToLower() == "epoxycoated")
            {
                IsEpoxyCoated = true;
            }
            else
            {
                throw new Exception("Unrecognized rebar coating string.");
            }
            Rebar rebar = new Rebar(d_b, IsEpoxyCoated, mat);

            CalcLog log = new CalcLog();

            StandardHookInTension hook = new StandardHookInTension(ConcreteMaterial.Concrete, rebar, log, ExcessRebarRatio);

            l_dh = hook.GetDevelopmentLength();

            return(new Dictionary <string, object>
            {
                { "l_dh", l_dh }
            });
        }
        public static Dictionary <string, object> StandardHookTensionDevelopmentLengthDetailed(Concrete.ACI318.General.Concrete.ConcreteMaterial ConcreteMaterial, double d_b,
                                                                                               RebarMaterial RebarMaterial, string HookType = "Degree90", string RebarCoatingType = "Uncoated", double ExcessRebarRatio = 1.0, double c_side = 1.5, double c_extension = 1.5, string EnclosingRebarDirection = "Parallel",
                                                                                               double s_enclosing = 12, string Code = "ACI318-14")
        {
            //Default values
            double l_dh = 0;


            //Calculation logic:

            IRebarMaterial mat = RebarMaterial.Material;

            bool IsEpoxyCoated = true;

            if (RebarCoatingType.ToLower() == "uncoated")
            {
                IsEpoxyCoated = false;
            }
            else if (RebarCoatingType.ToLower() == "epoxycoated")
            {
                IsEpoxyCoated = true;
            }
            else
            {
                throw new Exception("Unrecognized rebar coating string.");
            }

            Rebar rebar = new Rebar(d_b, IsEpoxyCoated, mat);

            CalcLog log = new CalcLog();

            StandardHookInTension hook = new StandardHookInTension(ConcreteMaterial.Concrete, rebar, log, ExcessRebarRatio);

            HookType _HookType;
            bool     IsValidHookTypeString = Enum.TryParse(HookType, true, out _HookType);

            if (IsValidHookTypeString == false)
            {
                throw new Exception("Failed to convert string. Check HookType string. Please check input");
            }


            bool enclosingRebarIsPerpendicular = false;

            if (EnclosingRebarDirection.ToLower() == "perpendicular")
            {
                enclosingRebarIsPerpendicular = true;
            }
            else if (EnclosingRebarDirection.ToLower() == "parallel")
            {
                enclosingRebarIsPerpendicular = false;
            }
            else
            {
                throw new Exception("Failed to convert string. Check EnclosingRebarDirection string. Please check input");
            }


            l_dh = hook.GetDevelopmentLength(_HookType, c_side, c_extension, enclosingRebarIsPerpendicular, s_enclosing);

            return(new Dictionary <string, object>
            {
                { "l_dh", l_dh }
            });
        }