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);
        }
コード例 #2
0
        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 }
            });
        }
コード例 #4
0
        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);
        }