/// <summary> /// Calculates extinction using DDA method. /// </summary> /// <param name="ddaConfig">The DDA configuration.</param> /// <param name="systemConfig">The dipole system configuration.</param> /// <param name="medium">The medium of the dipoles.</param> /// <returns>The simulation result.</returns> public static SimulationResultDictionary Calculate(DDAParameters ddaConfig, SystemConfig systemConfig, BaseMedium medium) { var manager = new MediumManager(medium, ddaConfig.IsSolidMaterial); var ext = new ExtinctionManager(manager); SimulationParameters parameters = new SimulationParameters { WavePropagation = ddaConfig.WavePropagation, IncidentMagnitude = ddaConfig.IncidentMagnitude.ConvertToCartesian(), SystemConfig = systemConfig, Spectrum = ParameterHelper.ReadWavelengthFromConfiguration(ddaConfig) }; return(ext.CalculateCrossExtinction(parameters)); }
/// <summary> /// Reads the wavelength from configuration. /// </summary> /// <param name="config">The configuration.</param> /// <returns>The optical spectrum.</returns> public static OpticalSpectrum ReadWavelengthFromConfiguration(DDAParameters config) { var waveLength = config.WaveLengthConfig; return(new OpticalSpectrum(waveLength.ToLinearCollection(), SpectrumUnitType.WaveLength)); }
public void Initialize() { this.ddaConfig = XmlSerializerHelper.DeserializeObject <DDAParameters>("ddaParameters.xml"); this.opticalConstants = ParameterHelper.ReadOpticalConstants("opt_const.txt"); }