public double GetWebPlastificationFactorForTensionRpt(FlexuralCompressionFiberPosition compressionFiberPosition) { double Rpt = 0.0; double Mp = GetMajorNominalPlasticMoment(); double Myt = GetTensionFiberYieldMomentMyt(compressionFiberPosition); double hc = Gethc(compressionFiberPosition); double tw = this.Gettw(); ShapeCompactness.IShapeMember compactness = new ShapeCompactness.IShapeMember(Section, IsRolledMember, compressionFiberPosition); double lambdaWeb = compactness.GetWebLambda(); double lambdapw = compactness.GetWebLambda_p(StressType.Flexure); double lambdarw = compactness.GetWebLambda_r(StressType.Flexure); //double lambda = hc / tw; double lambda = compactness.GetWebLambda(); if (lambda <= lambdapw) { Rpt = Mp / Myt; //(F4-16a) } else { Rpt = Mp / Myt - (Mp / Myt - 1) * ((lambda - lambdapw) / (lambdarw - lambdapw)); //(F4-16b) } return Rpt; }
public double GetLambdaWeb() { double Lambda = 0.0; compactness = new ShapeCompactness.IShapeMember (this.Section, this.isRolledMember, FlexuralCompressionFiberPosition.Top); // for web location of compression fiber does not matter Lambda = compactness.GetWebLambda(); return Lambda; }