public static Dictionary<string, object> SeismicFundamentalPeriodGeneralMethod(double h_n, string SeismicSystemTypeGeneralProcedure, string Code = "ASCE7-10") { //Default values double T_a = 0; //Calculation logic: CalcLog log = new CalcLog(); SeismicSystemTypeForApproximateAnalysis SeismicSystemType; bool IsValidSystemType = Enum.TryParse(SeismicSystemTypeGeneralProcedure, out SeismicSystemType); if (IsValidSystemType==false) { throw new Exception("Lateral system not recognized"); } Wosad.Loads.ASCE.ASCE7_10.SeismicLoads.Building b = new Wosad.Loads.ASCE.ASCE7_10.SeismicLoads.Building(null, Wosad.Loads.ASCE7.Entities.SeismicDesignCategory.None, log); T_a = b.GetApproximatePeriodGeneral(h_n, SeismicSystemType); return new Dictionary<string, object> { { "T_a", T_a } }; }
public static Dictionary<string, object> SeismicFundamentalPeriodUpperLimitCoefficient(double S_D1, string Code = "ASCE7-10") { //Default values double C_u = 0; //Calculation logic: CalcLog log = new CalcLog(); Wosad.Loads.ASCE.ASCE7_10.SeismicLoads.Building building = new Wosad.Loads.ASCE.ASCE7_10.SeismicLoads.Building(null, log); C_u = building.GetCoefficientForUpperBoundOnCalculatedPeriod(S_D1); return new Dictionary<string, object> { { "C_u", C_u } }; }