Exemplo n.º 1
0
        public static Dictionary <string, object> WindGustEffectFactor(double B, double h, double L, double beta, double n_1, double V,
                                                                       string WindExposureCategory, string WindStructureDynamicResponseType = "Flexible", string Code = "ASCE7-10")
        {
            //Default values
            double G = 0;

            //Calculation logic:

            WindExposureCategory Exposure;

            bool IsValidStringExposure = Enum.TryParse(WindExposureCategory, true, out Exposure);

            if (IsValidStringExposure == false)
            {
                throw new Exception("Exposure category is not recognized. Check input string.");
            }

            WindStructureDynamicResponseType response;
            bool IsValidStringResponse = Enum.TryParse(WindStructureDynamicResponseType, true, out response);

            if (IsValidStringResponse == false)
            {
                throw new Exception("Dynamic response type is not recognized. Specify Rigid or Flexible. Check input string.");
            }

            CalcLog       Log       = new CalcLog();
            WindStructure structure = new WindStructure(Log);

            G = structure.GetGustFacor(response, B, h, L, beta, n_1, V, Exposure);

            return(new Dictionary <string, object>
            {
                { "G", G }
            });
        }
Exemplo n.º 2
0
        public static Dictionary <string, object> WindDirectionalityFactor(string WindStructureDescriptionForExposure = "MWFRS", string Code = "ASCE7-10")
        {
            //Default values
            double K_d = 0;


            //Calculation logic:
            WindStructure structure = new WindStructure(new CalcLog());

            K_d = structure.GetKd(WindStructureDescriptionForExposure);

            return(new Dictionary <string, object>
            {
                { "K_d", K_d }
            });
        }
        public static Dictionary <string, object> WindExposureConstants(string WindExposureCategory, string Code = "ASCE7-10")
        {
            //Default values
            double alpha    = 0;
            double z_g      = 0;
            double alpha_   = 0;
            double b_       = 0;
            double c        = 0;
            double l        = 0;
            double epsilon_ = 0;
            double z_min    = 0;

            WindExposureCategory Exposure;
            //Calculation logic:
            bool IsValidStringExposure = Enum.TryParse(WindExposureCategory, true, out Exposure);

            if (IsValidStringExposure == false)
            {
                throw new Exception("Exposure category is not recognized. Check input string.");
            }

            CalcLog       log       = new CalcLog();
            WindStructure structure = new WindStructure(new CalcLog());

            //structure.GetTerrainExposureConstant(TerrainExposureConstant.alpha, Exposure);
            alpha    = structure.GetTerrainExposureConstant(TerrainExposureConstant.alpha, Exposure);
            z_g      = structure.GetTerrainExposureConstant(TerrainExposureConstant.zg, Exposure);
            alpha_   = structure.GetTerrainExposureConstant(TerrainExposureConstant.alpha_ob, Exposure);
            b_       = structure.GetTerrainExposureConstant(TerrainExposureConstant.b_ob, Exposure);
            c        = structure.GetTerrainExposureConstant(TerrainExposureConstant.c, Exposure);
            l        = structure.GetTerrainExposureConstant(TerrainExposureConstant.l, Exposure);
            epsilon_ = structure.GetTerrainExposureConstant(TerrainExposureConstant.epsilon_ob, Exposure);
            z_min    = structure.GetTerrainExposureConstant(TerrainExposureConstant.zmin, Exposure);

            return(new Dictionary <string, object>
            {
                { "alpha", alpha }
                , { "z_g", z_g }
                , { "alpha_", alpha_ }
                , { "b_", b_ }
                , { "c", c }
                , { "l", l }
                , { "epsilon_", epsilon_ }
                , { "z_min", z_min }
            });
        }