コード例 #1
0
ファイル: TorsionalConstant.cs プロジェクト: BHoM/BHoM_Engine
        public static double TorsionalConstant(this FabricatedISectionProfile profile)
        {
            if (profile.IsNull())
            {
                return(0);
            }

            double b1     = profile.TopFlangeWidth;
            double b2     = profile.BotFlangeWidth;
            double height = profile.Height;
            double tf1    = profile.TopFlangeThickness;
            double tf2    = profile.BotFlangeThickness;
            double tw     = profile.WebThickness;

            return((b1 * Math.Pow(tf1, 3) + b2 * Math.Pow(tf2, 3) + (height - (tf1 + tf2) / 2) * Math.Pow(tw, 3)) / 3);
        }
コード例 #2
0
        public static double WarpingConstant(this FabricatedISectionProfile profile)
        {
            if (profile.IsNull())
            {
                return(0);
            }

            double b1     = profile.TopFlangeWidth;
            double b2     = profile.BotFlangeWidth;
            double height = profile.Height;
            double tf1    = profile.TopFlangeThickness;
            double tf2    = profile.BotFlangeThickness;
            double tw     = profile.WebThickness;


            if (tf1 == tf2 && b1 == b2)
            {
                return(tf1 * Math.Pow(height - tf1, 2) * Math.Pow(b1, 3) / 24);
            }
            else
            {
                return(tf1 * Math.Pow(height - (tf1 + tf2) / 2, 2) / 12 * (Math.Pow(b1, 3) * Math.Pow(b2, 3) / (Math.Pow(b1, 3) + Math.Pow(b2, 3))));
            }
        }