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); }
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); }