Пример #1
0
        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);
        }
Пример #2
0
 public static double WarpingConstant(this BoxProfile profile)
 {
     return(profile.IsNull() ? 0 : 0);
 }