Example #1
0
        private void CalculateValuesBasic()
        {
            this.Rebar1Diameter = Bar1.Diameter;
            this.Rebar2Diameter = Bar2.Diameter;
            DevelopmentTension td1 = new DevelopmentTension(Concrete, Bar1,MeetsRebarSpacingAndEdgeDistance,IsTopRebar,1.0,true, Log);
            DevelopmentTension td2 = new DevelopmentTension(Concrete, Bar2, MeetsRebarSpacingAndEdgeDistance, IsTopRebar, 1.0, true, Log);

            this.Rebar1DevelopmentLength = td1.GetTensionDevelopmentLength(HasMinimumTransverseReinforcement);
            this.Rebar2DevelopmentLength = td2.GetTensionDevelopmentLength(HasMinimumTransverseReinforcement);
        }
Example #2
0
        private void CalculateValuesBasic()
        {
            this.Rebar1Diameter = Bar1.Diameter;
            this.Rebar2Diameter = Bar2.Diameter;
            DevelopmentTension td1 = new DevelopmentTension(Concrete, Bar1, MeetsRebarSpacingAndEdgeDistance, IsTopRebar, 1.0, true, Log);
            DevelopmentTension td2 = new DevelopmentTension(Concrete, Bar2, MeetsRebarSpacingAndEdgeDistance, IsTopRebar, 1.0, true, Log);

            this.Rebar1DevelopmentLength = td1.GetTensionDevelopmentLength(HasMinimumTransverseReinforcement);
            this.Rebar2DevelopmentLength = td2.GetTensionDevelopmentLength(HasMinimumTransverseReinforcement);
        }
Example #3
0
        private void CalculateValuesDetailed()
        {
            this.Rebar1Diameter = Bar1.Diameter;
            this.Rebar2Diameter = Bar2.Diameter;
            DevelopmentTension td1 = new DevelopmentTension(Concrete, Bar1, ClearSpacing, ClearCover, IsTopRebar, 1.0, true, Log);
            DevelopmentTension td2 = new DevelopmentTension(Concrete, Bar2, ClearSpacing, ClearCover, IsTopRebar, 1.0, true, Log);

            this.Rebar1DevelopmentLength = td1.GetTensionDevelopmentLength(A_tr, s_tr, n);
            this.Rebar2DevelopmentLength = td2.GetTensionDevelopmentLength(A_tr, s_tr, n);
        }
        public static Dictionary<string, object> StraightBarTensionDevelopmentLengthDetailed(Concrete.ACI318.General.Concrete.ConcreteMaterial ConcreteMaterial, double d_b, 
            RebarMaterial RebarMaterial, string RebarCoatingType, string RebarCastingPosition, double ExcessRebarRatio, double s_clear, double c_c,
            double A_tr, double s_tr, double n, string Code = "ACI318-14")
        {
            //Default values
            double l_d = 0;


            //Calculation logic:
            IRebarMaterial mat = RebarMaterial.Material;

            bool IsEpoxyCoated = false;
            switch (RebarCoatingType)
            {
                case "Uncoated": IsEpoxyCoated = false; break;
                case "EpoxyCoated": IsEpoxyCoated = true; break;

                default: throw new Exception("Unrecognized rebar coating. Please check string input"); break;
            }

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


            bool IsTopRebar = false;
            switch (RebarCastingPosition)
            {
                case "Other": IsTopRebar = false; break;
                case "Top": IsTopRebar = true; break;

                default: throw new Exception("Unrecognized rebar casting position. Please check string input"); break;
            }

            CalcLog log = new CalcLog();

            DevelopmentTension d = new DevelopmentTension(ConcreteMaterial.Concrete,rebar,s_clear,c_c,IsTopRebar,ExcessRebarRatio,true,log);
            l_d = d.GetTensionDevelopmentLength(A_tr,s_tr,n);


            return new Dictionary<string, object>
            {
                { "l_d", l_d }
 
            };
        }
Example #5
0
        private void CalculateValuesDetailed()
        {
            this.Rebar1Diameter = Bar1.Diameter;
            this.Rebar2Diameter = Bar2.Diameter;
            DevelopmentTension td1 = new DevelopmentTension(Concrete, Bar1, ClearSpacing, ClearCover, IsTopRebar, 1.0, true, Log);
            DevelopmentTension td2 = new DevelopmentTension(Concrete, Bar2, ClearSpacing, ClearCover, IsTopRebar, 1.0, true, Log);

            this.Rebar1DevelopmentLength = td1.GetTensionDevelopmentLength(A_tr,s_tr,n);
            this.Rebar2DevelopmentLength = td2.GetTensionDevelopmentLength(A_tr, s_tr, n);
        }
        private DevelopmentTension CreateDevelopmentObject(double ConcStrength, double RebarDiameter, bool IsEpoxyCoated,
    ConcreteTypeByWeight typeByWeight, TypeOfLightweightConcrete lightWeightType, double AverageSplitStrength,
    double ClearSpacing, double ClearCover, bool IsTopRebar, double ExcessRebarRatio, bool checkMinLength)
        {
            MockRepository mocks = new MockRepository();

            IRebarMaterial rebarMat = mocks.Stub<IRebarMaterial>();
            Expect.Call(rebarMat.YieldStress).Return(60000);
            //IRebarMaterial rebarMat = new MaterialAstmA706() as IRebarMaterial;

            ICalcLogEntry entryStub = mocks.Stub<ICalcLogEntry>();
            //entryStub.DependencyValues = new Dictionary<string, double>();
            ICalcLog logStub = mocks.Stub<ICalcLog>();

            //IConcreteMaterial ConcStub = mocks.Stub<IConcreteMaterial>();
            IConcreteMaterial ConcStub = new ConcreteMaterial(ConcStrength, typeByWeight, lightWeightType,
                logStub) as IConcreteMaterial;
            ConcStub.SpecifiedCompressiveStrength = ConcStrength;
            ConcStub.TypeByWeight = typeByWeight;
            ConcStub.AverageSplittingTensileStrength = AverageSplitStrength;


            using (mocks.Record())
            {
                logStub.CreateNewEntry();
                LastCall.Return(entryStub);
            }

            DevelopmentTension tensDev = new DevelopmentTension(ConcStub,
                            new Rebar(RebarDiameter, IsEpoxyCoated, rebarMat),
                            ClearSpacing, ClearCover, IsTopRebar, ExcessRebarRatio, checkMinLength, logStub);

            return tensDev;
        }
        public static Dictionary<string, object> StraightBarTensionDevelopmentLengthBasic(Concrete.ACI318.General.Concrete.ConcreteMaterial ConcreteMaterial, double d_b, 
            Concrete.ACI318.General.Reinforcement.RebarMaterial RebarMaterial,
            string RebarCoatingType, string RebarCastingPosition, double ExcessRebarRatio, bool MeetsRebarSpacingAndEdgeDistance,
            bool HasMinimumTransverseReinforcement = false, string Code = "ACI318-14")
        {
            //Default values
            double l_d = 0;


            //Calculation logic:

            IRebarMaterial mat = RebarMaterial.Material;
            
            bool IsEpoxyCoated = false;
            switch (RebarCoatingType)
            {
                case "Uncoated"   :  IsEpoxyCoated= false; break;
                case "EpoxyCoated":  IsEpoxyCoated=true; break;

                default: throw new Exception("Unrecognized rebar coating. Please check string input"); break;
            }

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

            bool IsTopRebar = false;
            switch (RebarCastingPosition)
            {
                case "Other"   :  IsTopRebar= false; break;
                case "Top":  IsTopRebar=true; break;

                default: throw new Exception("Unrecognized rebar casting position. Please check string input"); break;
            }

            CalcLog log = new CalcLog();

            DevelopmentTension d = new DevelopmentTension(ConcreteMaterial.Concrete, rebar, MeetsRebarSpacingAndEdgeDistance, IsTopRebar, ExcessRebarRatio, true, log);
            l_d = d.GetTensionDevelopmentLength(HasMinimumTransverseReinforcement);

            return new Dictionary<string, object>
            {
                { "l_d", l_d }
 
            };
        }