public void BeamReturnsphiMn() { var ConcreteMaterial = new Kodestruct.Concrete.ACI318_14.Materials.ConcreteMaterial(6000, ACI.Entities.ConcreteTypeByWeight.Normalweight, null); FlexuralSectionFactory flexureFactory = new FlexuralSectionFactory(); double b = 16; double h = 40; double f_y = 60000; RebarMaterialGeneral LongitudinalRebarMaterial = new RebarMaterialGeneral(f_y); List <RebarPoint> LongitudinalBars = new List <RebarPoint>(); Rebar TopRebar = new Rebar(4, LongitudinalRebarMaterial); RebarPoint TopPoint = new RebarPoint(TopRebar, new RebarCoordinate() { X = 0, Y = h / 2.0 - 3 }); LongitudinalBars.Add(TopPoint); Rebar BottomRebar = new Rebar(4, LongitudinalRebarMaterial); RebarPoint BottomPoint = new RebarPoint(BottomRebar, new RebarCoordinate() { X = 0, Y = -h / 2.0 + 3 }); LongitudinalBars.Add(BottomPoint); CrossSectionRectangularShape shape = new CrossSectionRectangularShape(ConcreteMaterial, null, b, h); IConcreteFlexuralMember fs = new ConcreteSectionFlexure(shape, LongitudinalBars, null, ConfinementReinforcementType.Ties); ConcreteFlexuralStrengthResult result = fs.GetDesignFlexuralStrength(FlexuralCompressionFiberPosition.Top); }
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 ShearWallCalculatesPMMDiagramMaxIteration() { double f_c_prime = 6; double f_c_prime_psi = f_c_prime * 1000; IRebarMaterial LongitudinalRebarMaterial = new RebarMaterialGeneral(60000); double l_w = 20 * 12; double h = 12; FlexuralCompressionFiberPosition p = FlexuralCompressionFiberPosition.Top; ConcreteMaterial Concrete = new ConcreteMaterial(f_c_prime_psi, ConcreteTypeByWeight.Normalweight, null); ConfinementReinforcementType ConfinementReinforcementType = KodestructAci.ConfinementReinforcementType.Ties; CrossSectionRectangularShape shape = new CrossSectionRectangularShape(Concrete, null, h, l_w); List <RebarPoint> LongitudinalBars = GetLongitudinalBarsFromCoordinates(LongitudinalRebarMaterial); KodestructAci.IConcreteFlexuralMember fs = new KodestructAci14.ConcreteSectionFlexure(shape, LongitudinalBars, null, ConfinementReinforcementType); IConcreteSectionWithLongitudinalRebar Section = fs as IConcreteSectionWithLongitudinalRebar; ConcreteSectionCompression column = new ConcreteSectionCompression(Section, ConfinementReinforcementType, null); //Convert axial force to pounds List <PMPair> Pairs = column.GetPMPairs(p, 50, true); var PairsAdjusted = Pairs.Select(pair => new PMPair(pair.P / 1000.0, pair.M / 1000.0 / 12.0)); string Filename = Path.Combine(Path.GetTempPath(), "PMInteractionShearWallMaxIteration.csv"); using (CsvFileWriter writer = new CsvFileWriter(Filename)) { foreach (var pair in PairsAdjusted) { CsvRow row = new CsvRow(); row.Add(pair.M.ToString()); row.Add(pair.P.ToString()); writer.WriteRow(row); } } }
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); }
internal RebarMaterial(double f_y) { RebarMaterialGeneral Material = new RebarMaterialGeneral(f_y); }
internal RebarMaterial(double f_y) { RebarMaterialGeneral remat = new RebarMaterialGeneral(f_y); Material = remat; }