public static          SpaceCharacteristic[] Create(int Length, double eps = 1, double mu = 1, double sgm = 0)
        {
            var space = new SpaceCharacteristic[Length];

            for (var i = 0; i < space.Length; i++)
            {
                space[i] = new SpaceCharacteristic(eps, mu, sgm);
            }
            return(space);
        }
Beispiel #2
0
 private async Task ProcessFieldsAsync()
 {
     var solver = new Solver1D(
         SpaceCharacteristic.Create(f_SpaceSize),
         new Solver1D.Boundary(
             Xmin: BoundaryType.PMC,
             Xmax: BoundaryType.PMC),
         f_SpaceStep,
         new[]
     {
         new FieldSource(
             position: 50,
             type: FieldSource.FieldTypes.E,
             orientation: FieldSource.SourceOrientation.Z,
             f: t => Math.Exp(-(t - 30) * (t - 30) / 100))
     });
     await Task.Run(() =>
     {
         while (solver.Time < f_Tmax)
         {
             solver.TimeStep(f_dt);
         }
     }).ConfigureAwait(false);
 }