diff options
author | 2021-07-20 20:16:20 -0700 | |
---|---|---|
committer | 2021-07-21 03:16:20 +0000 | |
commit | 4a1d30e003ebe4d91565f2be09dad2362cd99f6b (patch) | |
tree | f3261f88110ec0acbec579681e34443ed84066a9 /Examples/Modules | |
parent | 4fa339e5951df30d06cd6084c5d7e47b7b3fa73c (diff) | |
download | WarpX-4a1d30e003ebe4d91565f2be09dad2362cd99f6b.tar.gz WarpX-4a1d30e003ebe4d91565f2be09dad2362cd99f6b.tar.zst WarpX-4a1d30e003ebe4d91565f2be09dad2362cd99f6b.zip |
Use new boundary input (#2110)
* support only new boundary interface. set pml flags to 0 as default
* use new boundary interface in Examples/Modules/
* use new boundary interface in the input for tests in Examples/Physical_applications
* use new boundary interface in the input for tests in Examples/Tests
* use new bc
* fix typo
* fix typo
* Update Examples/Tests/SingleParticle/inputs_2d
* fix bc in input
* specific bc for electrostatic inputs
* resetting benchmark for PEC particle CI test after fixing the default pml flags from 1 to 0
* Update Examples/Physics_applications/laser_acceleration/inputs_2d_rz
* remove documentation on previous boundary input
* Comment to clarify where in the code is_periodic is appended and how it is defined
* add default parameters for BC in doc
Diffstat (limited to 'Examples/Modules')
18 files changed, 79 insertions, 36 deletions
diff --git a/Examples/Modules/ParticleBoundaryProcess/inputs_absorption b/Examples/Modules/ParticleBoundaryProcess/inputs_absorption index 25d41ff7b..5da6720ef 100644 --- a/Examples/Modules/ParticleBoundaryProcess/inputs_absorption +++ b/Examples/Modules/ParticleBoundaryProcess/inputs_absorption @@ -5,12 +5,14 @@ amr.max_level = 0 max_step = 60 geometry.coord_sys = 0 -geometry.is_periodic = 0 0 0 geometry.prob_lo = -125.e-6 -125.e-6 -149.e-6 geometry.prob_hi = 125.e-6 125.e-6 1.e-6 -warpx.do_pml = 0 warpx.cfl = 0.99 +# Domain Boundary condition +boundary.field_lo = pec pec pec +boundary.field_hi = pec pec pec + # Use parser to build EB # Note that for amrex EB implicit function, >0 is covered, =0 is boundary and <0 is regular. # This sets the region from -12.5e-6 < x < 12.5e-6, -12.5e-6 < y < 12.5e-6, -8.65e-6 < z < -6.15e-6 to be "covered" diff --git a/Examples/Modules/RigidInjection/inputs_2d_BoostedFrame b/Examples/Modules/RigidInjection/inputs_2d_BoostedFrame index 0713f0ef3..d9c0df13f 100644 --- a/Examples/Modules/RigidInjection/inputs_2d_BoostedFrame +++ b/Examples/Modules/RigidInjection/inputs_2d_BoostedFrame @@ -9,11 +9,14 @@ amr.max_grid_size = 512 amr.blocking_factor = 16 amr.max_level = 0 geometry.coord_sys = 0 # 0: Cartesian -geometry.is_periodic = 1 0 # Is periodic? geometry.prob_lo = -50.e-6 -10.e-6 geometry.prob_hi = 50.e-6 0.e-6 + +# Boundary condition +boundary.field_lo = periodic pml +boundary.field_hi = periodic pml + warpx.cfl = .999 -warpx.do_pml = 1 warpx.do_moving_window = 1 warpx.moving_window_dir = z warpx.moving_window_v = 1.0 # in units of the speed of light diff --git a/Examples/Modules/RigidInjection/inputs_2d_LabFrame b/Examples/Modules/RigidInjection/inputs_2d_LabFrame index a444b9954..65abdb27d 100644 --- a/Examples/Modules/RigidInjection/inputs_2d_LabFrame +++ b/Examples/Modules/RigidInjection/inputs_2d_LabFrame @@ -4,11 +4,14 @@ amr.max_grid_size = 256 amr.blocking_factor = 16 amr.max_level = 0 geometry.coord_sys = 0 # 0: Cartesian -geometry.is_periodic = 1 0 # Is periodic? geometry.prob_lo = -50.e-6 -10.e-6 geometry.prob_hi = 50.e-6 0.e-6 + +# Boundary condition +boundary.field_lo = periodic pml +boundary.field_hi = periodic pml + warpx.cfl = .999 -warpx.do_pml = 1 warpx.do_moving_window = 1 warpx.moving_window_dir = z warpx.moving_window_v = 1.0 # in units of the speed of light diff --git a/Examples/Modules/boosted_diags/inputs_3d_slice b/Examples/Modules/boosted_diags/inputs_3d_slice index d7c8b457f..680777336 100644 --- a/Examples/Modules/boosted_diags/inputs_3d_slice +++ b/Examples/Modules/boosted_diags/inputs_3d_slice @@ -13,10 +13,12 @@ my_constants.ymax = +128.e-6 my_constants.zmax = 0.96e-6 geometry.coord_sys = 0 # 0: Cartesian -geometry.is_periodic = 1 1 0 # Is periodic? geometry.prob_lo = xmin ymin zmin geometry.prob_hi = xmax ymax zmax +boundary.field_lo = periodic periodic pec +boundary.field_hi = periodic periodic pec + algo.current_deposition = esirkepov algo.charge_deposition = standard algo.field_gathering = energy-conserving @@ -24,7 +26,6 @@ algo.particle_pusher = vay algo.maxwell_solver = ckc warpx.use_filter = 1 warpx.cfl = 1. -warpx.do_pml = 0 # Order of particle shape factors algo.particle_shape = 3 diff --git a/Examples/Modules/dive_cleaning/inputs_3d b/Examples/Modules/dive_cleaning/inputs_3d index 92b34539a..1c8da5464 100644 --- a/Examples/Modules/dive_cleaning/inputs_3d +++ b/Examples/Modules/dive_cleaning/inputs_3d @@ -4,12 +4,13 @@ amr.max_grid_size = 32 amr.max_level = 0 geometry.coord_sys = 0 # 0: Cartesian -geometry.is_periodic = 0 0 0 # Is periodic? geometry.prob_lo = -50.e-6 -50.e-6 -50.e-6 geometry.prob_hi = 50.e-6 50.e-6 50.e-6 +boundary.field_lo = pml pml pml +boundary.field_hi = pml pml pml + warpx.do_dive_cleaning = 1 -warpx.do_pml = 1 warpx.use_filter = 0 # Order of particle shape factors diff --git a/Examples/Modules/embedded_boundary_cube/inputs_3d b/Examples/Modules/embedded_boundary_cube/inputs_3d index e1bf83c95..7bdc25749 100644 --- a/Examples/Modules/embedded_boundary_cube/inputs_3d +++ b/Examples/Modules/embedded_boundary_cube/inputs_3d @@ -4,13 +4,14 @@ amr.max_grid_size = 128 amr.max_level = 0 geometry.coord_sys = 0 -geometry.is_periodic = 0 0 0 geometry.prob_lo = -0.8 -0.8 -0.8 geometry.prob_hi = 0.8 0.8 0.8 -warpx.do_pml = 0 warpx.const_dt = 1e-6 warpx.cfl = 1 +boundary.field_lo = pec pec pec +boundary.field_hi = pec pec pec + eb2.geom_type = box eb2.box_lo = -0.5 -0.5 -0.5 eb2.box_hi = 0.5 0.5 0.5 diff --git a/Examples/Modules/ionization/inputs_2d_bf_rt b/Examples/Modules/ionization/inputs_2d_bf_rt index f1572da10..db4fe089c 100644 --- a/Examples/Modules/ionization/inputs_2d_bf_rt +++ b/Examples/Modules/ionization/inputs_2d_bf_rt @@ -3,13 +3,14 @@ amr.n_cell = 16 800 amr.max_grid_size = 64 amr.blocking_factor = 16 geometry.coord_sys = 0 -geometry.is_periodic = 1 0 geometry.prob_lo = -5.e-6 -40.e-6 geometry.prob_hi = 5.e-6 0.e-6 amr.max_level = 0 +boundary.field_lo = periodic pml +boundary.field_hi = periodic pml + algo.maxwell_solver = ckc -warpx.do_pml = 1 warpx.cfl = .999 warpx.do_moving_window = 1 warpx.moving_window_dir = z diff --git a/Examples/Modules/ionization/inputs_2d_rt b/Examples/Modules/ionization/inputs_2d_rt index 60402eae9..0549d19be 100644 --- a/Examples/Modules/ionization/inputs_2d_rt +++ b/Examples/Modules/ionization/inputs_2d_rt @@ -3,13 +3,14 @@ amr.n_cell = 16 800 amr.max_grid_size = 64 amr.blocking_factor = 16 geometry.coord_sys = 0 -geometry.is_periodic = 1 0 geometry.prob_lo = -5.e-6 0.e-6 geometry.prob_hi = 5.e-6 20.e-6 amr.max_level = 0 +boundary.field_lo = periodic pml +boundary.field_hi = periodic pml + algo.maxwell_solver = ckc -warpx.do_pml = 1 warpx.cfl = .999 warpx.use_filter = 0 diff --git a/Examples/Modules/laser_injection/inputs_2d_rt b/Examples/Modules/laser_injection/inputs_2d_rt index 09d1209ef..534cd28ad 100644 --- a/Examples/Modules/laser_injection/inputs_2d_rt +++ b/Examples/Modules/laser_injection/inputs_2d_rt @@ -13,10 +13,12 @@ amr.max_level = 0 # Geometry geometry.coord_sys = 0 # 0: Cartesian -geometry.is_periodic = 0 1 # Is periodic? geometry.prob_lo = -20.e-6 -15.e-6 # physical domain geometry.prob_hi = 20.e-6 15.e-6 +boundary.field_lo = pec periodic +boundary.field_hi = pec periodic + warpx.serialize_ics = 1 # Verbosity @@ -52,8 +54,6 @@ diagnostics.diags_names = diag1 diag1.intervals = 240 diag1.diag_type = Full -warpx.do_pml = 0 - # Moving window warpx.do_moving_window = 1 warpx.moving_window_dir = x diff --git a/Examples/Modules/laser_injection/inputs_3d_rt b/Examples/Modules/laser_injection/inputs_3d_rt index d2c9ee17a..839e467c8 100644 --- a/Examples/Modules/laser_injection/inputs_3d_rt +++ b/Examples/Modules/laser_injection/inputs_3d_rt @@ -13,17 +13,19 @@ amr.max_level = 0 # Geometry geometry.coord_sys = 0 # 0: Cartesian -geometry.is_periodic = 1 1 0 # Is periodic? geometry.prob_lo = -20.e-6 -20.e-6 -12.e-6 # physical domain geometry.prob_hi = 20.e-6 20.e-6 12.e-6 +# Boundary condition +boundary.field_lo = periodic periodic pec +boundary.field_hi = periodic periodic pec + warpx.serialize_ics = 1 # Verbosity warpx.verbose = 1 # Algorithms -warpx.do_pml = 0 warpx.use_filter = 0 # CFL diff --git a/Examples/Modules/laser_injection_from_file/inputs.2d_test_txye b/Examples/Modules/laser_injection_from_file/inputs.2d_test_txye index a8f3db773..72fdc2fb0 100644 --- a/Examples/Modules/laser_injection_from_file/inputs.2d_test_txye +++ b/Examples/Modules/laser_injection_from_file/inputs.2d_test_txye @@ -7,13 +7,18 @@ amr.max_grid_size = 512 amr.blocking_factor = 32 amr.max_level = 0 geometry.coord_sys = 0 # 0: Cartesian -geometry.is_periodic = 1 1 1 # Is periodic? geometry.prob_lo = -25.e-6 -25.0e-6 # physical domain geometry.prob_hi = 25.e-6 25.e-6 warpx.verbose = 1 warpx.serialize_ics = 1 ################################# +####### Boundary condition ###### +################################# +boundary.field_lo = periodic periodic +boundary.field_hi = periodic periodic + +################################# ############ NUMERICS ########### ################################# warpx.cfl = 0.98 diff --git a/Examples/Modules/nci_corrector/inputs_2d b/Examples/Modules/nci_corrector/inputs_2d index 78970b59e..6430d5d3e 100644 --- a/Examples/Modules/nci_corrector/inputs_2d +++ b/Examples/Modules/nci_corrector/inputs_2d @@ -14,13 +14,15 @@ amr.max_level = 0 # Geometry geometry.coord_sys = 0 # 0: Cartesian -geometry.is_periodic = 1 1 # Is periodic? geometry.prob_lo = -20.e-6 -20.e-6 geometry.prob_hi = 20.e-6 20.e-6 +# Boundary condition +boundary.field_lo = periodic periodic +boundary.field_hi = periodic periodic + # Verbosity warpx.use_filter = 1 -warpx.do_pml = 0 # Algorithms algo.current_deposition = esirkepov diff --git a/Examples/Modules/qed/breit_wheeler/inputs_2d b/Examples/Modules/qed/breit_wheeler/inputs_2d index 26426f864..f0a241bf1 100644 --- a/Examples/Modules/qed/breit_wheeler/inputs_2d +++ b/Examples/Modules/qed/breit_wheeler/inputs_2d @@ -6,12 +6,17 @@ amr.n_cell = 32 32 amr.max_grid_size = 16 # maximum size of each AMReX box, used to decompose the domain amr.blocking_factor = 8 # minimum size of each AMReX box, used to decompose the domain geometry.coord_sys = 0 # 0: Cartesian -geometry.is_periodic = 1 1 1 # Is periodic? geometry.prob_lo = -0.5e-6 -0.5e-6 # physical domain geometry.prob_hi = 0.5e-6 0.5e-6 amr.max_level = 0 # Maximum level in hierarchy (1 might be unstable, >1 is not supported) ################################# +####### Boundary condition ###### +################################# +boundary.field_lo = periodic periodic +boundary.field_hi = periodic periodic + +################################# ############ NUMERICS ########### ################################# algo.current_deposition = esirkepov @@ -22,7 +27,6 @@ warpx.verbose = 1 warpx.do_dive_cleaning = 0 warpx.use_filter = 1 warpx.cfl = 1. # if 1., the time step is set to its CFL limit -warpx.do_pml = 1 # use Perfectly Matched Layer as boundary condition warpx.serialize_ics = 1 # Order of particle shape factors diff --git a/Examples/Modules/qed/breit_wheeler/inputs_3d b/Examples/Modules/qed/breit_wheeler/inputs_3d index e31e2c536..e55989729 100644 --- a/Examples/Modules/qed/breit_wheeler/inputs_3d +++ b/Examples/Modules/qed/breit_wheeler/inputs_3d @@ -6,12 +6,17 @@ amr.n_cell = 16 16 16 amr.max_grid_size = 16 # maximum size of each AMReX box, used to decompose the domain amr.blocking_factor = 8 # minimum size of each AMReX box, used to decompose the domain geometry.coord_sys = 0 # 0: Cartesian -geometry.is_periodic = 1 1 1 # Is periodic? geometry.prob_lo = -0.5e-6 -0.5e-6 -0.5e-6 # physical domain geometry.prob_hi = 0.5e-6 0.5e-6 0.5e-6 amr.max_level = 0 # Maximum level in hierarchy (1 might be unstable, >1 is not supported) ################################# +####### Boundary condition ###### +################################# +boundary.field_lo = periodic periodic periodic +boundary.field_hi = periodic periodic periodic + +################################# ############ NUMERICS ########### ################################# algo.current_deposition = esirkepov @@ -22,7 +27,6 @@ warpx.verbose = 1 warpx.do_dive_cleaning = 0 warpx.use_filter = 1 warpx.cfl = 1. # if 1., the time step is set to its CFL limit -warpx.do_pml = 1 # use Perfectly Matched Layer as boundary condition warpx.serialize_ics = 1 # Order of particle shape factors diff --git a/Examples/Modules/qed/quantum_synchrotron/inputs_2d b/Examples/Modules/qed/quantum_synchrotron/inputs_2d index c735bafd7..56cbf4c4b 100644 --- a/Examples/Modules/qed/quantum_synchrotron/inputs_2d +++ b/Examples/Modules/qed/quantum_synchrotron/inputs_2d @@ -6,12 +6,17 @@ amr.n_cell = 32 32 amr.max_grid_size = 16 # maximum size of each AMReX box, used to decompose the domain amr.blocking_factor = 8 # minimum size of each AMReX box, used to decompose the domain geometry.coord_sys = 0 # 0: Cartesian -geometry.is_periodic = 1 1 1 # Is periodic? geometry.prob_lo = -0.25e-6 -0.25e-6 # physical domain geometry.prob_hi = 0.25e-6 0.25e-6 amr.max_level = 0 # Maximum level in hierarchy (1 might be unstable, >1 is not supported) ################################# +####### Boundary condition ###### +################################# +boundary.field_lo = periodic periodic +boundary.field_hi = periodic periodic + +################################# ############ NUMERICS ########### ################################# algo.current_deposition = esirkepov @@ -22,7 +27,6 @@ warpx.verbose = 1 warpx.do_dive_cleaning = 0 warpx.use_filter = 1 warpx.cfl = 1. # if 1., the time step is set to its CFL limit -warpx.do_pml = 1 # use Perfectly Matched Layer as boundary condition warpx.serialize_ics = 1 # Order of particle shape factors diff --git a/Examples/Modules/qed/quantum_synchrotron/inputs_3d b/Examples/Modules/qed/quantum_synchrotron/inputs_3d index e7a3c7175..e9ff2a8db 100644 --- a/Examples/Modules/qed/quantum_synchrotron/inputs_3d +++ b/Examples/Modules/qed/quantum_synchrotron/inputs_3d @@ -6,12 +6,17 @@ amr.n_cell = 16 16 16 amr.max_grid_size = 16 # maximum size of each AMReX box, used to decompose the domain amr.blocking_factor = 8 # minimum size of each AMReX box, used to decompose the domain geometry.coord_sys = 0 # 0: Cartesian -geometry.is_periodic = 1 1 1 # Is periodic? geometry.prob_lo = -0.25e-6 -0.25e-6 -0.25e-6 # physical domain geometry.prob_hi = 0.25e-6 0.25e-6 0.25e-6 amr.max_level = 0 # Maximum level in hierarchy (1 might be unstable, >1 is not supported) ################################# +####### Boundary condition ###### +################################# +boundary.field_lo = periodic periodic periodic +boundary.field_hi = periodic periodic periodic + +################################# ############ NUMERICS ########### ################################# algo.current_deposition = esirkepov @@ -22,7 +27,6 @@ warpx.verbose = 1 warpx.do_dive_cleaning = 0 warpx.use_filter = 1 warpx.cfl = 1. # if 1., the time step is set to its CFL limit -warpx.do_pml = 1 # use Perfectly Matched Layer as boundary condition warpx.serialize_ics = 1 # Order of particle shape factors diff --git a/Examples/Modules/qed/schwinger/inputs_3d_schwinger b/Examples/Modules/qed/schwinger/inputs_3d_schwinger index fb1b98286..1f532eceb 100644 --- a/Examples/Modules/qed/schwinger/inputs_3d_schwinger +++ b/Examples/Modules/qed/schwinger/inputs_3d_schwinger @@ -6,12 +6,17 @@ amr.n_cell = 8 8 32 amr.max_grid_size = 16 # maximum size of each AMReX box, used to decompose the domain amr.blocking_factor = 8 # minimum size of each AMReX box, used to decompose the domain geometry.coord_sys = 0 # 0: Cartesian -geometry.is_periodic = 1 1 1 # Is periodic? geometry.prob_lo = -5.e-7 -5.e-7 -5.e-7 # physical domain geometry.prob_hi = 5.e-7 5.e-7 5.e-7 amr.max_level = 0 # Maximum level in hierarchy (1 might be unstable, >1 is not supported) ################################# +####### Boundary condition ###### +################################# +boundary.field_lo = periodic periodic periodic +boundary.field_hi = periodic periodic periodic + +################################# ############ NUMERICS ########### ################################# algo.current_deposition = esirkepov @@ -20,7 +25,6 @@ algo.field_gathering = momentum-conserving algo.particle_pusher = boris warpx.verbose = 1 warpx.cfl = 1. # if 1., the time step is set to its CFL limit -warpx.do_pml = 0 # use Perfectly Matched Layer as boundary condition warpx.serialize_ics = 1 warpx.use_filter = 0 diff --git a/Examples/Modules/resampling/inputs_leveling_thinning b/Examples/Modules/resampling/inputs_leveling_thinning index e5de6b7f1..9990fd563 100644 --- a/Examples/Modules/resampling/inputs_leveling_thinning +++ b/Examples/Modules/resampling/inputs_leveling_thinning @@ -2,12 +2,13 @@ max_step = 8 amr.n_cell = 16 16 amr.blocking_factor = 8 amr.max_grid_size = 8 -geometry.is_periodic = 1 1 geometry.prob_lo = 0. 0. geometry.prob_hi = 16. 16. amr.max_level = 0 -warpx.do_pml = 0 +# Boundary condition +boundary.field_lo = periodic periodic +boundary.field_hi = periodic periodic # Order of particle shape factors algo.particle_shape = 1 |