public void ShearFrictionReturnsValue()
        {
            IConcreteMaterial matC = GetConcreteMaterial(4000, false);
            IRebarMaterial    m    = new MaterialAstmA615(A615Grade.Grade60);
            double            A_c  = 720.0;
            double            A_v  = 4.84;

            ConcreteSectionShearFriction sec = new ConcreteSectionShearFriction(ACI.Entities.ShearAndTorsion.ShearFrictionSurfaceType.HardenedNonRoughenedConcrete, matC, A_c, m, A_v, 90, 0);
            double phiV_n = sec.GetShearFrictionStrength() / 1000.0; //convert back to ksi units

            double refValue        = 130.68;
            double actualTolerance = EvaluateActualTolerance(phiV_n, refValue);

            Assert.True(actualTolerance <= tolerance);
        }
        public static Dictionary <string, object> ShearFrictionStrength(string ShearFrictionSurfaceTypeId, ConcreteMaterial ConcreteMaterial,
                                                                        double A_c, RebarMaterial RebarMaterial, double A_v, double alpha = 90, double F_comp = 0)
        {
            //Default values


            //Calculation logic:
            double phiV_n = 0.0;

            ShearFrictionSurfaceType _ShearFrictionSurfaceType;
            bool IsValidShearFrictionSurfaceTypeString = Enum.TryParse(ShearFrictionSurfaceTypeId, true, out _ShearFrictionSurfaceType);

            if (IsValidShearFrictionSurfaceTypeString == false)
            {
                throw new Exception("Failed to convert string. ShearFrictionSurfaceType variable needs to be MonolithicConcrete, HardenedRoughenedConcrete, HardenedNonRoughenedConcrete or ConcreteAgainstSteel. Please check input");
            }
            ConcreteSectionShearFriction sec = new ConcreteSectionShearFriction(_ShearFrictionSurfaceType, ConcreteMaterial.Concrete, A_c, RebarMaterial.Material, A_v, alpha, F_comp);

            phiV_n = sec.GetShearFrictionStrength() / 1000.0; //convert back to ksi units
            return(new Dictionary <string, object>
            {
                { "phiV_n", phiV_n }
            });
        }