From 91a09247b0cae2421d50e1311648c23cce6dbc0e Mon Sep 17 00:00:00 2001 From: Archis Joglekar Date: Fri, 30 Aug 2024 13:53:40 -0700 Subject: [PATCH] can initialize super gaussians (#62) --- adept/vfp1d/helpers.py | 15 +++++++------ configs/vfp-1d/epp-short.yaml | 40 ++++++++++++++++++++++++--------- tests/test_vfp1d/epp-short.yaml | 4 ++-- 3 files changed, 40 insertions(+), 19 deletions(-) diff --git a/adept/vfp1d/helpers.py b/adept/vfp1d/helpers.py index 4aa75d4..3ed08c9 100644 --- a/adept/vfp1d/helpers.py +++ b/adept/vfp1d/helpers.py @@ -112,16 +112,17 @@ def _initialize_distribution_( dv = vmax / nv vax = np.linspace(dv / 2.0, vmax - dv / 2.0, nv) - # alpha = np.sqrt(3.0 * gamma_3_over_m(m) / gamma_5_over_m(m)) - # cst = m / (4 * np.pi * alpha**3.0 * gamma(3.0 / m)) - - # single_dist = np.exp(-3 * (vax**2.0) / (2 * vth**2.0)) / (2 * np.pi * vth**2.0) ** 1.5 - # norm = 1.0 / np.sum(4 * np.pi * single_dist * vax**2.0 * dv, axis=0) - f = np.zeros([nx, nv]) for ix, (tn, tt) in enumerate(zip(n_prof, T_prof)): # eq 4-51b in Shkarofsky single_dist = (2 * np.pi * tt * (vth**2.0 / 2)) ** -1.5 * np.exp(-(vax**2.0) / (2 * tt * (vth**2.0 / 2))) + + # from Ridgers2008 + vth_x = np.sqrt(tt) * vth + alpha = np.sqrt(3.0 * gamma_3_over_m(m) / 2.0 / gamma_5_over_m(m)) + cst = m / (4 * np.pi * alpha**3.0 * gamma_3_over_m(m)) + single_dist = cst / vth_x**3.0 * np.exp(-((vax / alpha / vth_x) ** m)) + f[ix, :] = tn * single_dist # if noise_type.casefold() == "uniform": @@ -164,7 +165,7 @@ def _initialize_total_distribution_(cfg, cfg_grid): for k in ["n", "T"]: if species_params[k]["basis"] == "uniform": - profs[k] = np.ones_like(prof_total[k]) + profs[k] = species_params[k]["baseline"] * np.ones_like(prof_total[k]) elif species_params[k]["basis"] == "tanh": center = (_Q(species_params[k]["center"]) / cfg["units"]["derived"]["x0"]).to("").value diff --git a/configs/vfp-1d/epp-short.yaml b/configs/vfp-1d/epp-short.yaml index 361393b..799f923 100644 --- a/configs/vfp-1d/epp-short.yaml +++ b/configs/vfp-1d/epp-short.yaml @@ -1,9 +1,9 @@ units: laser_wavelength: 351nm - reference electron temperature: 300eV + reference electron temperature: 3000eV reference ion temperature: 300eV - reference electron density: 1.5e21/cm^3 - Z: 30 + reference electron density: 2.275e21/cm^3 + Z: 6 Ion: Au+ logLambda: nrl @@ -16,10 +16,10 @@ density: noise_val: 0.0 v0: 0.0 T0: 1.0 - m: 2.0 + m: 3.4 n: basis: uniform - baseline: 1.0 + baseline: 0.9 bump_or_trough: bump center: 0m rise: 1m @@ -27,9 +27,29 @@ density: width: 1m T: basis: sine - baseline: 1.0 + baseline: 1. amplitude: 1.0e-3 wavelength: 250um + species-hote: + noise_seed: 420 + noise_type: gaussian + noise_val: 0.0 + v0: 0.0 + T0: 1.0 + m: 2.0 + n: + basis: uniform + baseline: 0.1 + bump_or_trough: bump + center: 0m + rise: 1m + bump_height: 0.0 + width: 1m + T: + basis: sine + baseline: 40.0 + amplitude: 0. + wavelength: 250um grid: dt: 1fs @@ -46,19 +66,19 @@ save: fields: t: tmin: 0.0ps - tmax: 0.5ps + tmax: 2.0ps nt: 11 electron: t: tmin: 0.0ps - tmax: 0.5ps + tmax: 2.0ps nt: 6 solver: vfp-1d mlflow: experiment: vfp1d - run: epperlein-short + run: epperlein-short-hote-ee drivers: ex: {} @@ -67,7 +87,7 @@ drivers: terms: fokker_planck: flm: - ee: false + ee: true f00: type: Dougherty e_solver: oshun \ No newline at end of file diff --git a/tests/test_vfp1d/epp-short.yaml b/tests/test_vfp1d/epp-short.yaml index 361393b..1d13c2c 100644 --- a/tests/test_vfp1d/epp-short.yaml +++ b/tests/test_vfp1d/epp-short.yaml @@ -1,9 +1,9 @@ units: laser_wavelength: 351nm - reference electron temperature: 300eV + reference electron temperature: 2000eV reference ion temperature: 300eV reference electron density: 1.5e21/cm^3 - Z: 30 + Z: 6 Ion: Au+ logLambda: nrl