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); }
public void CalculateEngineAcousticsLoadSummary(double Thrust, FlowParameters FlowParameters, out EngineAcousticsLoadSummary summary) { engineNoiseModel.Calculate(Thrust, FlowParameters, out summary); }