public static Dictionary <string, object> JoistModeEffectiveWeight(double w_j, double B_j, double L_j, double S_j, string AdjacentSpanWeightIncreaseType = "None", string Code = "AISC. Design Guide 11. 1st Ed")
        {
            //Default values
            double W_j = 0;


            //Calculation logic:


            Kodestruct.Steel.AISC.Entities.Enums.FloorVibrations.AdjacentSpanWeightIncreaseType _AdjacentSpanWeightIncreaseType;
            bool IsValidInputString = Enum.TryParse(AdjacentSpanWeightIncreaseType, true, out _AdjacentSpanWeightIncreaseType);

            if (IsValidInputString == false)
            {
                throw new Exception("Failed to convert string. Specify adjacent span continuity type. Please check input");
            }

            FloorVibrationBeamGirderPanel bgPanel = new FloorVibrationBeamGirderPanel();

            W_j = bgPanel.GetJoistModeEffectiveWeight(w_j, S_j, B_j, L_j, _AdjacentSpanWeightIncreaseType);

            return(new Dictionary <string, object>
            {
                { "W_j", W_j }
            });
        }
        public static Dictionary <string, object> JoistEffectivePanelWidth(double fc_prime, double w_c, double h_solid, double h_rib, double w_r, double s_r, string DeckAtBeamCondition,
                                                                           double L_j, double I_j, double S_j, double L_floor, string BeamLocation = "Inner", string Code = "AISC. Design Guide 11. 1st Ed")
        {
            //Default values
            double B_j = 0;


            //Calculation logic:
            FloorVibrationBeamGirderPanel bgPanel = new FloorVibrationBeamGirderPanel();


            KodestructEnums.DeckAtBeamCondition _DeckAtBeamCondition;
            bool IsValidInputString = Enum.TryParse(DeckAtBeamCondition, true, out _DeckAtBeamCondition);

            if (IsValidInputString == false)
            {
                throw new Exception("Failed to convert string. Need to specify deck direction with respect to beam being considered. Please check input");
            }

            BeamFloorLocationType _BeamFloorLocationType;
            bool IsValidLocation = Enum.TryParse(BeamLocation, true, out _BeamFloorLocationType);

            if (IsValidLocation == false)
            {
                throw new Exception("Failed to convert string. Need to specify beam location as Inner or AtFreeEdge. Please check input");
            }

            B_j = bgPanel.GetEffectiveJoistWidth(fc_prime, w_c, h_solid, h_rib, w_r, s_r, _DeckAtBeamCondition, L_j, I_j, S_j, L_floor, _BeamFloorLocationType);

            return(new Dictionary <string, object>
            {
                { "B_j", B_j }
            });
        }
Ejemplo n.º 3
0
        public static Dictionary <string, object> GirderEffectivePanelWidth(double L_g, double L_j, double I_g, double I_j, double S_j, double L_floor, string BeamLocation = "Inner",
                                                                            string JoistToGirderConnectionType = "ConnectionToWeb", string Code = "AISC. Design Guide 11. 1st Ed")
        {
            //Default values
            double B_g = 0;


            //Calculation logic:
            FloorVibrationBeamGirderPanel bgPanel = new FloorVibrationBeamGirderPanel();

            BeamFloorLocationType _BeamFloorLocationType;
            bool IsValidLocation = Enum.TryParse(BeamLocation, true, out _BeamFloorLocationType);

            if (IsValidLocation == false)
            {
                throw new Exception("Failed to convert string. Need to specify beam location as Inner or AtFreeEdge. Please check input");
            }


            JoistToGirderConnectionType _JoistToGirderConnectionType;
            bool IsValidConnectionString = Enum.TryParse(JoistToGirderConnectionType, true, out _JoistToGirderConnectionType);

            if (IsValidConnectionString == false)
            {
                throw new Exception("Failed to convert string. Need to specify connection type as ConnectionToWeb or PlacementAtTopFlange. Please check input");
            }


            B_g = bgPanel.GetEffectiveGirderWidth(L_g, L_j, I_g, I_j, S_j, L_floor, _BeamFloorLocationType, _JoistToGirderConnectionType);

            return(new Dictionary <string, object>
            {
                { "B_g", B_g }
            });
        }
        public static Dictionary <string, object> ModalDamping(List <string> DampingComponents, string Code = "AISC. Design Guide 11. 1st Ed")
        {
            //Default values
            double beta_floor = 0;


            //Calculation logic:
            FloorVibrationBeamGirderPanel bgPanel = new FloorVibrationBeamGirderPanel();

            beta_floor = bgPanel.GetFloorModalDampingRatio(DampingComponents);

            return(new Dictionary <string, object>
            {
                { "beta_floor", beta_floor }
            });
        }
Ejemplo n.º 5
0
        public static Dictionary <string, object> CombinedModeEffectiveWeight(double W_j, double W_g, double Delta_j, double Delta_g)
        {
            //Default values
            double W_c = 0;


            //Calculation logic:
            FloorVibrationBeamGirderPanel bgPanel = new FloorVibrationBeamGirderPanel();

            W_c = bgPanel.GetCombinedModeEffectiveWeight(Delta_j, Delta_g, W_j, W_g);

            return(new Dictionary <string, object>
            {
                { "W_c", W_c }
            });
        }