public BuildingDirectionalProcedureElement(double Width, double Length, double Height, double WindSpeed, WindExposureCategory windExposureType,
     WindEnclosureType EnclosureClass,
     WindStructureDynamicResponseType StructureDynamicClass, double Damping, ICalcLog CalcLog)
     : base(Width, Length, Height, WindSpeed, windExposureType, EnclosureClass, StructureDynamicClass, Damping, CalcLog)
 {
     
 }
Пример #2
0
 public WindStructure(double Width, double Length, double Height, double WindSpeed,
                      WindStructureDynamicResponseType StructureDynamicClass,
                      double Damping, ICalcLog CalcLog)
     : this(Width, Length, Height, WindSpeed, WindExposureCategory.C, WindEnclosureType.Enclosed, StructureDynamicClass, Damping, CalcLog)
 {
     terrainCoefficientsNeedCalculation = true;
 }
        public WindStructureDynamicResponseType GetDynamicClassification(double n1)
        {
            WindStructureDynamicResponseType classification = WindStructureDynamicResponseType.Flexible;

            if (n1 > 1.0)
            {
                classification = WindStructureDynamicResponseType.Rigid;

                #region Rigid
                ICalcLogEntry RigidEntry = new CalcLogEntry();
                RigidEntry.ValueName            = "n1";
                RigidEntry.Reference            = "";
                RigidEntry.DescriptionReference = "/Templates/Loads/ASCE7_10/Wind/GustFactor/WindDynamicClassificationRigid.docx";
                RigidEntry.VariableValue        = Math.Round(n1, 3).ToString();
                #endregion
                this.AddToLog(RigidEntry);
            }
            else
            {
                classification = WindStructureDynamicResponseType.Flexible;

                #region Flexible
                ICalcLogEntry FlexibleEntry = new CalcLogEntry();
                FlexibleEntry.ValueName            = "n1";
                FlexibleEntry.Reference            = "";
                FlexibleEntry.DescriptionReference = "/Templates/Loads/ASCE7_10/Wind/GustFactor/WindDynamicClassificationFlexible.docx";
                FlexibleEntry.VariableValue        = Math.Round(n1, 3).ToString();
                #endregion
                this.AddToLog(FlexibleEntry);
            }

            return(classification);
        }
Пример #4
0
        public double GetGustFacor
            (
            WindStructureDynamicResponseType DynamicClassification,
            double B    ,
            double h    ,
            double L    ,
            double beta ,
            double n1   ,
            double V    ,
            WindExposureCategory WindExposure
            )
        {
            this.Width = B;
            this.Height = h;
            this.Length = L;
            this.Damping = beta;
            this.n1 = n1;
            this.WindSpeed = V;


            double G = 0.85;
            CalculateTerrainCoefficients(WindExposure);
            if (DynamicClassification == WindStructureDynamicResponseType.Flexible)
            {

                double z_ob = GetEquivalentHeightZob();
                double Iz = GetTurbulenceIntensityIz();
                double V_z_ob = GetMeanHourlyWindVz();
                double Lz = GetIntegralLengthScaleOfTurbulenceLz();
                double R = GetResonantResponseFactorR();
                double gQ = 3.4;
                double gv = 3.4;
                double gR = GetPeakFactorForResonantResponse_gr();
                double Q = GetBackgroundResponseFactorQ();
                G = GetGustFacrorFlexible(gQ,  Q,  gR,  R,  gv,  Iz);
            }
            else
            {
                double z_ob = GetEquivalentHeightZob();
                double Iz = GetTurbulenceIntensityIz();
                double Lz = GetIntegralLengthScaleOfTurbulenceLz();
                double Q = GetBackgroundResponseFactorQ();
                double gQ = 3.4;
                double gv = 3.4;

                #region g
                ICalcLogEntry gEntry = new CalcLogEntry();
                gEntry.ValueName = "g";
                gEntry.Reference = "";
                gEntry.DescriptionReference = "/Templates/Loads/ASCE7_10/Wind/GustFactor/WindGustFactorRigidgv.docx";
                gEntry.FormulaID = null; //reference to formula from code
                gEntry.VariableValue = Math.Round(3.4, 3).ToString();
                #endregion
                this.AddToLog(gEntry);
                G =GetGustFactorRigid(gQ, gv, Q, Iz);
                
            }
            return G;
        }
        public double GetGustFacor
        (
            WindStructureDynamicResponseType DynamicClassification,
            double B,
            double h,
            double L,
            double beta,
            double n1,
            double V,
            WindExposureCategory WindExposure
        )
        {
            this.Width     = B;
            this.Height    = h;
            this.Length    = L;
            this.Damping   = beta;
            this.n1        = n1;
            this.WindSpeed = V;


            double G = 0.85;

            CalculateTerrainCoefficients(WindExposure);
            if (DynamicClassification == WindStructureDynamicResponseType.Flexible)
            {
                double z_ob   = GetEquivalentHeightZob();
                double Iz     = GetTurbulenceIntensityIz();
                double V_z_ob = GetMeanHourlyWindVz();
                double Lz     = GetIntegralLengthScaleOfTurbulenceLz();
                double R      = GetResonantResponseFactorR();
                double gQ     = 3.4;
                double gv     = 3.4;
                double gR     = GetPeakFactorForResonantResponse_gr();
                double Q      = GetBackgroundResponseFactorQ();
                G = GetGustFacrorFlexible(gQ, Q, gR, R, gv, Iz);
            }
            else
            {
                double z_ob = GetEquivalentHeightZob();
                double Iz   = GetTurbulenceIntensityIz();
                double Lz   = GetIntegralLengthScaleOfTurbulenceLz();
                double Q    = GetBackgroundResponseFactorQ();
                double gQ   = 3.4;
                double gv   = 3.4;

                #region g
                ICalcLogEntry gEntry = new CalcLogEntry();
                gEntry.ValueName            = "g";
                gEntry.Reference            = "";
                gEntry.DescriptionReference = "/Templates/Loads/ASCE7_10/Wind/GustFactor/WindGustFactorRigidgv.docx";
                gEntry.FormulaID            = null; //reference to formula from code
                gEntry.VariableValue        = Math.Round(3.4, 3).ToString();
                #endregion
                this.AddToLog(gEntry);
                G = GetGustFactorRigid(gQ, gv, Q, Iz);
            }
            return(G);
        }
Пример #6
0
        public WindStructure(double Width, double Length, double Height, double WindSpeed, WindExposureCategory windExposureType,
                             WindEnclosureType EnclosureClass, WindStructureDynamicResponseType StructureDynamicClass,
                             double Damping, ICalcLog CalcLog) : base(CalcLog)
        {
            this.width                   = Width;
            this.length                  = Length;
            this.height                  = Height;
            this.windSpeed               = WindSpeed;
            this._windExposure           = windExposureType;
            this.enclosureClassification = EnclosureClass;
            this.dynamicClassification   = StructureDynamicClass;
            this.damping                 = Damping;


            terrainCoefficientsNeedCalculation = true;
        }
 public BuildingDirectionalProcedureElement(double Width, double Length, double Height, double WindSpeed, WindExposureCategory windExposureType,
                                            WindEnclosureType EnclosureClass,
                                            WindStructureDynamicResponseType StructureDynamicClass, double Damping, ICalcLog CalcLog)
     : base(Width, Length, Height, WindSpeed, windExposureType, EnclosureClass, StructureDynamicClass, Damping, CalcLog)
 {
 }