|
| 1 | +# See parameters in https://github.com/ECP-WarpX/artemis/pull/43 |
| 2 | + |
| 3 | +################################ |
| 4 | +####### GENERAL PARAMETERS ###### |
| 5 | +################################# |
| 6 | +max_step = 20000 |
| 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 | + + (sigma_metal - sigma_0) * (z > h_si) * (z < h_si + dz) * (x < prob_lox) * |
| 40 | + (1 |
| 41 | + -(y > -32.5e-6 + ddy) * (y < -27.5e-6 - ddy) |
| 42 | + -(y > -20.e-6 + ddy) * (y < -15.e-6 - ddy) |
| 43 | + )" |
| 44 | + |
| 45 | +macroscopic.epsilon_function(x,y,z) = "eps_0 + eps_0 * (eps_r_si - 1.) * (z <= h_si)" |
| 46 | + |
| 47 | +# lines 1-4: qubit control |
| 48 | +# lines 5-9: readout resonator |
| 49 | +# lines 9-13: capacitor |
| 50 | +# lines 14-18: entrance to meanding line |
| 51 | +# lines 19-68: meandering line |
| 52 | +macroscopic.mu_function(x,y,z) = "mu_0 + mu_0 * (mu_r_test - 1.) * (z > h_si) * (z < h_si + dz) * |
| 53 | + (1 |
| 54 | + -(y > -32.5e-6 + ddy) * (y < -27.5e-6 - ddy) |
| 55 | + -(y > -20.e-6 + ddy) * (y < -15.e-6 - ddy) |
| 56 | + )" |
| 57 | +################################# |
| 58 | +############ FIELDS ############# |
| 59 | +################################# |
| 60 | + |
| 61 | +############### |
| 62 | +# domain size |
| 63 | +# n_cellx/y/z and Lx/y/z are needed to calculate dx/dy/dz |
| 64 | +############### |
| 65 | +my_constants.n_cellx = 200 |
| 66 | +my_constants.n_celly = 40 |
| 67 | +my_constants.n_cellz = 32 |
| 68 | + |
| 69 | +my_constants.max_grid_sizex = 200 |
| 70 | +my_constants.max_grid_sizey = 40 |
| 71 | +my_constants.max_grid_sizez = 32 |
| 72 | +my_constants.blocking_factor = 2 |
| 73 | + |
| 74 | +my_constants.prob_lox = -1750.e-6 |
| 75 | +my_constants.prob_loy = -75.e-6 |
| 76 | +my_constants.prob_loz = 0. |
| 77 | + |
| 78 | +my_constants.prob_hix = -1250.e-6 |
| 79 | +my_constants.prob_hiy = 25.e-6 |
| 80 | +my_constants.prob_hiz = 320.e-6 |
| 81 | + |
| 82 | +my_constants.Lx = prob_hix - prob_lox |
| 83 | +my_constants.Ly = prob_hiy - prob_loy |
| 84 | +my_constants.Lz = prob_hiz - prob_loz |
| 85 | + |
| 86 | +############### |
| 87 | +# material properties |
| 88 | +############### |
| 89 | +my_constants.sigma_0 = 0.0 |
| 90 | +my_constants.sigma_si = 0. |
| 91 | +my_constants.sigma_metal = 1.e10 |
| 92 | + |
| 93 | +my_constants.eps_0 = 8.8541878128e-12 |
| 94 | +my_constants.eps_r_si = 11.7 |
| 95 | + |
| 96 | +my_constants.mu_0 = 1.25663706212e-06 |
| 97 | +my_constants.mu_r_si = 1.0 |
| 98 | +my_constants.mu_r_test = 0.999999 |
| 99 | + |
| 100 | +############### |
| 101 | +# silicon and palladium cross section |
| 102 | +############### |
| 103 | +my_constants.h_si = 160.e-6 |
| 104 | + |
| 105 | +############### |
| 106 | +# waveguide port parameters |
| 107 | +############### |
| 108 | +my_constants.h_port = 160.e-6 |
| 109 | +my_constants.w_port = 320.e-6 |
| 110 | + |
| 111 | +############### |
| 112 | +# derived quantities and fundamental constants - don't touch these |
| 113 | +############### |
| 114 | + |
| 115 | +my_constants.pi = 3.14159265358979 |
| 116 | + |
| 117 | +my_constants.freq = 500.e9 |
| 118 | +my_constants.TP = 1./freq |
| 119 | + |
| 120 | +# grid spacing |
| 121 | +my_constants.dx = Lx / n_cellx |
| 122 | +my_constants.dy = Ly / n_celly |
| 123 | +my_constants.dz = Lz / n_cellz |
| 124 | + |
| 125 | +my_constants.ddx = dx/1.e6 |
| 126 | +my_constants.ddy = dy/1.e6 |
| 127 | +my_constants.ddz = dz/1.e6 |
| 128 | + |
| 129 | +my_constants.flag_none = 0 |
| 130 | +my_constants.flag_hs = 1 |
| 131 | +my_constants.flag_ss = 2 |
| 132 | + |
| 133 | +############### |
| 134 | +# excitation |
| 135 | +############### |
| 136 | + |
| 137 | +warpx.E_excitation_on_grid_style = parse_E_excitation_grid_function |
| 138 | + |
| 139 | +warpx.Ex_excitation_flag_function(x,y,z) = "flag_hs * (z > h_si - ddz) * (z < h_si + ddz) * |
| 140 | + (1 |
| 141 | + -(y > -32.5e-6 + ddy) * (y < -27.5e-6 - ddy) |
| 142 | + -(y > -20.e-6 + ddy) * (y < -15.e-6 - ddy) |
| 143 | + )" |
| 144 | + |
| 145 | +warpx.Ey_excitation_flag_function(x,y,z) = "flag_hs * (z > h_si - ddz) * (z < h_si + ddz) * |
| 146 | + (1 |
| 147 | + -(y > -32.5e-6 + ddy) * (y < -27.5e-6 - ddy) |
| 148 | + -(y > -20.e-6 + ddy) * (y < -15.e-6 - ddy) |
| 149 | + ) |
| 150 | + + flag_ss * ( (y >= -20.e-6 + ddy) * (y <= -15.e-6 - ddy) + (y >= -32.5e-6 + ddy) * (y <= -27.5e-6 - ddy)) * (z > h_si - ddz) * (z < h_si + ddz) * (x > -1750.e-6 + dx - ddx) * (x < -1750.e-6 + dx + ddx)" |
| 151 | + |
| 152 | +warpx.Ez_excitation_flag_function(x,y,z) = "flag_none" |
| 153 | + |
| 154 | + |
| 155 | +# This is a source on a qubit control line |
| 156 | +warpx.Ex_excitation_grid_function(x,y,z,t) = "0." |
| 157 | +warpx.Ey_excitation_grid_function(x,y,z,t) = "exp(-(t-3*TP)**2/(TP**2))*sin(2*pi*freq*t) * |
| 158 | + ( (y >= -20.e-6 + ddy) * (y <= -15.e-6 - ddy) - (y >= -32.5e-6 + ddy) * (y <= -27.5e-6 - ddy)) * (z > h_si - ddz) * (z < h_si + ddz) * (x > -1750.e-6 + dx - ddx) * (x < -1750.e-6 + dx + ddx)" |
| 159 | +warpx.Ez_excitation_grid_function(x,y,z,t) = "0." |
| 160 | + |
| 161 | +############### |
| 162 | +# diagnostics |
| 163 | +############### |
| 164 | + |
| 165 | +diagnostics.diags_names = plt |
| 166 | +############### |
| 167 | +# full plotfiles |
| 168 | +plt.intervals = 100 |
| 169 | +plt.fields_to_plot = Ex Ey Ez Bx By Bz mu sigma |
| 170 | +plt.diag_type = Full |
| 171 | +plt.file_min_digits = 7 |
0 commit comments