Exemplo n.º 1
0
        //[Ignore]
        public void RadiusDistanceDrudeLorentz_Azimuth45_EffectiveCrossExt()
        {
            // Arrange
            const int     DistanceMax  = 3;
            const double  DistanceStep = 0.1;
            List <double> distances    = getDistances(DistanceStep, DistanceMax);
            var           radiuses     = new List <double> {
                4, 10, 20, 40, 70, 100, 200
            };

            this.ddaConfig.IncidentMagnitude.Azimuth = 45;
            this.opticalConstants = new DrudeLorentz();
            double maxRadius = radiuses.Max();

            foreach (double radius in radiuses)
            {
                foreach (double distance in distances)
                {
                    this.calculateOneStep(radius, distance, maxRadius, x => x.EffectiveCrossSectionExtinction);
                }
            }

            this.writeParameters(radiuses, distances);
        }
Exemplo n.º 2
0
 /// <summary>
 /// Initializes a new instance of the <see cref="MediumManager"/> class.
 /// </summary>
 /// <param name="medium">The medium.</param>
 /// <param name="solid">if set to <c>true</c> [solid].</param>
 public MediumManager(BaseMedium medium, bool solid)
 {
     this.solid  = solid;
     this.medium = medium;
 }
Exemplo n.º 3
0
 internal void AddGrowMedium(BaseMedium medium)
 {
     if(this.Medium != null)
         throw new Exception("There is already a medium in this pot");
     this.Medium = medium;
 }
Exemplo n.º 4
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));
        }
Exemplo n.º 5
0
 /// <summary>
 /// Initializes a new instance of the <see cref="BaseMediumSolver"/> class.
 /// </summary>
 /// <param name="permittivity">The permittivity.</param>
 public BaseMediumFactor(BaseMedium permittivity)
 {
     this.Permittivity = permittivity;
 }
Exemplo n.º 6
0
 public void Initialize()
 {
     this.ddaConfig        = XmlSerializerHelper.DeserializeObject <DDAParameters>("ddaParameters.xml");
     this.opticalConstants = ParameterHelper.ReadOpticalConstants("opt_const.txt");
 }