Example #1
0
 public ConcreteMaterialBase(double SpecifiedConcreteStrength,
                             ConcreteTypeByWeight ConcreteType, double Density, ICalcLog log) : base(log)
 {
     this.fc           = SpecifiedConcreteStrength;
     this.typeByWeight = ConcreteType;
     this.wc           = Density;
 }
 public ConcreteMaterialBase(double SpecifiedConcreteStrength,
     ConcreteTypeByWeight ConcreteType, double Density, ICalcLog log): base(log)
 {
     this.fc = SpecifiedConcreteStrength;
     this.typeByWeight = ConcreteType;
     this.wc = Density;
 }
Example #3
0
		public ConcreteMaterial(double SpecifiedConcreteStrength,
		ConcreteTypeByWeight ConcreteType, TypeOfLightweightConcrete LightWeightConcreteType, ICalcLog log)
			: base(SpecifiedConcreteStrength, ConcreteType, log)
		{
			this.LightWeightConcreteType = LightWeightConcreteType;

		}
Example #4
0
        private StandardHookInTension CreateHookObject(double ConcStrength, double RebarDiameter, bool IsEpoxyCoated,
                                                       ConcreteTypeByWeight typeByWeight, double ExcessFlexureReinforcementRatio)
        {
            MockRepository mocks = new MockRepository();

            IRebarMaterial rebarMat = mocks.Stub <IRebarMaterial>();

            Expect.Call(rebarMat.YieldStress).Return(60000);
            Rebar rebar = new Rebar(RebarDiameter, IsEpoxyCoated, rebarMat);

            ICalcLogEntry entryStub = mocks.Stub <ICalcLogEntry>();
            ICalcLog      logStub   = mocks.Stub <ICalcLog>();

            //IConcreteMaterial ConcStub = mocks.Stub<IConcreteMaterial>();
            IConcreteMaterial ConcStub = new ConcreteMaterial(ConcStrength, typeByWeight, logStub) as IConcreteMaterial;

            ConcStub.SpecifiedCompressiveStrength = ConcStrength;
            ConcStub.TypeByWeight = typeByWeight;


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

            StandardHookInTension tensHook = new StandardHookInTension(ConcStub, rebar, logStub, ExcessFlexureReinforcementRatio);

            return(tensHook);
        }
        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;
        }
Example #6
0
        private StandardHookInTension CreateHookObject(double ConcStrength, double RebarDiameter, bool IsEpoxyCoated,
    ConcreteTypeByWeight typeByWeight, double ExcessFlexureReinforcementRatio)
        {
            MockRepository mocks = new MockRepository();

            IRebarMaterial rebarMat = mocks.Stub<IRebarMaterial>();
            Expect.Call(rebarMat.YieldStress).Return(60000);
            Rebar rebar = new Rebar(RebarDiameter,IsEpoxyCoated, rebarMat);

            ICalcLogEntry entryStub = mocks.Stub<ICalcLogEntry>();
            ICalcLog logStub = mocks.Stub<ICalcLog>();

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


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

            StandardHookInTension tensHook = new StandardHookInTension(ConcStub, rebar, logStub, ExcessFlexureReinforcementRatio);

            return tensHook;
        }
        private DevelopmentTension CreateDevelopmentObject(double ConcStrength, ConcreteTypeByWeight typeByWeight, double ClearSpacing, double ClearCover, bool IsTopRebar,
        double ExcessRebarRatio, bool checkMinLength)
        {
            DevelopmentTension tensDev = this.CreateDevelopmentObject(ConcStrength, ConcreteTypeByWeight.Lightweight, 0.0,
                            ClearSpacing, ClearCover, IsTopRebar, ExcessRebarRatio, checkMinLength);

            return tensDev;
        }
        private DevelopmentTension CreateDevelopmentObject(double ConcStrength, ConcreteTypeByWeight typeByWeight, double AverageSplitStrength,
                                                           double ClearSpacing, double ClearCover, bool IsTopRebar, double ExcessRebarRatio, bool checkMinLength)
        {
            DevelopmentTension tensDev = this.CreateDevelopmentObject(ConcStrength, 1.0, false, typeByWeight, AverageSplitStrength,
                                                                      ClearSpacing, ClearCover, IsTopRebar, ExcessRebarRatio, checkMinLength);

            return(tensDev);
        }
Example #9
0
        private StandardHookInTension CreateHookObject(double ConcStrength, double RebarDiameter)
        {
            bool IsEpoxyCoated = false;
            ConcreteTypeByWeight typeByWeight      = ConcreteTypeByWeight.Normalweight;
            double ExcessFlexureReinforcementRatio = 1.0;

            return(this.CreateHookObject(ConcStrength, RebarDiameter, IsEpoxyCoated, typeByWeight, ExcessFlexureReinforcementRatio));
        }
Example #10
0
 public ConcreteMaterialBase(double SpecifiedConcreteStrength,
                             ConcreteTypeByWeight ConcreteType, double Density, double AverageSplittingTensileStrength,
                             ICalcLog log)
     : base(log)
 {
     this.fc           = SpecifiedCompressiveStrength;
     this.typeByWeight = ConcreteType;
     this.wc           = Density;
     this.averageSplittingTensileStrength = AverageSplittingTensileStrength;
 }
 public ConcreteMaterialBase(double SpecifiedConcreteStrength,
 ConcreteTypeByWeight ConcreteType, double Density, double AverageSplittingTensileStrength, 
     ICalcLog log)
     : base(log)
 {
     this.fc = SpecifiedCompressiveStrength;
     this.typeByWeight = ConcreteType;
     this.wc = Density;
     this.averageSplittingTensileStrength = AverageSplittingTensileStrength;
 }
        private DevelopmentTension CreateDevelopmentObject(double ConcStrength, double RebarDiameter, bool IsEpoxyCoated,
                                                           ConcreteTypeByWeight typeByWeight, double AverageSplitStrength,
                                                           double ClearSpacing, double ClearCover, bool IsTopRebar, double ExcessRebarRatio, bool checkMinLength)
        {
            DevelopmentTension tensDev = this.CreateDevelopmentObject
                                             (ConcStrength, RebarDiameter, IsEpoxyCoated, typeByWeight, TypeOfLightweightConcrete.AllLightweightConcrete, AverageSplitStrength,
                                             ClearSpacing, ClearCover, IsTopRebar, ExcessRebarRatio, checkMinLength);

            return(tensDev);
        }
        private DevelopmentTension CreateDevelopmentObject(double ConcStrength, double RebarDiameter, bool IsEpoxyCoated,
        ConcreteTypeByWeight typeByWeight, double AverageSplitStrength,
        double ClearSpacing, double ClearCover, bool IsTopRebar, double ExcessRebarRatio, bool checkMinLength)
        {
            DevelopmentTension tensDev = this.CreateDevelopmentObject
                (ConcStrength, RebarDiameter, IsEpoxyCoated, typeByWeight, TypeOfLightweightConcrete.AllLightweightConcrete, AverageSplitStrength,
                            ClearSpacing, ClearCover, IsTopRebar, ExcessRebarRatio, checkMinLength);

            return tensDev;

        }
Example #14
0
        public void GetTensionDevelopmentLength_PCAExample_4_3_Case2_ReturnsValue()
        {
            double RebarDiam                    = 1.0;
            bool   IsTopRebar                   = true;
            bool   IsEpoxyCoated                = false;
            ConcreteTypeByWeight type           = ConcreteTypeByWeight.Normalweight;
            double             ClearSpacing     = 1.33;
            double             ClearCover       = 2.0;
            double             fc               = 4000;
            double             ExcessRebarRatio = 1.0;
            DevelopmentTension tensDev          = this.CreateDevelopmentObject(fc, RebarDiam, IsEpoxyCoated, type,
                                                                               0.0, ClearSpacing, ClearCover, IsTopRebar, ExcessRebarRatio, true);
            double ld = Math.Round(tensDev.GetTensionDevelopmentLength(0.4, 10, 2), 0);

            Assert.AreEqual(47.0, ld);
        }
Example #15
0
        public void GetTensionDevelopmentLength_PCAExample_4_1_Case2_ReturnsValue()
        {
            double RebarDiam                    = 1.1280;
            bool   IsTopRebar                   = true;
            bool   IsEpoxyCoated                = true;
            ConcreteTypeByWeight type           = ConcreteTypeByWeight.Lightweight;
            double             ClearSpacing     = 21.7;
            double             ClearCover       = 3.0;
            double             fc               = 4000;
            double             ExcessRebarRatio = 1.0;
            DevelopmentTension tensDev          = this.CreateDevelopmentObject(fc, RebarDiam, IsEpoxyCoated, type,
                                                                               0.0, ClearSpacing, ClearCover, IsTopRebar, ExcessRebarRatio, true);
            double ld = Math.Round(tensDev.GetTensionDevelopmentLength(100, 10, 2), 1);

            Assert.AreEqual(72.8, ld);
        }
        private StandardHookInTension CreateHookObject(double ConcStrength, double RebarDiameter, bool IsEpoxyCoated,
                                                       ConcreteTypeByWeight typeByWeight, double ExcessFlexureReinforcementRatio)
        {
            IRebarMaterial rebarMat = new RebarMaterialGeneral(60000);
            Rebar          rebar    = new Rebar(RebarDiameter, IsEpoxyCoated, rebarMat);


            IConcreteMaterial ConcStub = new ConcreteMaterial(ConcStrength, typeByWeight, null) as IConcreteMaterial;

            ConcStub.SpecifiedCompressiveStrength = ConcStrength;
            ConcStub.TypeByWeight = typeByWeight;



            StandardHookInTension tensHook = new StandardHookInTension(ConcStub, rebar, null, ExcessFlexureReinforcementRatio);

            return(tensHook);
        }
        public void GetTensionDevelopmentLength_Basic()
        {
            double RebarDiam                         = 0.5;
            bool   IsTopRebar                        = false;
            bool   IsEpoxyCoated                     = false;
            ConcreteTypeByWeight type                = ConcreteTypeByWeight.Normalweight;
            double            fc                     = 4000;
            double            ExcessRebarRatio       = 1.0;
            IConcreteMaterial concrete               = new ConcreteMaterial(fc, ConcreteTypeByWeight.Normalweight, null);
            Rebar             rebar                  = new Rebar(RebarDiam, IsEpoxyCoated, new MaterialAstmA615(A615Grade.Grade60));
            bool MeetsRebarSpacingAndEdgeDistance    = true;
            DevelopmentTension d                     = new DevelopmentTension(concrete, rebar, MeetsRebarSpacingAndEdgeDistance, IsTopRebar, ExcessRebarRatio, true, null);
            bool   HasMinimumTransverseReinforcement = true;
            double l_d = d.GetTensionDevelopmentLength(HasMinimumTransverseReinforcement);

            double refValue        = 18.97;
            double actualTolerance = EvaluateActualTolerance(l_d, refValue);

            Assert.True(actualTolerance <= tolerance);
        }
        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)
        {
            IRebarMaterial rebarMat = new RebarMaterialGeneral(60000);


            //IConcreteMaterial ConcStub = mocks.Stub<IConcreteMaterial>();
            IConcreteMaterial ConcStub = new ConcreteMaterial(ConcStrength, typeByWeight, lightWeightType,
                                                              null) as IConcreteMaterial;

            ConcStub.SpecifiedCompressiveStrength = ConcStrength;
            ConcStub.TypeByWeight = typeByWeight;
            ConcStub.AverageSplittingTensileStrength = AverageSplitStrength;



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

            return(tensDev);
        }
        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 ConcretePrestressed(double SpecifiedConcreteStrength, double InitialConcreteStrengthAtPrestress,
                            ConcreteTypeByWeight ConcreteType, ICalcLog log)
     : base(SpecifiedConcreteStrength, ConcreteType, 150.0, log)
 {
     this.initialConcreteStrengthAtPrestress = InitialConcreteStrengthAtPrestress;
 }
Example #21
0
		public ConcreteMaterial(double SpecifiedConcreteStrength,
			ConcreteTypeByWeight ConcreteType, double Density, ICalcLog log)
			: base(SpecifiedConcreteStrength, ConcreteType, Density, log)
		{
		}
Example #22
0
		public ConcreteMaterial(double SpecifiedConcreteStrength,
		ConcreteTypeByWeight ConcreteType,ICalcLog log)
			: base(SpecifiedConcreteStrength, ConcreteType, 150.0, log)
		{
		}
Example #23
0
		public ConcreteMaterial(double SpecifiedConcreteStrength,
			ConcreteTypeByWeight ConcreteType, double Density, double AverageSplittingTensileStrength, ICalcLog log)
			: base(SpecifiedConcreteStrength, ConcreteType,AverageSplittingTensileStrength, Density, log)
		{
			
		}
        public ConcreteMaterialBase(double SpecifiedConcreteStrength,
            ConcreteTypeByWeight ConcreteType, ICalcLog log)
            : this(SpecifiedConcreteStrength, ConcreteType, 0.0, log)
        {

        }
Example #25
0
 public ConcreteMaterialBase(double SpecifiedConcreteStrength,
                             ConcreteTypeByWeight ConcreteType, ICalcLog log)
     : this(SpecifiedConcreteStrength, ConcreteType, 0.0, log)
 {
 }
Example #26
0
 public ConcreteMaterial(double SpecifiedConcreteStrength,
                         ConcreteTypeByWeight ConcreteType, TypeOfLightweightConcrete LightWeightConcreteType, ICalcLog log)
     : base(SpecifiedConcreteStrength, ConcreteType, log)
 {
     this.LightWeightConcreteType = LightWeightConcreteType;
 }
Example #27
0
 public ConcreteMaterial(double SpecifiedConcreteStrength,
                         ConcreteTypeByWeight ConcreteType, double Density, double AverageSplittingTensileStrength, ICalcLog log)
     : base(SpecifiedConcreteStrength, ConcreteType, AverageSplittingTensileStrength, Density, log)
 {
 }
Example #28
0
 public ConcreteMaterial(double SpecifiedConcreteStrength,
                         ConcreteTypeByWeight ConcreteType, ICalcLog log)
     : base(SpecifiedConcreteStrength, ConcreteType, 150.0, log)
 {
 }
Example #29
0
 public ConcreteMaterial(double SpecifiedConcreteStrength,
                         ConcreteTypeByWeight ConcreteType, double Density, ICalcLog log)
     : base(SpecifiedConcreteStrength, ConcreteType, Density, log)
 {
 }
Example #30
0
 public ConcretePrestressed(double SpecifiedConcreteStrength, double InitialConcreteStrengthAtPrestress,
 ConcreteTypeByWeight ConcreteType, ICalcLog log)
     : base(SpecifiedConcreteStrength, ConcreteType, 150.0, log)
 {
     this.initialConcreteStrengthAtPrestress = InitialConcreteStrengthAtPrestress;
 }