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