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; }
public IConcreteMaterial GetConcreteMaterial(double fc, bool IsLightWeight) { ConcreteMaterial concrete; if (IsLightWeight == true) { concrete = new ConcreteMaterial(fc, ConcreteTypeByWeight.Lightweight, log); } else { concrete = new ConcreteMaterial(fc, ConcreteTypeByWeight.Normalweight, log); } return concrete; }
public ConcreteSectionFlexure GetNonPrestressedDoublyReinforcedRectangularSection(double b, double h, double A_s1,double A_s2,double c_cntr1,double c_cntr2, double A_s_prime1,double A_s_prime2, double c_cntr_prime1, double c_cntr_prime2, ConcreteMaterial concrete, IRebarMaterial rebar) { CrossSectionRectangularShape Section = new CrossSectionRectangularShape(concrete, null, b, h); List<RebarPoint> LongitudinalBars = new List<RebarPoint>(); Rebar bottom1 = new Rebar(A_s1, rebar); RebarPoint pointBottom1 = new RebarPoint(bottom1, new RebarCoordinate() { X = 0, Y = -h / 2.0 + c_cntr1 }); LongitudinalBars.Add(pointBottom1); if (A_s2!=0) { Rebar bottom2 = new Rebar(A_s2, rebar); RebarPoint pointBottom2 = new RebarPoint(bottom2, new RebarCoordinate() { X = 0, Y = -h / 2.0 + c_cntr2 }); LongitudinalBars.Add(pointBottom2); } if (A_s_prime1 != 0) { Rebar top1 = new Rebar(A_s_prime1, rebar); RebarPoint pointTop1 = new RebarPoint(top1, new RebarCoordinate() { X = 0, Y = h / 2.0 - c_cntr_prime1 }); LongitudinalBars.Add(pointTop1); } if (A_s_prime2 != 0) { Rebar top2 = new Rebar(A_s_prime2, rebar); RebarPoint pointTop2 = new RebarPoint(top2, new RebarCoordinate() { X = 0, Y = h / 2.0 - c_cntr_prime2 }); LongitudinalBars.Add(pointTop2); } CalcLog log = new CalcLog(); ConcreteSectionFlexure beam = new ConcreteSectionFlexure(Section, LongitudinalBars, log); return beam; }
public IConcreteMaterial GetConcreteMaterial(double fc) { ConcreteMaterial concrete = new ConcreteMaterial(fc, ConcreteTypeByWeight.Normalweight, log); return concrete; }
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 ConcreteSectionFlexure GetNonPrestressedDoublyReinforcedRectangularSection(double b, double h, double A_s1,double A_s2,double c_cntr1,double c_cntr2, ConcreteMaterial concreteMaterial, IRebarMaterial rebarMaterial) { return GetNonPrestressedDoublyReinforcedRectangularSection(b, h, A_s1, A_s2, c_cntr1, c_cntr2, 0, 0, 0, 0, concreteMaterial, rebarMaterial); }