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); }
public static Dictionary <string, object> ConcreteMaterialMechanicalProperties(ConcreteMaterial ConcreteMaterial, double Density = 0, string Code = "ACI318-14") { //Default values double E = 0; double f_r = 0; ConcreteMaterial cm = ConcreteMaterial; //Calculation logic: Kodestruct.Concrete.ACI318_14.Materials.ConcreteMaterial mat = new Kodestruct.Concrete.ACI318_14.Materials.ConcreteMaterial(cm.Concrete.SpecifiedCompressiveStrength, cm.Concrete.TypeByWeight, Density, null); E = mat.ModulusOfElasticity / 1000.0; f_r = mat.ModulusOfRupture / 1000.0; return(new Dictionary <string, object> { { "E", E } , { "f_r", f_r } }); }