public double Get_T_cr(double N_u)
        {
            double b        = RectangularShape.B;
            double h        = RectangularShape.H;
            double T_cr     = 0.0;
            double A_cp     = GetA_cp();
            double p_cp     = Get_p_cp();
            double lambda   = Material.lambda;
            double Sqrt_f_c = Material.Sqrt_f_c_prime;
            double A_g      = b * h;

            if (N_u == 0)
            {
                T_cr = 4 * lambda * Sqrt_f_c * (((Math.Pow(A_cp, 2)) / (p_cp)));
            }
            else
            {
                T_cr = 4 * lambda * Sqrt_f_c * (((Math.Pow(A_cp, 2)) / (p_cp))) * Math.Sqrt(1.0 + ((N_u) / (4.0 * A_g * lambda * Sqrt_f_c)));
            }

            StrengthReductionFactorFactory srf = new StrengthReductionFactorFactory();
            double phi = srf.Get_phi_Torsion();

            return(phi * T_cr);
        }
Beispiel #2
0
        public ConcreteFlexuralStrengthResult GetDesignFlexuralStrength(FlexuralCompressionFiberPosition FlexuralCompressionFiberPosition)
        {
            IStrainCompatibilityAnalysisResult nominalResult = this.GetNominalFlexuralCapacity(FlexuralCompressionFiberPosition);
            ConcreteFlexuralStrengthResult     result        = new ConcreteFlexuralStrengthResult(nominalResult, FlexuralCompressionFiberPosition, this.Section.Material.beta1);
            StrengthReductionFactorFactory     f             = new StrengthReductionFactorFactory();
            FlexuralFailureModeClassification  failureMode   = f.GetFlexuralFailureMode(result.epsilon_t, result.epsilon_ty);
            double phi    = f.Get_phiFlexureAndAxial(failureMode, ConfinementReinforcementType, result.epsilon_t, result.epsilon_ty);
            double phiM_n = phi * nominalResult.Moment;

            result.phiM_n = phiM_n; result.FlexuralFailureModeClassification = failureMode;
            return(result);
        }
        /// <summary>
        /// Shear strength per 22.9.4.2 and 22.9.4.3
        /// </summary>
        /// <returns></returns>
        public double GetShearFrictionStrength( )
        {
            double mu       = GetCoefficientOfFriction();
            double lambda   = GetLambda();
            double f_y      = TransverseRebarMaterial.YieldStress;
            double V_nSteel = (A_v * f_y + F_comp) * (mu * lambda * Math.Sin(alpha.ToRadians()) + Math.Cos(alpha.ToRadians())); // Eq 22.9.4.3
            double f_cMax   = GetMaximumStressAcrossShearPlane();
            double V_nMax   = A_c * f_cMax;
            double V_n      = Math.Min(V_nSteel, V_nMax);
            StrengthReductionFactorFactory f = new StrengthReductionFactorFactory();
            double phi = f.Get_phi_ShearReinforced();

            double phiV_n = phi * V_n;

            return(phiV_n);
        }