|
| 1 | +# See parameters in https://github.com/ECP-WarpX/artemis/pull/43 |
| 2 | + |
| 3 | +################################ |
| 4 | +####### GENERAL PARAMETERS ###### |
| 5 | +################################# |
| 6 | +max_step = 1 |
| 7 | + |
| 8 | +amr.n_cell = n_cellx n_celly n_cellz |
| 9 | +amr.max_grid_size = max_grid_sizex max_grid_sizey max_grid_sizez |
| 10 | +amr.blocking_factor = blocking_factor |
| 11 | +amr.refine_grid_layout = 1 # if n_MPI > n_grids, the grids will be successively divided in half until n_MPI <= n_grids |
| 12 | + |
| 13 | +geometry.dims = 3 |
| 14 | +geometry.prob_lo = prob_lox prob_loy prob_loz |
| 15 | +geometry.prob_hi = prob_hix prob_hiy prob_hiz |
| 16 | + |
| 17 | +amr.max_level = 0 |
| 18 | + |
| 19 | +# use pec instead of pml overlaying current source so you don't get a reflection |
| 20 | +boundary.field_lo = pml pml pml |
| 21 | +boundary.field_hi = pml pml pml |
| 22 | + |
| 23 | +my_constants.offset_y = -1100.e-6 |
| 24 | + |
| 25 | +################################# |
| 26 | +############ NUMERICS ########### |
| 27 | +################################# |
| 28 | +warpx.verbose = 1 |
| 29 | + |
| 30 | +warpx.cfl = 0.8 |
| 31 | + |
| 32 | +# vacuum or macroscopic |
| 33 | +algo.em_solver_medium = macroscopic |
| 34 | + |
| 35 | +# laxwendroff or backwardeuler |
| 36 | +algo.macroscopic_sigma_method = laxwendroff |
| 37 | + |
| 38 | +macroscopic.sigma_function(x,y,z) = "sigma_0 + (sigma_si - sigma_0) * (z <= h_si)" |
| 39 | +macroscopic.epsilon_function(x,y,z) = "eps_0 + eps_0 * (eps_r_si - 1.) * (z <= h_si)" |
| 40 | +macroscopic.mu_function(x,y,z) = "mu_0 + mu_0 * (mu_r_si - 1.) * (z <= h_si)" |
| 41 | + |
| 42 | +macroscopic.npy_k_index = 0 |
| 43 | +macroscopic.npy_k_index2 = 3 |
| 44 | + |
| 45 | +# comment for PEC, uncomment these for GDS-PEC |
| 46 | +macroscopic.sigma_npy_file = "voyageurs_layer1.npy" |
| 47 | +macroscopic.sigma_npy_file2 = "voyageurs_layer2.npy" |
| 48 | +macroscopic.sigma_npy_value = 1.e11 |
| 49 | +algo.use_PEC_mask = 1 |
| 50 | + |
| 51 | +macroscopic.mu_npy_file = "voyageurs_layer1.npy" |
| 52 | +macroscopic.mu_npy_file2 = "voyageurs_layer2.npy" |
| 53 | +macroscopic.mu_npy_value = 1.25663706e-06 |
| 54 | + |
| 55 | +################################# |
| 56 | +############ FIELDS ############# |
| 57 | +################################# |
| 58 | + |
| 59 | +############### |
| 60 | +# domain size |
| 61 | +# n_cellx/y/z and Lx/y/z are needed to calculate dx/dy/dz |
| 62 | +############### |
| 63 | +my_constants.n_cellx = 7544 |
| 64 | +my_constants.n_celly = 7544 |
| 65 | +my_constants.n_cellz = 4 |
| 66 | + |
| 67 | +my_constants.max_grid_sizex = 92 |
| 68 | +my_constants.max_grid_sizey = 92 |
| 69 | +my_constants.max_grid_sizez = 4 |
| 70 | +my_constants.blocking_factor = 2 |
| 71 | + |
| 72 | +my_constants.prob_lox = 0. |
| 73 | +my_constants.prob_loy = 0. |
| 74 | +my_constants.prob_loz = 0. |
| 75 | + |
| 76 | +my_constants.prob_hix = 9430.e-6 |
| 77 | +my_constants.prob_hiy = 9430.e-6 |
| 78 | +my_constants.prob_hiz = 300.e-6 |
| 79 | + |
| 80 | +my_constants.Lx = prob_hix - prob_lox |
| 81 | +my_constants.Ly = prob_hiy - prob_loy |
| 82 | +my_constants.Lz = prob_hiz - prob_loz |
| 83 | + |
| 84 | +############### |
| 85 | +# material properties |
| 86 | +############### |
| 87 | +my_constants.sigma_0 = 0.0 |
| 88 | +my_constants.sigma_si = 0. |
| 89 | + |
| 90 | +my_constants.eps_0 = 8.8541878128e-12 |
| 91 | +my_constants.eps_r_si = 11.7 |
| 92 | + |
| 93 | +my_constants.mu_0 = 1.25663706212e-06 |
| 94 | +my_constants.mu_r_si = 1.0 |
| 95 | + |
| 96 | +############### |
| 97 | +# silicon and palladium cross section |
| 98 | +############### |
| 99 | +my_constants.h_si = 150.e-6 |
| 100 | + |
| 101 | +############### |
| 102 | +# derived quantities and fundamental constants - don't touch these |
| 103 | +############### |
| 104 | + |
| 105 | +my_constants.pi = 3.14159265358979 |
| 106 | + |
| 107 | +my_constants.freq = 8.6e9 |
| 108 | +my_constants.TP = 1./freq |
| 109 | + |
| 110 | +# grid spacing |
| 111 | +my_constants.dx = Lx / n_cellx |
| 112 | +my_constants.dy = Ly / n_celly |
| 113 | +my_constants.dz = Lz / n_cellz |
| 114 | + |
| 115 | +my_constants.ddx = dx/1.e6 |
| 116 | +my_constants.ddy = dy/1.e6 |
| 117 | +my_constants.ddz = dz/1.e6 |
| 118 | + |
| 119 | +my_constants.flag_none = 0 |
| 120 | +my_constants.flag_hs = 1 |
| 121 | +my_constants.flag_ss = 2 |
| 122 | + |
| 123 | +############### |
| 124 | +# excitation |
| 125 | +############### |
| 126 | + |
| 127 | +warpx.E_excitation_on_grid_style = parse_E_excitation_grid_function |
| 128 | + |
| 129 | +warpx.Ex_excitation_flag_function(x,y,z) = "flag_none" |
| 130 | +warpx.Ey_excitation_flag_function(x,y,z) = "flag_ss * 0" |
| 131 | +warpx.Ez_excitation_flag_function(x,y,z) = "flag_none" |
| 132 | + |
| 133 | + |
| 134 | +# This is a source on a qubit control line |
| 135 | +warpx.Ex_excitation_grid_function(x,y,z,t) = "0." |
| 136 | +warpx.Ey_excitation_grid_function(x,y,z,t) = "0." |
| 137 | +warpx.Ez_excitation_grid_function(x,y,z,t) = "0." |
| 138 | + |
| 139 | +############### |
| 140 | +# diagnostics |
| 141 | +############### |
| 142 | + |
| 143 | +warpx.field_io_nfiles=64 |
| 144 | +warpx.particle_io_nfiles=64 |
| 145 | + |
| 146 | +diagnostics.diags_names = plt |
| 147 | +############### |
| 148 | +# full plotfiles |
| 149 | +plt.intervals = 1 |
| 150 | +plt.fields_to_plot = Ex Ey Ez Bx By Bz mu |
| 151 | +plt.diag_type = Full |
| 152 | +plt.file_min_digits = 7 |
0 commit comments