Example #1
0
        public void Calculate(
            double Thrust,
            FlowParameters FlowParameters,
            out EngineAcousticsLoadSummary summary) // см. метод с аналогичной сигнатурой в IModel
        {
            var FlowSoundParameters         = GetFlowSoundParameters(Thrust, FlowParameters);
            var EngineSoundLevelAtFrequency = GetEngineSoundLevelAtFrequency(Thrust, FlowParameters);
            var engineSoundLevel            = GetEngineSoundLevel(Thrust, FlowParameters);
            var FrequencyCharacteristik     = EngineSoundLevelAtFrequency(1, Math.PI / 2);
            var Angles = new List <double>();

            for (int i = 0; i <= 180; i += 10)
            {
                Angles.Add(i);
            }
            var RadiationPattern = Angles
                                   .Select(x => new { Angle = x, SoundLevel = engineSoundLevel(1, x * Math.PI / 180) })
                                   .ToDictionary(x => x.Angle, x => x.SoundLevel);
            var EngineAcousticsLoadAtFrequency = EngineSoundLevelAtFrequency(FlowSoundParameters.DistanceToPointOfMaximalSoundLevel, Math.PI);
            var EngineAcousticsLoadSummary     = engineSoundLevel(FlowSoundParameters.DistanceToPointOfMaximalSoundLevel, Math.PI);

            summary = new EngineAcousticsLoadSummary(FlowSoundParameters, FrequencyCharacteristik, RadiationPattern, EngineAcousticsLoadAtFrequency, EngineAcousticsLoadSummary);
        }
Example #2
0
 public void CalculateEngineAcousticsLoadSummary(double Thrust, FlowParameters FlowParameters, out EngineAcousticsLoadSummary summary)
 {
     engineNoiseModel.Calculate(Thrust, FlowParameters, out summary);
 }