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 } }; }
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); }