//[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); }
/// <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; }
internal void AddGrowMedium(BaseMedium medium) { if(this.Medium != null) throw new Exception("There is already a medium in this pot"); this.Medium = medium; }
/// <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> /// Initializes a new instance of the <see cref="BaseMediumSolver"/> class. /// </summary> /// <param name="permittivity">The permittivity.</param> public BaseMediumFactor(BaseMedium permittivity) { this.Permittivity = permittivity; }
public void Initialize() { this.ddaConfig = XmlSerializerHelper.DeserializeObject <DDAParameters>("ddaParameters.xml"); this.opticalConstants = ParameterHelper.ReadOpticalConstants("opt_const.txt"); }