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); }
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); }
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 } }; }
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 } }; }