public void RectangularBeamReturnsInteractionValue() { double h = 24.0; double d = 21.5; double b = 14.0; double N_u = 0.0; double V_u = 57100.0; double T_u = 28.0 * 12000.0; double fc = 3000.0; double c_center = 1.75; bool IsLightWeight = false; //double phiV_c = beam.GetConcreteShearStrength(N_u, rho_w, M_u, V_u); IConcreteMaterial mat = GetConcreteMaterial(fc, IsLightWeight); CrossSectionRectangularShape section = new CrossSectionRectangularShape(mat, null, b, h); ConcreteSectionOneWayShearNonPrestressed beam = new ConcreteSectionOneWayShearNonPrestressed(d, section); double phiV_c = beam.GetConcreteShearStrength(0, 0, 0, 0); ConcreteSectionTorsion tb = GetConcreteTorsionBeam(b, h, fc, d, false, c_center); double IR = tb.GetMaximumForceInteractionRatio(V_u, T_u, phiV_c, b, d); double refValue = 326.0 / 411.0; //Example 7-2 double actualTolerance = EvaluateActualTolerance(IR, refValue); Assert.LessOrEqual(actualTolerance, tolerance); }
public ConcreteSectionOneWayShearNonPrestressed GetConcreteOneWayShearBeam(double Width, double Height, double fc, double d, bool IsLightWeight) { IConcreteSection Section = GetRectangularSection(Width, Height, fc, IsLightWeight); ConcreteSectionOneWayShearNonPrestressed beam = new ConcreteSectionOneWayShearNonPrestressed(d, Section); return(beam); }
public static Dictionary <string, object> OneWayShearStrengthProvidedByConcrete(Concrete.ACI318.General.Concrete.ConcreteMaterial ConcreteMaterial, double b_w, double d, double h, double N_u = 0.0, double rho_w = 0.0, double M_u = 0.0, double V_u = 0.0, string Code = "ACI318-14") { //Default values double phiV_c = 0; //Calculation logic: IConcreteMaterial mat = ConcreteMaterial.Concrete; CrossSectionRectangularShape shape = new CrossSectionRectangularShape(mat, null, b_w, h); ConcreteSectionOneWayShearNonPrestressed section = new ConcreteSectionOneWayShearNonPrestressed(d, shape); phiV_c = section.GetConcreteShearStrength(N_u * 1000.0, rho_w, M_u * 1000.0, V_u * 1000.0) / 1000.0; //default ACI units are psi. Convert to ksi, consistent with Dynamo nodes return(new Dictionary <string, object> { { "phiV_c", phiV_c } }); }
public static Dictionary <string, object> UpperLimitOnShearStrength(Concrete.ACI318.General.Concrete.ConcreteMaterial ConcreteMaterial, double b_w, double d, double phiV_c, string Code = "ACI318-14") { //Default values double phiV_nMax = 0; //Calculation logic: IConcreteMaterial mat = ConcreteMaterial.Concrete; CrossSectionRectangularShape shape = new CrossSectionRectangularShape(mat, null, b_w, d); ConcreteSectionOneWayShearNonPrestressed section = new ConcreteSectionOneWayShearNonPrestressed(d, shape); phiV_nMax = section.GetUpperLimitShearStrength(phiV_c * 1000.0) / 1000.0; //default ACI units are psi. Convert to ksi, consistent with Dynamo nodes return(new Dictionary <string, object> { { "phiV_nMax", phiV_nMax } }); }
public void RectangularBeamReturnsAxialForceCompressionConcreteShearValue() { double h = 24.0; double d = 24.0; double b = 24.0; ConcreteSectionOneWayShearNonPrestressed beam = GetConcreteOneWayShearBeam(b, h, 6000, d, false); double rho_w = 0.0; double M_u = 0; double V_u = 20; double N_u = 450 * 1000; double A_g = 0; //Convert to kips double phiV_c = beam.GetConcreteShearStrength(N_u, rho_w, M_u, V_u) / 1000.0; double refValue = 93.0; double actualTolerance = EvaluateActualTolerance(phiV_c, refValue); Assert.True(actualTolerance <= tolerance); }
public void RectangularBeamReturnsAxialForceConcreteShearValue() { double h = 18.0; double d = 16.0; double b = 10.5; ConcreteSectionOneWayShearNonPrestressed beam = GetConcreteOneWayShearBeam(b, h, 3600, d, true); double rho_w = 0.0; double M_u = 103.4 * 1000.0 * 12.0; double V_u = 29.8 * 1000.0; double N_u = -26.7 * 1000; double A_g = 0; //update this //Convert to kips double phiV_c = beam.GetConcreteShearStrength(N_u, rho_w, M_u, V_u) / 1000.0; double refValue = 9.2; //Example 6-1 double actualTolerance = EvaluateActualTolerance(phiV_c, refValue); Assert.True(actualTolerance <= tolerance); }
public void RectangularBeamReturnsBasicConcreteShearValue() { double h = 24.0 + 2.0; double d = 24.0; double b = 12.0; ConcreteSectionOneWayShearNonPrestressed beam = GetConcreteOneWayShearBeam(b, h, 4000, d, false); double rho_w = 0.0; double M_u = 0.0; double V_u = 0.0; double N_u = 0.0; double A_g = 0; //update this //Convert to kips double phiV_c = beam.GetConcreteShearStrength(N_u, rho_w, M_u, V_u) / 1000.0; double refValue = 36.4 * 0.75; //Example 6-1 double actualTolerance = EvaluateActualTolerance(phiV_c, refValue); Assert.True(actualTolerance <= tolerance); }
public void RectangularBeamReturnsDetailedConcreteShearValue() { double h = 36.0; double d = 33.0; double b = 36; ConcreteSectionOneWayShearNonPrestressed beam = GetConcreteOneWayShearBeam(b, h, 5000.0, d, true); double rho_w = 0.01; double M_u = 1800000; double V_u = 360000; double N_u = 0; //Convert to kips double phiV_c = beam.GetConcreteShearStrength(N_u, rho_w, M_u, V_u) / 1000.0; double phiV_c1 = beam.GetConcreteShearStrength(0, 0, 0, 0) / 1000.0; //double refValue = 9.2; //Example 6-1 //double actualTolerance = EvaluateActualTolerance(phiV_c, refValue); // Assert.True(actualTolerance<=tolerance); Assert.True(true); }