public static Dictionary <string, object> EccentricallyLoadedBasePlateMinimumThickness(BasePlateShapeObject BasePlateShape, double P_u, double M_u, string BendingAxis = "Major", double f_anchor = 14 , string Code = "AISC360-10") { //Default values double t_min = 0; Kodestruct.Steel.AISC.BendingAxis axis; bool IsValidAxisString = Enum.TryParse(BendingAxis, true, out axis); if (IsValidAxisString == false) { throw new Exception("Failed to convert string. Specify X or Y axis. Please check input"); } //Calculation logic: BasePlateEccentricallyLoaded bp = new BasePlateEccentricallyLoaded(BasePlateShape.Plate); t_min = bp.GetMinimumThicknessEccentricLoadStrongAxis(P_u, M_u, axis, f_anchor); return(new Dictionary <string, object> { { "t_min", t_min } }); }
public void BasePlateSmallMomentReturnsMinimumThickness() { BasePlateIShape plate = new BasePlateIShape(19, 19, 12.7, 12.2, 4, 36, 0); BasePlateEccentricallyLoaded bp = new BasePlateEccentricallyLoaded(plate); double t_pMin = bp.GetMinimumThicknessEccentricLoadStrongAxis(376.0, 940, BendingAxis.Major, 8.0); double refValue = 1.36; double actualTolerance = EvaluateActualTolerance(t_pMin, refValue); Assert.LessOrEqual(actualTolerance, tolerance); }