예제 #1
0
        public static Dictionary<string, object> InteractionRatio(string CombinationCaseId, double N_u = 0, double T_uTorsion = 0, double M_ux = 0, double M_uy = 0, double V_ur = 0,
            double phiN_n = 0, double phiT_nTorsion = 0, double phiM_nx = 0, double phiM_ny = 0, double phiV_nr = 0, string Code = "AISC360-10")
        {
            //Default values
            double InteractionRatio = 0;


            //Calculation logic:
            

              aisc.CombinationCaseId comboCase;
              bool IsValidStringComboType = Enum.TryParse(CombinationCaseId, true, out comboCase);
                if (IsValidStringComboType == true)
                {
                    combo.Combination combo = new combo.Combination();
                    InteractionRatio = combo.GetInteractionRatio(comboCase,
                        N_u, T_uTorsion, M_ux, M_uy, V_ur, phiN_n, phiT_nTorsion, phiM_nx, phiM_ny, phiV_nr);

                    
                }
                else
                {
                    throw new Exception("Invalid combination case string.");
                }

            return new Dictionary<string, object>
            {
                { "InteractionRatio", InteractionRatio }
 
            };
        }
예제 #2
0
 public void CombinationEllipticNandVReturnsValue()
 {
     Combination combo = new Combination();
     double IR = combo.GetInteractionRatio(Steel.AISC.CombinationCaseId.Elliptical,1,0,0,0,1.5,2,0,0,0,2);
     Assert.AreEqual(0.8125, IR);
 }