Example #1
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, rho_w, M_u, V_u)/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 }
 
            };
        }