public static double TorsionalConstant(this BoxProfile profile) { if (profile.IsNull()) { return(0); } double t = profile.Thickness; double width = profile.Width; double height = profile.Height; double rc = (profile.OuterRadius + profile.InnerRadius) / 2; double h = 2 * ((width - t) + (height - t)) - 2 * rc * (4 - Math.PI); double ah = (width - t) * (height - t) - Math.Pow(rc, 2) * (4 - Math.PI); double k = 2 * ah * t / h; return(Math.Pow(t, 3) * h / 3 + 2 * k * ah); }
public static double WarpingConstant(this BoxProfile profile) { return(profile.IsNull() ? 0 : 0); }