public double GetFactorAt(double height)
        {
            var fundamentalFlexuralFrequency = _fundamentalFlexuralFrequency.GetFactor();
            var turbulentLengthScale         = _turbulentLengthScale.GetFactorAt(height);
            var meanWindVelocity             = _windLoadData.GetMeanWindVelocityAt(height, adjustHeight: false);

            return(fundamentalFlexuralFrequency * turbulentLengthScale / meanWindVelocity);
        }
예제 #2
0
        private double GetCoefficient()
        {
            double referenceHeight = _referenceHeight.GetFactor();

            return(4.6 * _building.Width /
                   _turbulentLengthScale.GetFactorAt(referenceHeight) *
                   _nondimensionalFrequency.GetFactorAt(referenceHeight));
        }
예제 #3
0
        public double GetFactor()
        {
            double upCrossingFrequency = _upCrossingFrequency.GetFactor();
            var    peakFactor          =
                Math.Sqrt(2 * Math.Log(upCrossingFrequency * _averagingTimeMeanWindVelocity)) +
                0.6 / Math.Sqrt(2 * Math.Log(upCrossingFrequency * _averagingTimeMeanWindVelocity));

            return(Math.Max(peakFactor, 3));
        }
예제 #4
0
        public double GetFactor()
        {
            var referenceHeight      = _referenceHeight.GetFactor();
            var turbulentLengthScale = _turbulentLengthScale.GetFactorAt(referenceHeight);

            return(1 / (1 + 0.9 *
                        Math.Pow((_building.Width + _building.Height)
                                 / turbulentLengthScale, 0.63)));
        }
예제 #5
0
        public double GetFactor()
        {
            var referenceHeight     = _referenceHeight.GetFactor();
            var turbulenceIntensity =
                _windLoadData.GetTurbulenceIntensityAt(
                    referenceHeight, adjustHeight: false);
            var backgroundFactor = _backgroundFactor.GetFactor();

            return((1 + 7 * turbulenceIntensity * Math.Sqrt(backgroundFactor)) /
                   (1 + 7 * turbulenceIntensity));
        }
예제 #6
0
        public double GetFactor()
        {
            var fundamentalFlexuralFrequency = _fundamentalFlexuralFrequency.GetFactor();
            var backgroundFactor             = _backgroundFactor.GetFactor();
            var resonanceResponse            = _resonanceResponse.GetFactor();

            var upCrossingFrequency = fundamentalFlexuralFrequency *
                                      Math.Sqrt(resonanceResponse /
                                                (backgroundFactor + resonanceResponse));

            return(Math.Max(upCrossingFrequency, _minimalUpCrossingFrequency));
        }
예제 #7
0
        public double GetFactor()
        {
            var    referenceHeight = _referenceHeight.GetFactor();
            double logarithmicDecrementOfDamping      = _logarithmicDecrementOfDamping.GetFactor();
            double nonDimensionalPowerSpectralDensity =
                _nonDimensionalPowerSpectralDensity.GetFactorAt(referenceHeight);
            double aerodynamicAdmittanceWidth  = _aerodynamicAdmittanceWidth.GetFactor();
            double aerodynamicAdmittanceHeight = _aerodynamicAdmittanceHeight.GetFactor();

            return(Math.Pow(Math.PI, 2) /
                   (2 * logarithmicDecrementOfDamping) *
                   nonDimensionalPowerSpectralDensity *
                   aerodynamicAdmittanceHeight *
                   aerodynamicAdmittanceWidth);
        }
예제 #8
0
파일: Context.cs 프로젝트: staskolukasz/mcr
 /// <summary>
 /// Calculate the specified factor
 /// </summary>
 /// <param name="_factor">Instance of IFactor interface</param>
 /// <returns>Value of specified factor</returns>
 public double Calculate(IFactor _factor)
 {
     return(_factor.GetFactor(_mcr));
 }
예제 #9
0
 public double GetFactor()
 => _sizeFactor.GetFactor() * _dynamicFactor.GetFactor();
예제 #10
0
 public double GetFactor()
 => (_logarithmicDecrementOfStructuralDamping?.GetFactor() ?? 0) +
 (_logarithmicDecrementOfAerodynamicDamping?.GetFactor() ?? 0) +
 (_logarithmicDecrementOfDampingSpecialDevices?.GetFactor() ?? 0);