/// <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); } }
/// <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); } }
/// <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); } }
/// <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); } }
/// <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); } }
/// <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); } }
/// <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); } }
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; }
public Context(IMcrClc mcr) { _mcr = mcr; }