public virtual SteelLimitStateValue GetFlexuralFlangeLocalBucklingStrength(FlexuralCompressionFiberPosition CompressionLocation) { double phiM_n = GetCompressionFlangeLocalBucklingCapacity(); SteelLimitStateValue ls = new SteelLimitStateValue(phiM_n, true); return(ls); }
public virtual SteelLimitStateValue GetFlexuralYieldingStrength(FlexuralCompressionFiberPosition CompressionLocation) { double phiM_n = GetYieldingMomentCapacity(CompressionLocation); SteelLimitStateValue ls = new SteelLimitStateValue(phiM_n, true); return(ls); }
public SteelLimitStateValue GetLocalCripplingAndYieldingStrengthOfHss() { //(K1-9) (K1-10) (K1-11) double phiR_n; //= GetLocalYieldingOfPlate(); //double phiR_n1 = SteelLimitStateValue SideYieldingLimitState = GetHssSideYielding(); SteelLimitStateValue LocalCripplingLimitState; if (PlateType == TransversePlateType.TConnection) { LocalCripplingLimitState = GetLocalCripplingOfSideWallsTee(); } else { LocalCripplingLimitState = GetLocalCripplingOfSideWallsTee(); } if (SideYieldingLimitState.IsApplicable == true) { if (SideYieldingLimitState.Value < LocalCripplingLimitState.Value) { return(SideYieldingLimitState); } else { return(LocalCripplingLimitState); } } else { return(LocalCripplingLimitState); } }
public override SteelLimitStateValue GetTorsionalAndFlexuralTorsionalBucklingStrength() { SteelLimitStateValue ls; ISectionAngle a = this.Section.Shape as ISectionAngle; if (a == null) { throw new Exception("Incorrect section type. Section must be of type ISectionAngle."); } if (Math.Max(a.b, a.d) / a.t <= 20.0) { ls = new SteelLimitStateValue(-1, false); } else { double FeTorsionalBuckling = GetTorsionalElasticBucklingStressFe(); double FcrTorsionalBuckling = GetCriticalStressFcr(FeTorsionalBuckling, 1.0); double Qtors = GetReductionFactorQ(FcrTorsionalBuckling); double FcrTors = GetCriticalStressFcr(FeTorsionalBuckling, Qtors); double phiP_n = GetDesignAxialStrength(FcrTors); ls = new SteelLimitStateValue(phiP_n, true); } return(ls); }
public override SteelLimitStateValue GetFlexuralTensionFlangeYieldingStrength(FlexuralCompressionFiberPosition CompressionLocation) { double phiM_n = GetTensionFlangeYieldingCapacity(CompressionLocation); SteelLimitStateValue ls = new SteelLimitStateValue(phiM_n, true); return(ls); }
public override SteelLimitStateValue GetFlexuralLegOrStemBucklingStrength(FlexuralCompressionFiberPosition CompressionLocation, FlexuralAndTorsionalBracingType BracingType) { CompactnessClassFlexure StemCompactness = this.Compactness.GetWebCompactnessFlexure(); // for compact angles this limit state is not applicable SteelLimitStateValue ls = null; if (StemCompactness == General.Compactness.CompactnessClassFlexure.Compact) { ls = new SteelLimitStateValue(-1, false); return(ls); } else if (StemCompactness == CompactnessClassFlexure.Noncompact) { double S_c = GetSectionModulus(CompressionLocation, true, BracingType); //F10-7 double M_n = F_y * S_c * (2.43 - 1.72 * (((b) / (t))) * Math.Sqrt(((F_y) / (E)))); double phiM_n = 0.9 * M_n; ls = new SteelLimitStateValue(phiM_n, true); } else { double F_cr = ((0.71 * E) / (Math.Pow((((b) / (t))), 2))); double S_c = GetSectionModulus(CompressionLocation, true, BracingType); //(F10-8) double M_n = F_cr * S_c; double phiM_n = 0.9 * M_n; ls = new SteelLimitStateValue(phiM_n, true); } return(ls); }
public override SteelLimitStateValue GetFlexuralTensionFlangeYieldingStrength(FlexuralCompressionFiberPosition CompressionLocation) { SteelLimitStateValue ls = new SteelLimitStateValue(); ls.IsApplicable = false; return(ls); }
public virtual SteelLimitStateValue GetFlexuralLegOrStemBucklingStrength(FlexuralCompressionFiberPosition CompressionLocation, FlexuralAndTorsionalBracingType BracingType) { SteelLimitStateValue ls = new SteelLimitStateValue(-1, false); return(ls); }
public SteelLimitStateValue GetPlasticMomentCapacity(MomentAxis MomentAxis) { SteelLimitStateValue ls = new SteelLimitStateValue(); double phiM_n; double M_n = 0.0; switch (MomentAxis) { case MomentAxis.XAxis: M_n = GetMajorNominalPlasticMoment(); break; case MomentAxis.YAxis: M_n = GetMinorNominalPlasticMoment(); break; default: throw new FlexuralBendingAxisException(); break; } phiM_n = 0.9 * M_n; ls.Value = phiM_n; ls.IsApplicable = true; return(ls); }
public virtual SteelLimitStateValue GetFlexuralLateralTorsionalBucklingStrength(double C_b, double L_b, FlexuralCompressionFiberPosition CompressionLocation, FlexuralAndTorsionalBracingType BracingType, MomentAxis MomentAxis) { double phiM_n = GetFlexuralTorsionalBucklingMomentCapacity(CompressionLocation, L_b); SteelLimitStateValue ls = new SteelLimitStateValue(-1, false); return(ls); }
public override SteelLimitStateValue GetLimitingLengthForFullYielding_Lp(FlexuralCompressionFiberPosition CompressionLocation) { double r_t = GetEffectiveRadiusOfGyration_r_t(CompressionLocation); double L_p = GetL_p(r_t); SteelLimitStateValue ls = new SteelLimitStateValue(L_p, true); return(ls); }
public override SteelLimitStateValue GetLimitingLengthForInelasticLTB_Lr(FlexuralCompressionFiberPosition CompressionLocation) { double rt = GetEffectiveRadiusOfGyration_r_t(CompressionLocation); double Lr = GetL_r(); SteelLimitStateValue ls = new SteelLimitStateValue(Lr, true); return(ls); }
public override SteelLimitStateValue GetFlexuralBucklingStrength() { double FcrFlex = CalculateCriticalStress(false); double phiP_n = GetDesignAxialStrength(FcrFlex); SteelLimitStateValue ls = new SteelLimitStateValue(phiP_n, true); return(ls); }
public void RectangularHSSReturns_16ft_LengthAxialStrength() { CreateColumn(16.0 * 12.0, 16.0 * 12.0); SteelLimitStateValue colFlexure = column.GetFlexuralBucklingStrength(); double phiP_n = colFlexure.Value; double refValue = 303.0; double actualTolerance = EvaluateActualTolerance(phiP_n, refValue); Assert.LessOrEqual(actualTolerance, tolerance); }
public void RectangularHSSReturnsFlexuralFlangeLocalBucklingStrength() { SteelLimitStateValue FLB = beam.GetFlexuralFlangeLocalBucklingStrength(FlexuralCompressionFiberPosition.Top); double phiM_n = FLB.Value; double refValue = -1; // Limit state not applicable double actualTolerance = EvaluateActualTolerance(phiM_n, refValue); Assert.LessOrEqual(actualTolerance, tolerance); }
public void RectangularHSSReturnsFlexuralLateralTorsionalBucklingStrengthElastic() { SteelLimitStateValue LTB = beam.GetFlexuralLateralTorsionalBucklingStrength(1.0, 14 * 12, FlexuralCompressionFiberPosition.Top, Steel.AISC.FlexuralAndTorsionalBracingType.NoLateralBracing); double phiM_n = LTB.Value; double refValue = -1; // from AISC Steel Manual Table 3-10 double actualTolerance = EvaluateActualTolerance(phiM_n, refValue); Assert.LessOrEqual(actualTolerance, tolerance); }
public void RectangularHSSReturnsFlexuralYieldingStrength() { SteelLimitStateValue Y = beam.GetFlexuralYieldingStrength(FlexuralCompressionFiberPosition.Top); double phiM_n = Y.Value; double refValue = 30.5 * 46 * 0.9; // Z_x*F_y*0.9 double actualTolerance = EvaluateActualTolerance(phiM_n, refValue); Assert.LessOrEqual(actualTolerance, tolerance); }
public void RectangularHSSReturnsLimitingLengthForFullYielding_Lp() { SteelLimitStateValue L_p = beam.GetLimitingLengthForFullYielding_Lp(FlexuralCompressionFiberPosition.Top); double phiM_n = L_p.Value; double refValue = -1; // AISC manual table 3.2 double actualTolerance = EvaluateActualTolerance(phiM_n, refValue); Assert.LessOrEqual(actualTolerance, tolerance); }
public void RectangularHSSReturnsLimitingLengthForInelasticLTB_Lr() { SteelLimitStateValue L_r = beam.GetLimitingLengthForInelasticLTB_Lr(FlexuralCompressionFiberPosition.Top); double phiM_n = L_r.Value; double refValue = -1; // AISC manual table 3.2 double actualTolerance = EvaluateActualTolerance(phiM_n, refValue); Assert.True(actualTolerance <= tolerance); }
public void IShapeW16X26Returns_16ft_LengthAxialStrength() { CreateColumn(14.0 * 12.0, 14.0 * 12.0, 0,"W16X26"); SteelLimitStateValue colFlexure = column.GetFlexuralBucklingStrength(); double phiP_n = colFlexure.Value; double refValue = 76.7; //to be confirmed double actualTolerance = EvaluateActualTolerance(phiP_n, refValue); Assert.LessOrEqual(actualTolerance, tolerance); }
public void DoublySymmetricIReturnsFlexuralWebOrWallBucklingStrength() { SteelLimitStateValue WLB = beam.GetFlexuralWebOrWallBucklingStrength(FlexuralCompressionFiberPosition.Top); double phiM_n = WLB.Value; double refValue = -1; // Limit state not applicable double actualTolerance = EvaluateActualTolerance(phiM_n, refValue); Assert.LessOrEqual(actualTolerance, tolerance); }
public void DoublySymmetricIReturnsLimitingLengthForInelasticLTB_Lr() { SteelLimitStateValue L_r = beam.GetLimitingLengthForInelasticLTB_Lr(FlexuralCompressionFiberPosition.Top); double phiM_n = L_r.Value; double refValue = 12.3 * 12; // AISC manual table 3.2 double actualTolerance = EvaluateActualTolerance(phiM_n, refValue); Assert.LessOrEqual(actualTolerance, tolerance); }
public void DoublySymmetricChannelReturnsFlexuralLateralTorsionalBucklingStrengthInelastic() { SteelLimitStateValue LTB = beam.GetFlexuralLateralTorsionalBucklingStrength(1.0, 5 * 12, FlexuralCompressionFiberPosition.Top, Steel.AISC.FlexuralAndTorsionalBracingType.NoLateralBracing); double phiM_n = LTB.Value; double refValue = 131 * 12; // from AISC Steel Manual Table 3-10 double actualTolerance = EvaluateActualTolerance(phiM_n, refValue); Assert.True(actualTolerance <= tolerance); }
public void DoublySymmetricChannelReturnsFlexuralYieldingStrength() { SteelLimitStateValue Y = beam.GetFlexuralYieldingStrength(FlexuralCompressionFiberPosition.Top); double phiM_n = Y.Value; double refValue = 137.0 * 12; // from AISC design examples 13 F.2-1b double actualTolerance = EvaluateActualTolerance(phiM_n, refValue); Assert.True(actualTolerance <= tolerance); }
public void DoublySymmetricIReturnsFlexuralYieldingStrength() { SteelLimitStateValue Y = beam.GetFlexuralYieldingStrength(FlexuralCompressionFiberPosition.Top); double phiM_n = Y.Value; double refValue = 249 * 12.0; // from AISC Steel Manual double actualTolerance = EvaluateActualTolerance(phiM_n, refValue); Assert.LessOrEqual(actualTolerance, tolerance); }
public void PipeReturns_15ft_LengthAxialStrength() { CreateColumn(15 * 12, 15 * 12); SteelLimitStateValue colFlexure = column.GetFlexuralBucklingStrength(); double phiP_n = colFlexure.Value; double refValue = 307.0; double actualTolerance = EvaluateActualTolerance(phiP_n, refValue); Assert.LessOrEqual(actualTolerance, tolerance); }
public void RectangularHSSReturns_0ft_LengthAxialStrength() { CreateColumn(0, 0); SteelLimitStateValue colFlexure = column.GetFlexuralBucklingStrength(); double phiP_n = colFlexure.Value; double refValue = 480.0; double actualTolerance = EvaluateActualTolerance(phiP_n, refValue); Assert.True(actualTolerance <= tolerance); }
public void RectangularHSSReturnsFlexuralLegOrStemBucklingStrength() { SteelLimitStateValue LSLB = beam.GetFlexuralLegOrStemBucklingStrength(FlexuralCompressionFiberPosition.Top, Steel.AISC.FlexuralAndTorsionalBracingType.FullLateralBracing); double phiM_n = LSLB.Value; double refValue = -1; // Limit state not applicable double actualTolerance = EvaluateActualTolerance(phiM_n, refValue); Assert.LessOrEqual(actualTolerance, tolerance); }
public void IShapeReturns_36ft_LengthAxialStrength() { CreateColumn(36.0 * 12.0, 36.0 * 12.0); SteelLimitStateValue colFlexure = column.GetFlexuralBucklingStrength(); double phiP_n = colFlexure.Value; double refValue = 179; double actualTolerance = EvaluateActualTolerance(phiP_n, refValue); Assert.LessOrEqual(actualTolerance, tolerance); }
public void RectangularHSSReturnsFlexuralWebOrWallBucklingStrength() { SteelLimitStateValue WLB = beam.GetFlexuralWebOrWallBucklingStrength(FlexuralCompressionFiberPosition.Top); double phiM_n = WLB.Value; double refValue = -1; // Limit state not applicable double actualTolerance = EvaluateActualTolerance(phiM_n, refValue); Assert.True(actualTolerance <= tolerance); }