public ISteelCompressionMember GetIshape(ISteelSection Section, bool IsRolled, double L_x, double L_y, double L_z, ICalcLog CalcLog) { ISteelCompressionMember column = null; IShapeCompactness compactnessTop = new ShapeCompactness.IShapeMember(Section, IsRolled, Common.Section.Interfaces.FlexuralCompressionFiberPosition.Top); IShapeCompactness compactnessBot = new ShapeCompactness.IShapeMember(Section, IsRolled, Common.Section.Interfaces.FlexuralCompressionFiberPosition.Bottom); ICalcLog Log = new CalcLog(); CompactnessClassAxialCompression flangeCompactnessTop = compactnessTop.GetFlangeCompactnessCompression(); CompactnessClassAxialCompression flangeCompactnessBot = compactnessTop.GetFlangeCompactnessCompression(); CompactnessClassAxialCompression webCompactness = compactnessTop.GetWebCompactnessCompression(); if (flangeCompactnessTop == CompactnessClassAxialCompression.NonSlender && webCompactness == CompactnessClassAxialCompression.NonSlender && flangeCompactnessBot == CompactnessClassAxialCompression.NonSlender) { column = new IShapeCompact(Section, IsRolled, L_x, L_y, L_z, Log); //if (IShape.b_fBot == IShape.b_fTop && IShape.t_fBot == IShape.t_fTop) //{ // return new IShapeCompact(SectionI, IsRolledShape, L_ex, L_ey, L_ez, log); //} //else //{ // throw new NotImplementedException(); //} } else { column = new IShapeSlenderElements(Section, IsRolled, L_x, L_y, L_z, Log); } return column; }
public void E1AReturnsAxialCapacity() { //AiscCatalogShape section = new AiscCatalogShape("W14X90", null); AiscShapeFactory AiscShapeFactory = new AiscShapeFactory(); ISectionI section = (ISectionI)AiscShapeFactory.GetShape("W14X90", ShapeTypeSteel.IShapeRolled); ISteelMaterial Material = new SteelMaterial(65, 29000); ISteelSection steelSection = new SteelSectionI(section, Material); IShapeCompact col = new IShapeCompact(steelSection, true, 19 * 12, 19 * 12, 19 * 12); double phiPn = col.GetFlexuralBucklingStrength().Value; Assert.True(phiPn == 903); }