Example #1
0
        /// <summary>
        /// Get the C2 factor
        /// </summary>
        /// <param name="_mcr">Instance of McrClc class</param>
        /// <returns>C2 factor</returns>
        public double GetFactor(IMcrClc _mcr)
        {
            try
            {
                double result = _mcr.C1 * _mcr.a2 / 2;

                return(Math.Round(result, 3));
            }
            catch (Exception e)
            {
                return(0);
            }
        }
Example #2
0
        /// <summary>
        /// Get the Ncrz in [kN]
        /// </summary>
        /// <param name="_mcr">Instance of McrClc class</param>
        /// <returns>Nrz in [kN]</returns>
        public double GetFactor(IMcrClc _mcr)
        {
            try
            {
                double result = Math.Pow(Math.PI, 2) * _mcr.Material.GetE * _mcr.CrossSection.GetIz / Math.Pow(_mcr.Beam.GetL, 2);

                return(Math.Round(result, 3));
            }
            catch (Exception e)
            {
                return(0);
            }
        }
Example #3
0
        /// <summary>
        /// Get the d2 factor
        /// </summary>
        /// <param name="_mcr">Instance of McrClc class</param>
        /// <returns>d2 factor</returns>
        public double GetFactor(IMcrClc _mcr)
        {
            try
            {
                double result = _mcr.Load.GetQ1.GetValue
                                * _mcr.Load.GetQ1.GetApplicationLevel
                                * Math.Pow(Math.Sin(Math.PI * _mcr.Load.GetQ1.GetPosition / _mcr.Beam.GetL), 2);

                return(result);
            }
            catch (Exception e)
            {
                return(0);
            }
        }
Example #4
0
        /// <summary>
        /// Get the a2 factor
        /// </summary>
        /// <param name="_mcr">Instance of McrClc class</param>
        /// <returns>a2 factor</returns>
        public double GetFactor(IMcrClc _mcr)
        {
            try
            {
                double result = 2 * _mcr.Beam.GetL
                                / (_mcr.MomentDistribution.GetM0 * Math.Pow(Math.PI, 2))
                                * (_mcr.d2 + _mcr.d3);

                return(result);
            }
            catch (Exception e)
            {
                return(0);
            }
        }
Example #5
0
        /// <summary>
        /// Get the D factor in [cm2]
        /// </summary>
        /// <param name="_mcr">Instance of McrClc class</param>
        /// <returns>D factor in [cm2]</returns>
        public double GetFactor(IMcrClc _mcr)
        {
            try
            {
                double c1 = _mcr.CrossSection.GetIw / _mcr.CrossSection.GetIz;
                double c2 = _mcr.Material.GetG / (_mcr.Material.GetE * Math.Pow(Math.PI, 2));
                double c3 = _mcr.CrossSection.GetIt * Math.Pow(_mcr.Beam.GetL, 2) / _mcr.CrossSection.GetIz;

                double result = c1 + (c2 * c3);

                return(Math.Round(result, 3));
            }
            catch (Exception e)
            {
                return(0);
            }
        }
Example #6
0
        /// <summary>
        /// Get the value of lateral-torsional buckling moment
        /// </summary>
        /// <param name="_mcr">Instance of McrClc class</param>
        /// <returns>Mcr in [kNcm]</returns>
        public double GetFactor(IMcrClc _mcr)
        {
            try
            {
                double c1 = _mcr.C1 * _mcr.Ncrz;
                double c2 = Math.Sqrt(_mcr.D + Math.Pow(_mcr.C2, 2));
                double c3 = _mcr.C2;

                double result = c1 * (c2 + c3);

                return(Math.Round(result, 3));
            }
            catch (Exception e)
            {
                return(0);
            }
        }
Example #7
0
        /// <summary>
        /// Get the C1 factor
        /// </summary>
        /// <param name="_mcr">Instance of McrClc class</param>
        /// <returns>C1 factor</returns>
        public double GetFactor(IMcrClc _mcr)
        {
            try
            {
                double component = Math.Pow(_mcr.MomentDistribution.GetM0, 2)
                                   + 6 * Math.Pow(_mcr.MomentDistribution.GetM2, 2)
                                   + 8 * Math.Pow(_mcr.MomentDistribution.GetM3, 2)
                                   + 6 * Math.Pow(_mcr.MomentDistribution.GetM4, 2);

                double result = Math.Sqrt((21 * Math.Pow(_mcr.MomentDistribution.GetM0, 2)) / component);

                return(Math.Round(result, 3));
            }
            catch (Exception e)
            {
                return(0);
            }
        }
Example #8
0
        public mcrTestClass()
        {
            mcrClc = new McrClc();

            mcrClc.Material
            .With
            .E(21000)
            .G(8100);

            mcrClc.CrossSection
            .With
            .Iz(604)
            .It(20.1)
            .Iw(126000);

            mcrClc.Beam
            .With
            .L(600);

            mcrClc.Load
            .WithQ1
            .Value(-10)
            .Position(300)
            .ApplicationLevel(15);

            mcrClc.MomentDistribution
            .With
            .M0(2249)
            .M1(0)
            .M2(1125)
            .M3(2249)
            .M4(1125)
            .M5(0);

            double test = mcrClc.Mcr;
        }
Example #9
0
 public Context(IMcrClc mcr)
 {
     _mcr = mcr;
 }