Example #1
0
        /// <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));
        }
Example #3
0
 public void Initialize()
 {
     this.ddaConfig        = XmlSerializerHelper.DeserializeObject <DDAParameters>("ddaParameters.xml");
     this.opticalConstants = ParameterHelper.ReadOpticalConstants("opt_const.txt");
 }