private static DrudeLorentzSolver getMaterial(DrudeLorentzFactor drudeLorentzParam) { return(new DrudeLorentzSolver(drudeLorentzParam) { IsBody = true }); }
/// <summary> /// Initializes a new instance of the <see cref="DrudeLorentzSolver" /> class. /// </summary> /// <param name="param">The parameter.</param> public DrudeLorentzSolver(DrudeLorentzFactor param) : base(param) { this.param = param; this.SampledLorentzDomain = new CartesianCoordinate[param.OscillatorCount]; this.SampledLorentzDomain1 = new CartesianCoordinate[param.OscillatorCount]; this.SampledLorentzDomain2 = new CartesianCoordinate[param.OscillatorCount]; }
private static IMediumSolver[,,] setSphere( SimulationParameters parameters, DrudeLorentzFactor drudeLorentzParam, VacuumSolver vacuum) { const double Radius = 10; var centerIndices = parameters.Indices.GetCenter(); var center = new CartesianCoordinate(centerIndices.ILength, centerIndices.JLength, centerIndices.KLength); return(parameters.Indices.CreateArray <IMediumSolver>( (i, j, k) => { var point = new CartesianCoordinate(i, j, k) - center; if (point.Norm <= Radius) { return getMaterial(drudeLorentzParam); } return vacuum; })); }