internal RectangularSectionSinglyReinforced(double b, double h, double A_s, double c_cntr, ConcreteMaterial ConcreteMaterial, RebarMaterial LongitudinalRebarMaterial, bool hasTies=false) { CrossSectionRectangularShape shape = new CrossSectionRectangularShape(ConcreteMaterial.Concrete, null, b, h); base.ConcreteMaterial = ConcreteMaterial; //duplicate save of concrete material into base Dynamo class List<wosadAci.RebarPoint> LongitudinalBars = new List<wosadAci.RebarPoint>(); wosadAci.Rebar thisBar = new wosadAci.Rebar(A_s, LongitudinalRebarMaterial.Material); wosadAci.RebarPoint point = new wosadAci.RebarPoint(thisBar, new wosadAci.RebarCoordinate() { X = 0, Y = -h / 2.0 + c_cntr }); LongitudinalBars.Add(point); wosadAci.IConcreteFlexuralMember fs = new wosadAci14.ConcreteSectionFlexure(shape, LongitudinalBars, new CalcLog()); this.FlexuralSection = fs; }
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 } }); }
/// <summary> /// Rectangular section singly reinforced (Use where ConcreteSection type is required) /// </summary> /// <param name="b">Width of compression face of member</param> /// <param name="h">Overall thickness, height, or depth of member</param> /// <param name="A_s">Area of nonprestressed longitudinal tension reinforcement</param> /// <param name="c_cntr">Concrete cover to tension rebar centroid</param> /// <param name="ConcreteMaterial">Concrete material</param> /// <param name="LongitudinalRebarMaterial">Rebar material for longitudinal bars</param> /// <returns name="RectangularSectionSinglyReinforced"> Section [OBJECT] </returns> public static RectangularSectionSinglyReinforced ByWidthHeigthAndReinforcementArea(double b, double h, double A_s, double c_cntr, ConcreteMaterial ConcreteMaterial,RebarMaterial LongitudinalRebarMaterial) { return new RectangularSectionSinglyReinforced(b, h, A_s, c_cntr, ConcreteMaterial, LongitudinalRebarMaterial); }