aboutsummaryrefslogtreecommitdiff
path: root/Examples
diff options
context:
space:
mode:
Diffstat (limited to 'Examples')
-rw-r--r--Examples/Modules/ParticleBoundaryProcess/inputs_absorption6
-rw-r--r--Examples/Modules/RigidInjection/inputs_2d_BoostedFrame7
-rw-r--r--Examples/Modules/RigidInjection/inputs_2d_LabFrame7
-rw-r--r--Examples/Modules/boosted_diags/inputs_3d_slice5
-rw-r--r--Examples/Modules/dive_cleaning/inputs_3d5
-rw-r--r--Examples/Modules/embedded_boundary_cube/inputs_3d5
-rw-r--r--Examples/Modules/ionization/inputs_2d_bf_rt5
-rw-r--r--Examples/Modules/ionization/inputs_2d_rt5
-rw-r--r--Examples/Modules/laser_injection/inputs_2d_rt6
-rw-r--r--Examples/Modules/laser_injection/inputs_3d_rt6
-rw-r--r--Examples/Modules/laser_injection_from_file/inputs.2d_test_txye7
-rw-r--r--Examples/Modules/nci_corrector/inputs_2d6
-rw-r--r--Examples/Modules/qed/breit_wheeler/inputs_2d8
-rw-r--r--Examples/Modules/qed/breit_wheeler/inputs_3d8
-rw-r--r--Examples/Modules/qed/quantum_synchrotron/inputs_2d8
-rw-r--r--Examples/Modules/qed/quantum_synchrotron/inputs_3d8
-rw-r--r--Examples/Modules/qed/schwinger/inputs_3d_schwinger8
-rw-r--r--Examples/Modules/resampling/inputs_leveling_thinning5
-rw-r--r--Examples/Physics_applications/laser_acceleration/inputs_2d8
-rw-r--r--Examples/Physics_applications/laser_acceleration/inputs_2d_boost8
-rw-r--r--Examples/Physics_applications/laser_acceleration/inputs_2d_rz5
-rw-r--r--Examples/Physics_applications/laser_acceleration/inputs_3d8
-rw-r--r--Examples/Physics_applications/laser_ion/inputs5
-rw-r--r--Examples/Physics_applications/plasma_acceleration/inputs_2d11
-rw-r--r--Examples/Physics_applications/plasma_acceleration/inputs_2d_boost8
-rw-r--r--Examples/Physics_applications/plasma_acceleration/inputs_3d_boost8
-rw-r--r--Examples/Physics_applications/plasma_mirror/inputs_2d7
-rw-r--r--Examples/Physics_applications/uniform_plasma/inputs_2d7
-rw-r--r--Examples/Physics_applications/uniform_plasma/inputs_3d7
-rw-r--r--Examples/Tests/ElectrostaticSphere/inputs_3d4
-rw-r--r--Examples/Tests/ElectrostaticSphere/inputs_rz4
-rw-r--r--Examples/Tests/ElectrostaticSphereEB/inputs_3d1
-rw-r--r--Examples/Tests/Langmuir/inputs_2d_multi_rt6
-rw-r--r--Examples/Tests/Langmuir/inputs_2d_multi_rz_rt1
-rw-r--r--Examples/Tests/Langmuir/inputs_3d_multi_rt6
-rw-r--r--Examples/Tests/Larmor/inputs_2d_mr6
-rw-r--r--Examples/Tests/Maxwell_Hybrid_QED/inputs_2d8
-rw-r--r--Examples/Tests/PML/inputs_2d6
-rw-r--r--Examples/Tests/PML/inputs_3d6
-rw-r--r--Examples/Tests/SingleParticle/inputs_2d7
-rw-r--r--Examples/Tests/averaged_galilean/inputs_avg_2d8
-rw-r--r--Examples/Tests/averaged_galilean/inputs_avg_3d7
-rw-r--r--Examples/Tests/collision/inputs_2d8
-rw-r--r--Examples/Tests/collision/inputs_3d8
-rw-r--r--Examples/Tests/comoving/inputs_2d_hybrid8
-rw-r--r--Examples/Tests/divb_cleaning/inputs_3d5
-rw-r--r--Examples/Tests/galilean/inputs_2d7
-rw-r--r--Examples/Tests/galilean/inputs_2d_hybrid6
-rw-r--r--Examples/Tests/galilean/inputs_3d7
-rw-r--r--Examples/Tests/initial_distribution/inputs8
-rw-r--r--Examples/Tests/initial_plasma_profile/inputs8
-rw-r--r--Examples/Tests/laser_on_fine/inputs_2d6
-rw-r--r--Examples/Tests/multi_J/inputs_2d6
-rw-r--r--Examples/Tests/particle_pusher/inputs_3d6
-rw-r--r--Examples/Tests/particles_in_PML/inputs_2d6
-rw-r--r--Examples/Tests/particles_in_PML/inputs_3d6
-rw-r--r--Examples/Tests/particles_in_PML/inputs_mr_2d6
-rw-r--r--Examples/Tests/particles_in_PML/inputs_mr_3d6
-rw-r--r--Examples/Tests/photon_pusher/inputs_3d6
-rw-r--r--Examples/Tests/radiation_reaction/test_const_B_analytical/inputs_3d5
-rw-r--r--Examples/Tests/reduced_diags/inputs5
-rw-r--r--Examples/Tests/reduced_diags/inputs_loadbalancecosts5
-rw-r--r--Examples/Tests/restart/inputs8
-rw-r--r--Examples/Tests/subcycling/inputs_2d6
64 files changed, 292 insertions, 117 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
diff --git a/Examples/Physics_applications/laser_acceleration/inputs_2d b/Examples/Physics_applications/laser_acceleration/inputs_2d
index afd6ea585..8917f5f05 100644
--- a/Examples/Physics_applications/laser_acceleration/inputs_2d
+++ b/Examples/Physics_applications/laser_acceleration/inputs_2d
@@ -6,7 +6,6 @@ amr.n_cell = 64 512
amr.max_grid_size = 64 # maximum size of each AMReX box, used to decompose the domain
amr.blocking_factor = 32 # minimum size of each AMReX box, used to decompose the domain
geometry.coord_sys = 0 # 0: Cartesian
-geometry.is_periodic = 0 0 # Is periodic?
geometry.prob_lo = -30.e-6 -56.e-6 # physical domain
geometry.prob_hi = 30.e-6 12.e-6
amr.max_level = 0 # Maximum level in hierarchy (1 might be unstable, >1 is not supported)
@@ -14,13 +13,18 @@ amr.max_level = 0 # Maximum level in hierarchy (1 might be unstable, >1 is not s
# warpx.fine_tag_hi = 5.e-6 -25.e-6
#################################
+####### Boundary condition ######
+#################################
+boundary.field_lo = pml pml
+boundary.field_hi = pml pml
+
+#################################
############ NUMERICS ###########
#################################
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.do_moving_window = 1
warpx.moving_window_dir = z # Only z is supported for the moment
warpx.moving_window_v = 1.0 # units of speed of light
diff --git a/Examples/Physics_applications/laser_acceleration/inputs_2d_boost b/Examples/Physics_applications/laser_acceleration/inputs_2d_boost
index 240c602bf..fa733880e 100644
--- a/Examples/Physics_applications/laser_acceleration/inputs_2d_boost
+++ b/Examples/Physics_applications/laser_acceleration/inputs_2d_boost
@@ -8,12 +8,17 @@ amr.max_grid_size = 64
amr.blocking_factor = 32
amr.max_level = 0
geometry.coord_sys = 0 # 0: Cartesian
-geometry.is_periodic = 1 0 # Is periodic?
# physical domain
geometry.prob_lo = -128.e-6 -40.e-6
geometry.prob_hi = 128.e-6 0.96e-6
#################################
+####### Boundary condition ######
+#################################
+boundary.field_lo = periodic pec
+boundary.field_hi = periodic pec
+
+#################################
############ NUMERICS ###########
#################################
warpx.verbose = 1
@@ -25,7 +30,6 @@ algo.particle_pusher = vay
algo.maxwell_solver = ckc
warpx.use_filter = 1
warpx.cfl = 1.
-warpx.do_pml = 0
# Moving window
warpx.do_moving_window = 1
warpx.moving_window_dir = z
diff --git a/Examples/Physics_applications/laser_acceleration/inputs_2d_rz b/Examples/Physics_applications/laser_acceleration/inputs_2d_rz
index 9b79634f8..718a96ee7 100644
--- a/Examples/Physics_applications/laser_acceleration/inputs_2d_rz
+++ b/Examples/Physics_applications/laser_acceleration/inputs_2d_rz
@@ -6,13 +6,15 @@ amr.n_cell = 64 512
amr.max_grid_size = 64 # maximum size of each AMReX box, used to decompose the domain
amr.blocking_factor = 32 # minimum size of each AMReX box, used to decompose the domain
geometry.coord_sys = 1 # 0: Cartesian
-geometry.is_periodic = 0 0 # Is periodic?
geometry.prob_lo = 0. -56.e-6 # physical domain
geometry.prob_hi = 30.e-6 12.e-6
amr.max_level = 0 # Maximum level in hierarchy (1 might be unstable, >1 is not supported)
warpx.n_rz_azimuthal_modes = 2
+boundary.field_lo = none pec
+boundary.field_hi = pec pec
+
#################################
############ NUMERICS ###########
#################################
@@ -20,7 +22,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 = 0 # use Perfectly Matched Layer as boundary condition
warpx.do_moving_window = 1
warpx.moving_window_dir = z # Only z is supported for the moment
warpx.moving_window_v = 1.0 # units of speed of light
diff --git a/Examples/Physics_applications/laser_acceleration/inputs_3d b/Examples/Physics_applications/laser_acceleration/inputs_3d
index 1dd0b5253..249a54669 100644
--- a/Examples/Physics_applications/laser_acceleration/inputs_3d
+++ b/Examples/Physics_applications/laser_acceleration/inputs_3d
@@ -6,7 +6,6 @@ amr.n_cell = 64 64 512
amr.max_grid_size = 64 # maximum size of each AMReX box, used to decompose the domain
amr.blocking_factor = 32 # minimum size of each AMReX box, used to decompose the domain
geometry.coord_sys = 0 # 0: Cartesian
-geometry.is_periodic = 1 1 0 # Is periodic?
geometry.prob_lo = -30.e-6 -30.e-6 -56.e-6 # physical domain
geometry.prob_hi = 30.e-6 30.e-6 12.e-6
amr.max_level = 0 # Maximum level in hierarchy (1 might be unstable, >1 is not supported)
@@ -14,13 +13,18 @@ amr.max_level = 0 # Maximum level in hierarchy (1 might be unstable, >1 is not s
# warpx.fine_tag_hi = 5.e-6 5.e-6 -30.e-6
#################################
+####### Boundary condition ######
+#################################
+boundary.field_lo = periodic periodic pec
+boundary.field_hi = periodic periodic pec
+
+#################################
############ NUMERICS ###########
#################################
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 = 0 # use Perfectly Matched Layer as boundary condition
warpx.do_moving_window = 1
warpx.moving_window_dir = z # Only z is supported for the moment
warpx.moving_window_v = 1.0 # units of speed of light
diff --git a/Examples/Physics_applications/laser_ion/inputs b/Examples/Physics_applications/laser_ion/inputs
index d69f55f87..8a8b18f66 100644
--- a/Examples/Physics_applications/laser_ion/inputs
+++ b/Examples/Physics_applications/laser_ion/inputs
@@ -25,7 +25,10 @@ amr.n_cell = 2688 3712
amr.max_level = 0
geometry.prob_lo = -7.5e-6 -5.e-6
geometry.prob_hi = 7.5e-6 25.e-6
-geometry.is_periodic = 0 0 # non-periodic (default)
+
+# Boundary condition
+boundary.field_lo = pml pml
+boundary.field_hi = pml pml
# Order of particle shape factors
algo.particle_shape = 3
diff --git a/Examples/Physics_applications/plasma_acceleration/inputs_2d b/Examples/Physics_applications/plasma_acceleration/inputs_2d
index 9aceea519..f25f3d7ff 100644
--- a/Examples/Physics_applications/plasma_acceleration/inputs_2d
+++ b/Examples/Physics_applications/plasma_acceleration/inputs_2d
@@ -7,19 +7,24 @@ amr.max_grid_size = 128
amr.blocking_factor = 32
amr.max_level = 0
geometry.coord_sys = 0 # 0: Cartesian
-geometry.is_periodic = 0 0 # Is periodic?
geometry.prob_lo = -125.e-6 -149.e-6
geometry.prob_hi = 125.e-6 1.e-6
warpx.fine_tag_lo = -12.e-6 -110.e-6
warpx.fine_tag_hi = 12.e-6 -100.e-6
#################################
+######## Boundary condition #####
+#################################
+boundary.field_lo = pml pml
+boundary.field_hi = pml pml
+# PML
+warpx.pml_ncell = 10
+
+#################################
############ NUMERICS ###########
#################################
algo.maxwell_solver = ckc
warpx.use_filter = 1
-warpx.do_pml = 1
-warpx.pml_ncell = 10
warpx.cfl = .99
warpx.do_moving_window = 1
warpx.moving_window_dir = z
diff --git a/Examples/Physics_applications/plasma_acceleration/inputs_2d_boost b/Examples/Physics_applications/plasma_acceleration/inputs_2d_boost
index 0277067fb..304da69c8 100644
--- a/Examples/Physics_applications/plasma_acceleration/inputs_2d_boost
+++ b/Examples/Physics_applications/plasma_acceleration/inputs_2d_boost
@@ -7,17 +7,21 @@ amr.max_grid_size = 128
amr.blocking_factor = 32
amr.max_level = 0
geometry.coord_sys = 0 # 0: Cartesian
-geometry.is_periodic = 0 0 # Is periodic?
geometry.prob_lo = -125.e-6 -149.e-6
geometry.prob_hi = 125.e-6 1.e-6
#################################
+####### Boundary condition ######
+#################################
+boundary.field_lo = pml pml
+boundary.field_hi = pml pml
+
+#################################
############ NUMERICS ###########
#################################
algo.maxwell_solver = ckc
warpx.verbose = 1
warpx.use_filter = 1
-warpx.do_pml = 1
warpx.pml_ncell = 10
warpx.cfl = .99
warpx.do_moving_window = 1
diff --git a/Examples/Physics_applications/plasma_acceleration/inputs_3d_boost b/Examples/Physics_applications/plasma_acceleration/inputs_3d_boost
index 8ad4e3056..55f74cfcb 100644
--- a/Examples/Physics_applications/plasma_acceleration/inputs_3d_boost
+++ b/Examples/Physics_applications/plasma_acceleration/inputs_3d_boost
@@ -7,18 +7,22 @@ amr.max_grid_size = 64
amr.blocking_factor = 32
amr.max_level = 0
geometry.coord_sys = 0 # 0: Cartesian
-geometry.is_periodic = 1 1 0 # Is periodic?
geometry.prob_lo = -0.00015 -0.00015 -0.00012
geometry.prob_hi = 0.00015 0.00015 1.e-06
#################################
+####### Boundary condition ######
+#################################
+boundary.field_lo = periodic periodic pml
+boundary.field_hi = periodic periodic pml
+
+#################################
############ NUMERICS ###########
#################################
algo.maxwell_solver = ckc
warpx.verbose = 1
warpx.do_dive_cleaning = 0
warpx.use_filter = 1
-warpx.do_pml = 1
warpx.cfl = .99
warpx.do_moving_window = 1
warpx.moving_window_dir = z
diff --git a/Examples/Physics_applications/plasma_mirror/inputs_2d b/Examples/Physics_applications/plasma_mirror/inputs_2d
index 1cc422c89..14eec0537 100644
--- a/Examples/Physics_applications/plasma_mirror/inputs_2d
+++ b/Examples/Physics_applications/plasma_mirror/inputs_2d
@@ -7,13 +7,18 @@ amr.max_grid_size = 128
amr.blocking_factor = 32
amr.max_level = 0
geometry.coord_sys = 0 # 0: Cartesian
-geometry.is_periodic = 0 0 # Is periodic?
geometry.prob_lo = -100.e-6 0. # physical domain
geometry.prob_hi = 100.e-6 100.e-6
warpx.verbose = 1
warpx.serialize_ics = 1
#################################
+####### Boundary condition ######
+#################################
+boundary.field_lo = pml pml
+boundary.field_hi = pml pml
+
+#################################
############ NUMERICS ###########
#################################
my_constants.zc = 20.e-6
diff --git a/Examples/Physics_applications/uniform_plasma/inputs_2d b/Examples/Physics_applications/uniform_plasma/inputs_2d
index a3bd0d3a8..05db6a840 100644
--- a/Examples/Physics_applications/uniform_plasma/inputs_2d
+++ b/Examples/Physics_applications/uniform_plasma/inputs_2d
@@ -7,11 +7,16 @@ amr.max_grid_size = 64
amr.blocking_factor = 32
amr.max_level = 0
geometry.coord_sys = 0 # 0: Cartesian
-geometry.is_periodic = 1 1 # Is periodic?
geometry.prob_lo = -20.e-6 -20.e-6 # physical domain
geometry.prob_hi = 20.e-6 20.e-6
#################################
+####### Boundary condition ######
+#################################
+boundary.field_lo = periodic periodic
+boundary.field_hi = periodic periodic
+
+#################################
############ NUMERICS ###########
#################################
warpx.serialize_ics = 1
diff --git a/Examples/Physics_applications/uniform_plasma/inputs_3d b/Examples/Physics_applications/uniform_plasma/inputs_3d
index 3dd47c255..f342ceb28 100644
--- a/Examples/Physics_applications/uniform_plasma/inputs_3d
+++ b/Examples/Physics_applications/uniform_plasma/inputs_3d
@@ -7,11 +7,16 @@ amr.max_grid_size = 32
amr.blocking_factor = 16
amr.max_level = 0
geometry.coord_sys = 0 # 0: Cartesian
-geometry.is_periodic = 1 1 1 # Is periodic?
geometry.prob_lo = -20.e-6 -20.e-6 -20.e-6 # physical domain
geometry.prob_hi = 20.e-6 20.e-6 20.e-6
#################################
+####### Boundary condition ######
+#################################
+boundary.field_lo = periodic periodic periodic
+boundary.field_hi = periodic periodic periodic
+
+#################################
############ NUMERICS ###########
#################################
warpx.serialize_ics = 1
diff --git a/Examples/Tests/ElectrostaticSphere/inputs_3d b/Examples/Tests/ElectrostaticSphere/inputs_3d
index 89903ab37..a0035ee3a 100644
--- a/Examples/Tests/ElectrostaticSphere/inputs_3d
+++ b/Examples/Tests/ElectrostaticSphere/inputs_3d
@@ -4,10 +4,10 @@ amr.max_level = 0
amr.blocking_factor = 8
amr.max_grid_size = 128
geometry.coord_sys = 0
-geometry.is_periodic = 0 0 0
geometry.prob_lo = -0.5 -0.5 -0.5
geometry.prob_hi = 0.5 0.5 0.5
-warpx.do_pml = 0
+boundary.field_lo = pec pec pec
+boundary.field_hi = pec pec pec
warpx.const_dt = 1e-6
warpx.do_electrostatic = relativistic
diff --git a/Examples/Tests/ElectrostaticSphere/inputs_rz b/Examples/Tests/ElectrostaticSphere/inputs_rz
index 6634fa3f5..23f64cd7f 100644
--- a/Examples/Tests/ElectrostaticSphere/inputs_rz
+++ b/Examples/Tests/ElectrostaticSphere/inputs_rz
@@ -4,10 +4,10 @@ amr.max_level = 0
amr.blocking_factor = 8
amr.max_grid_size = 128
geometry.coord_sys = 1
-geometry.is_periodic = 0 0 0
geometry.prob_lo = 0. -0.5
geometry.prob_hi = 0.5 0.5
-warpx.do_pml = 0
+boundary.field_lo = none pec
+boundary.field_hi = pec pec
warpx.const_dt = 1e-6
warpx.do_electrostatic = labframe
warpx.use_filter = 0
diff --git a/Examples/Tests/ElectrostaticSphereEB/inputs_3d b/Examples/Tests/ElectrostaticSphereEB/inputs_3d
index fa1c558a2..aa30f1ccd 100644
--- a/Examples/Tests/ElectrostaticSphereEB/inputs_3d
+++ b/Examples/Tests/ElectrostaticSphereEB/inputs_3d
@@ -14,7 +14,6 @@ boundary.potential_lo_z = 0
boundary.potential_hi_z = 0
geometry.prob_lo = -0.5 -0.5 -0.5
geometry.prob_hi = 0.5 0.5 0.5
-warpx.do_pml = 0
warpx.const_dt = 1e-6
warpx.do_electrostatic = labframe
diff --git a/Examples/Tests/Langmuir/inputs_2d_multi_rt b/Examples/Tests/Langmuir/inputs_2d_multi_rt
index 35b8c9fac..7831bbb49 100644
--- a/Examples/Tests/Langmuir/inputs_2d_multi_rt
+++ b/Examples/Tests/Langmuir/inputs_2d_multi_rt
@@ -13,10 +13,13 @@ 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 # physical domain
geometry.prob_hi = 20.e-6 20.e-6
+# Boundary condition
+boundary.field_lo = periodic periodic
+boundary.field_hi = periodic periodic
+
warpx.serialize_ics = 1
# Verbosity
@@ -24,7 +27,6 @@ warpx.verbose = 1
# Algorithms
algo.field_gathering = energy-conserving
-warpx.do_pml = 0
warpx.use_filter = 0
# Order of particle shape factors
diff --git a/Examples/Tests/Langmuir/inputs_2d_multi_rz_rt b/Examples/Tests/Langmuir/inputs_2d_multi_rz_rt
index f133cdcb7..06ed884dc 100644
--- a/Examples/Tests/Langmuir/inputs_2d_multi_rz_rt
+++ b/Examples/Tests/Langmuir/inputs_2d_multi_rz_rt
@@ -24,7 +24,6 @@ warpx.serialize_ics = 1
warpx.verbose = 1
# Algorithms
-warpx.do_pml = 0
algo.field_gathering = energy-conserving
algo.current_deposition = esirkepov
warpx.use_filter = 0
diff --git a/Examples/Tests/Langmuir/inputs_3d_multi_rt b/Examples/Tests/Langmuir/inputs_3d_multi_rt
index 4d08a2a43..232bf3d29 100644
--- a/Examples/Tests/Langmuir/inputs_3d_multi_rt
+++ b/Examples/Tests/Langmuir/inputs_3d_multi_rt
@@ -13,10 +13,13 @@ amr.max_level = 0
# Geometry
geometry.coord_sys = 0 # 0: Cartesian
-geometry.is_periodic = 1 1 1 # Is periodic?
geometry.prob_lo = -20.e-6 -20.e-6 -20.e-6 # physical domain
geometry.prob_hi = 20.e-6 20.e-6 20.e-6
+# Boundary condition
+boundary.field_lo = periodic periodic periodic
+boundary.field_hi = periodic periodic periodic
+
warpx.serialize_ics = 1
# Verbosity
@@ -25,7 +28,6 @@ warpx.verbose = 1
# Algorithms
algo.current_deposition = esirkepov
algo.field_gathering = energy-conserving
-warpx.do_pml = 0
warpx.use_filter = 0
# Order of particle shape factors
diff --git a/Examples/Tests/Larmor/inputs_2d_mr b/Examples/Tests/Larmor/inputs_2d_mr
index 7431180d6..ff2598f01 100644
--- a/Examples/Tests/Larmor/inputs_2d_mr
+++ b/Examples/Tests/Larmor/inputs_2d_mr
@@ -19,12 +19,14 @@ warpx.fine_tag_hi = 0.8 0.8
# Geometry
geometry.coord_sys = 0 # 0: Cartesian
-geometry.is_periodic = 0 0 0 # Is periodic?
geometry.prob_lo = -2.0 -2.0 # physical domain
geometry.prob_hi = 2.0 2.0
+# Boundary condition
+boundary.field_lo = pml pml pml
+boundary.field_hi = pml pml pml
+
# PML
-warpx.do_pml = 1
warpx.pml_ncell = 10
particles.B_ext_particle_init_style = "constant"
diff --git a/Examples/Tests/Maxwell_Hybrid_QED/inputs_2d b/Examples/Tests/Maxwell_Hybrid_QED/inputs_2d
index 693c391f8..390ec0f41 100644
--- a/Examples/Tests/Maxwell_Hybrid_QED/inputs_2d
+++ b/Examples/Tests/Maxwell_Hybrid_QED/inputs_2d
@@ -6,7 +6,6 @@ amr.n_cell = 64 1024
amr.max_grid_size = 4096
amr.blocking_factor = 8
geometry.coord_sys = 0
-geometry.is_periodic = 1 1 1
geometry.prob_lo = -32.e-6 -512.e-6
geometry.prob_hi = 32.e-6 512.e-6
amr.max_level = 0
@@ -14,13 +13,18 @@ warpx.do_nodal = 1
warpx.quantum_xi = 1.e-23
#################################
+####### Boundary Condition ######
+#################################
+boundary.field_lo = periodic periodic
+boundary.field_hi = periodic periodic
+
+#################################
############ NUMERICS ###########
#################################
algo.maxwell_solver = psatd
warpx.verbose = 0
warpx.use_filter = 1
warpx.cfl = 1.
-warpx.do_pml = 0
warpx.use_hybrid_QED = 1
#################################
diff --git a/Examples/Tests/PML/inputs_2d b/Examples/Tests/PML/inputs_2d
index 3284e98fd..f7a71bc59 100644
--- a/Examples/Tests/PML/inputs_2d
+++ b/Examples/Tests/PML/inputs_2d
@@ -13,16 +13,18 @@ amr.max_level = 0
# Geometry
geometry.coord_sys = 0
-geometry.is_periodic = 0 0 0
geometry.prob_lo = -30.e-6 -120.e-6
geometry.prob_hi = 30.e-6 120.e-6
+# Boundary condition
+boundary.field_lo = pml pml
+boundary.field_hi = pml pml
+
# Verbosity
warpx.verbose = 1
# Algorithms
warpx.cfl = 1.0
-warpx.do_pml = 1
warpx.use_filter = 0
warpx.do_moving_window = 0
diff --git a/Examples/Tests/PML/inputs_3d b/Examples/Tests/PML/inputs_3d
index c3e33977c..be66df340 100644
--- a/Examples/Tests/PML/inputs_3d
+++ b/Examples/Tests/PML/inputs_3d
@@ -6,13 +6,15 @@ amr.max_level = 0
# Domain and boundary conditions
geometry.coord_sys = 0
-geometry.is_periodic = 0 0 0
geometry.prob_lo = -1.5e-05 -1.5e-05 -1.5e-05
geometry.prob_hi = 1.5e-05 1.5e-05 1.5e-05
+# Boundary condition
+boundary.field_lo = pml pml pml
+boundary.field_hi = pml pml pml
+
# Numerical parameters
warpx.cfl = 1.0
-warpx.do_pml = 1
warpx.do_nodal = 0
warpx.do_dive_cleaning = 0
warpx.do_pml_dive_cleaning = 1
diff --git a/Examples/Tests/SingleParticle/inputs_2d b/Examples/Tests/SingleParticle/inputs_2d
index 152cac0a2..fef6e896d 100644
--- a/Examples/Tests/SingleParticle/inputs_2d
+++ b/Examples/Tests/SingleParticle/inputs_2d
@@ -4,10 +4,13 @@ amr.max_level = 0
amr.blocking_factor = 8
amr.max_grid_size = 8
geometry.coord_sys = 0
-geometry.is_periodic = 0 0
geometry.prob_lo = -8 -12
geometry.prob_hi = 8 12
-warpx.do_pml = 0
+
+# Boundary condition
+boundary.field_lo = pec pec
+boundary.field_hi = pec pec
+
algo.charge_deposition = standard
algo.field_gathering = energy-conserving
warpx.cfl = 1.0
diff --git a/Examples/Tests/averaged_galilean/inputs_avg_2d b/Examples/Tests/averaged_galilean/inputs_avg_2d
index bfb0e3452..441266946 100644
--- a/Examples/Tests/averaged_galilean/inputs_avg_2d
+++ b/Examples/Tests/averaged_galilean/inputs_avg_2d
@@ -12,12 +12,16 @@ psatd.v_galilean = 0 0 -0.99498743710662
psatd.do_time_averaging = 1
geometry.coord_sys = 0
-geometry.is_periodic = 1 1
-
geometry.prob_lo = -12.3776 -49.5104
geometry.prob_hi = 12.3776 49.5104
#################################
+###### Boundary Condition #######
+#################################
+boundary.field_lo = periodic periodic
+boundary.field_hi = periodic periodic
+
+#################################
############ NUMERICS ###########
#################################
warpx.verbose = 1
diff --git a/Examples/Tests/averaged_galilean/inputs_avg_3d b/Examples/Tests/averaged_galilean/inputs_avg_3d
index 59e28b8de..1fef0ea0a 100644
--- a/Examples/Tests/averaged_galilean/inputs_avg_3d
+++ b/Examples/Tests/averaged_galilean/inputs_avg_3d
@@ -11,11 +11,16 @@ psatd.v_galilean = 0. 0. 0.99498743710662
psatd.do_time_averaging = 1
geometry.coord_sys = 0
-geometry.is_periodic = 1 1 1
geometry.prob_lo = -9.67 -9.67 -19.34
geometry.prob_hi = 9.67 9.67 19.34
#################################
+###### Boundary Condition #######
+#################################
+boundary.field_lo = periodic periodic periodic
+boundary.field_hi = periodic periodic periodic
+
+#################################
############ NUMERICS ###########
#################################
warpx.verbose = 1
diff --git a/Examples/Tests/collision/inputs_2d b/Examples/Tests/collision/inputs_2d
index 2e720ba7e..70720c5d0 100644
--- a/Examples/Tests/collision/inputs_2d
+++ b/Examples/Tests/collision/inputs_2d
@@ -7,10 +7,14 @@ amr.max_grid_size = 8
amr.blocking_factor = 8
amr.max_level = 0
geometry.coord_sys = 0
-geometry.is_periodic = 1 1
geometry.prob_lo = 0. 0.
geometry.prob_hi = 4.154046151855669e2 4.154046151855669e2
-warpx.do_pml = 0
+
+#################################
+###### Boundary Condition #######
+#################################
+boundary.field_lo = periodic periodic
+boundary.field_hi = periodic periodic
#################################
############ NUMERICS ###########
diff --git a/Examples/Tests/collision/inputs_3d b/Examples/Tests/collision/inputs_3d
index 009a495c8..955e8ceed 100644
--- a/Examples/Tests/collision/inputs_3d
+++ b/Examples/Tests/collision/inputs_3d
@@ -7,10 +7,14 @@ amr.max_grid_size = 8
amr.blocking_factor = 8
amr.max_level = 0
geometry.coord_sys = 0
-geometry.is_periodic = 1 1 1
geometry.prob_lo = 0. 0. 0.
geometry.prob_hi = 4.154046151855669e2 4.154046151855669e2 4.154046151855669e2
-warpx.do_pml = 0
+
+#################################
+###### Boundary Condition #######
+#################################
+boundary.field_lo = periodic periodic periodic
+boundary.field_hi = periodic periodic periodic
#################################
############ NUMERICS ###########
diff --git a/Examples/Tests/comoving/inputs_2d_hybrid b/Examples/Tests/comoving/inputs_2d_hybrid
index 055224892..2c21788f8 100644
--- a/Examples/Tests/comoving/inputs_2d_hybrid
+++ b/Examples/Tests/comoving/inputs_2d_hybrid
@@ -5,10 +5,15 @@ amr.n_cell = 96 704
warpx.numprocs = 1 2
geometry.coord_sys = 0
-geometry.is_periodic = 1 0
geometry.prob_lo = -90.e-6 -70.e-6
geometry.prob_hi = 90.e-6 0.e-6
+#################################
+###### Boundary Condition #######
+#################################
+boundary.field_lo = periodic damped
+boundary.field_hi = periodic damped
+
algo.maxwell_solver = psatd
algo.current_deposition = direct
algo.charge_deposition = standard
@@ -23,7 +28,6 @@ psatd.v_comoving = 0. 0. -0.9970370305242862
warpx.cfl = 1.
warpx.do_nodal = 0
-warpx.do_pml = 0
warpx.gamma_boost = 13.
warpx.boost_direction = z
diff --git a/Examples/Tests/divb_cleaning/inputs_3d b/Examples/Tests/divb_cleaning/inputs_3d
index 8e5a17e4a..79fec53e7 100644
--- a/Examples/Tests/divb_cleaning/inputs_3d
+++ b/Examples/Tests/divb_cleaning/inputs_3d
@@ -8,10 +8,13 @@ amr.max_level = 0
# Geometry
geometry.coord_sys = 0
-geometry.is_periodic = 0 0 0
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 condition
+boundary.field_lo = pml pml pml
+boundary.field_hi = pml pml pml
+
# Order of particle shape factors
algo.particle_shape = 3
diff --git a/Examples/Tests/galilean/inputs_2d b/Examples/Tests/galilean/inputs_2d
index 3d67f201b..c392db77d 100644
--- a/Examples/Tests/galilean/inputs_2d
+++ b/Examples/Tests/galilean/inputs_2d
@@ -10,11 +10,16 @@ amr.max_level = 0
psatd.v_galilean = 0. 0. -0.99498743710662
geometry.coord_sys = 0
-geometry.is_periodic = 1 1
geometry.prob_lo = -38.68 -38.68
geometry.prob_hi = 38.68 38.68
#################################
+####### Boundary Condition ######
+#################################
+boundary.field_lo = periodic periodic
+boundary.field_hi = periodic periodic
+
+#################################
############ NUMERICS ###########
#################################
warpx.verbose = 1
diff --git a/Examples/Tests/galilean/inputs_2d_hybrid b/Examples/Tests/galilean/inputs_2d_hybrid
index 892dfe530..0cab68eab 100644
--- a/Examples/Tests/galilean/inputs_2d_hybrid
+++ b/Examples/Tests/galilean/inputs_2d_hybrid
@@ -5,10 +5,13 @@ amr.n_cell = 96 704
warpx.numprocs = 1 2
geometry.coord_sys = 0
-geometry.is_periodic = 1 0
geometry.prob_lo = -90.e-6 -70.e-6
geometry.prob_hi = 90.e-6 0.e-6
+# Boundary condition
+boundary.field_lo = periodic damped
+boundary.field_hi = periodic damped
+
algo.maxwell_solver = psatd
algo.current_deposition = direct
algo.charge_deposition = standard
@@ -23,7 +26,6 @@ psatd.use_default_v_galilean = 1
warpx.cfl = 1.
warpx.do_nodal = 0
-warpx.do_pml = 0
warpx.gamma_boost = 13.
warpx.boost_direction = z
diff --git a/Examples/Tests/galilean/inputs_3d b/Examples/Tests/galilean/inputs_3d
index 671146762..f8042a918 100644
--- a/Examples/Tests/galilean/inputs_3d
+++ b/Examples/Tests/galilean/inputs_3d
@@ -10,11 +10,16 @@ amr.max_level = 0
psatd.v_galilean = 0. 0. 0.99498743710662
geometry.coord_sys = 0
-geometry.is_periodic = 1 1 1
geometry.prob_lo = -9.67 -9.67 -9.67
geometry.prob_hi = 9.67 9.67 9.67
#################################
+###### Boundary condition #######
+#################################
+boundary.field_lo = periodic periodic periodic
+boundary.field_hi = periodic periodic periodic
+
+#################################
############ NUMERICS ###########
#################################
warpx.verbose = 1
diff --git a/Examples/Tests/initial_distribution/inputs b/Examples/Tests/initial_distribution/inputs
index cb12f251f..b307db142 100644
--- a/Examples/Tests/initial_distribution/inputs
+++ b/Examples/Tests/initial_distribution/inputs
@@ -7,10 +7,14 @@ amr.max_grid_size = 8
amr.blocking_factor = 8
amr.max_level = 0
geometry.coord_sys = 0
-geometry.is_periodic = 1 1 1
geometry.prob_lo = -1.0 -1.0 -1.0
geometry.prob_hi = 1.0 1.0 1.0
-warpx.do_pml = 0
+
+#################################
+####### Boundary Condition ######
+#################################
+boundary.field_lo = periodic periodic periodic
+boundary.field_hi = periodic periodic periodic
#################################
############ NUMERICS ###########
diff --git a/Examples/Tests/initial_plasma_profile/inputs b/Examples/Tests/initial_plasma_profile/inputs
index 28de9e67f..e62d47aaa 100644
--- a/Examples/Tests/initial_plasma_profile/inputs
+++ b/Examples/Tests/initial_plasma_profile/inputs
@@ -7,10 +7,14 @@ amr.max_grid_size = 64
amr.blocking_factor = 64
amr.max_level = 0
geometry.coord_sys = 0
-geometry.is_periodic = 0 0
geometry.prob_lo = -0.00024190484157981564 -0.00016126989438654374
geometry.prob_hi = 0.00024190484157981564 1.e-6
-warpx.do_pml = 0
+
+#################################
+###### Boundary condition #######
+#################################
+boundary.field_lo = pec pec
+boundary.field_hi = pec pec
#################################
############ NUMERICS ###########
diff --git a/Examples/Tests/laser_on_fine/inputs_2d b/Examples/Tests/laser_on_fine/inputs_2d
index e973c126e..b256aa6a3 100644
--- a/Examples/Tests/laser_on_fine/inputs_2d
+++ b/Examples/Tests/laser_on_fine/inputs_2d
@@ -19,12 +19,14 @@ warpx.fine_tag_hi = 10.e-6 0.4e-6
# Geometry
geometry.coord_sys = 0 # 0: Cartesian
-geometry.is_periodic = 1 0 # Is periodic?
geometry.prob_lo = -30.e-6 -1.25e-6 # physical domain
geometry.prob_hi = 30.e-6 1.25e-6
+# Boundary condition
+boundary.field_lo = periodic pml
+boundary.field_hi = periodic pml
+
# PML
-warpx.do_pml = 1
warpx.pml_ncell = 10
# Verbosity
diff --git a/Examples/Tests/multi_J/inputs_2d b/Examples/Tests/multi_J/inputs_2d
index 2bf505f97..a0b46ada1 100644
--- a/Examples/Tests/multi_J/inputs_2d
+++ b/Examples/Tests/multi_J/inputs_2d
@@ -8,10 +8,13 @@ warpx.numprocs = 1 2
# Mesh refinement and geometry
amr.max_level = 0
geometry.coord_sys = 0
-geometry.is_periodic = 1 0
geometry.prob_lo = -200e-6 -220e-6
geometry.prob_hi = 200e-6 10e-6
+# Boundary condition
+boundary.field_lo = periodic damped
+boundary.field_hi = periodic damped
+
# Algorithms
algo.current_deposition = direct
algo.field_gathering = energy-conserving
@@ -22,7 +25,6 @@ algo.particle_shape = 3
# Numerics
warpx.cfl = 3.19
warpx.do_nodal = 1
-warpx.do_pml = 0
warpx.use_filter = 1
warpx.verbose = 1
diff --git a/Examples/Tests/particle_pusher/inputs_3d b/Examples/Tests/particle_pusher/inputs_3d
index 8862906f5..f4382a246 100644
--- a/Examples/Tests/particle_pusher/inputs_3d
+++ b/Examples/Tests/particle_pusher/inputs_3d
@@ -9,12 +9,12 @@ amr.max_level = 0
# Geometry
geometry.coord_sys = 0 # Cartesian
-geometry.is_periodic = 1 1 1 # yes
geometry.prob_lo = -2.077023075927835e+07 -2.077023075927835e+07 -2.077023075927835e+07
geometry.prob_hi = 2.077023075927835e+07 2.077023075927835e+07 2.077023075927835e+07
-# PML
-warpx.do_pml = 0
+# Boundary Condition
+boundary.field_lo = periodic periodic periodic
+boundary.field_hi = periodic periodic periodic
# Algorithms
algo.charge_deposition = standard
diff --git a/Examples/Tests/particles_in_PML/inputs_2d b/Examples/Tests/particles_in_PML/inputs_2d
index ece10f2d7..7d876947f 100644
--- a/Examples/Tests/particles_in_PML/inputs_2d
+++ b/Examples/Tests/particles_in_PML/inputs_2d
@@ -7,12 +7,14 @@ amr.max_level = 0
# Geometry
geometry.coord_sys = 0 # 0: Cartesian
-geometry.is_periodic = 0 0 # Is periodic?
geometry.prob_lo = -32.e-6 -32.e-6 # physical domain
geometry.prob_hi = 32.e-6 32.e-6
+# Boundary condition
+boundary.field_lo = pml pml
+boundary.field_hi = pml pml
+
# PML
-warpx.do_pml = 1
warpx.pml_ncell = 12
warpx.pml_delta = 6
warpx.pml_has_particles = 1
diff --git a/Examples/Tests/particles_in_PML/inputs_3d b/Examples/Tests/particles_in_PML/inputs_3d
index dfe7b673b..8f7288259 100644
--- a/Examples/Tests/particles_in_PML/inputs_3d
+++ b/Examples/Tests/particles_in_PML/inputs_3d
@@ -7,12 +7,14 @@ amr.max_level = 0
# Geometry
geometry.coord_sys = 0 # 0: Cartesian
-geometry.is_periodic = 0 0 0 # Is periodic?
geometry.prob_lo = -32.e-6 -32.e-6 -32.e-6 # physical domain
geometry.prob_hi = 32.e-6 32.e-6 32.e-6
+# Boundary condition
+boundary.field_lo = pml pml pml
+boundary.field_hi = pml pml pml
+
# PML
-warpx.do_pml = 1
warpx.pml_ncell = 12
warpx.pml_delta = 6
warpx.pml_has_particles = 1
diff --git a/Examples/Tests/particles_in_PML/inputs_mr_2d b/Examples/Tests/particles_in_PML/inputs_mr_2d
index f01206343..098e60b85 100644
--- a/Examples/Tests/particles_in_PML/inputs_mr_2d
+++ b/Examples/Tests/particles_in_PML/inputs_mr_2d
@@ -7,14 +7,16 @@ amr.max_level = 1
# Geometry
geometry.coord_sys = 0 # 0: Cartesian
-geometry.is_periodic = 0 0 0 # Is periodic?
geometry.prob_lo = -32.e-6 -32.e-6 # physical domain
geometry.prob_hi = 32.e-6 32.e-6
warpx.fine_tag_lo = -8.e-6 -8.e-6 # physical domain
warpx.fine_tag_hi = 8.e-6 8.e-6
+# Boundary condition
+boundary.field_lo = pml pml pml
+boundary.field_hi = pml pml pml
+
# PML
-warpx.do_pml = 1
warpx.pml_ncell = 12
warpx.pml_delta = 6
warpx.pml_has_particles = 1
diff --git a/Examples/Tests/particles_in_PML/inputs_mr_3d b/Examples/Tests/particles_in_PML/inputs_mr_3d
index 194e29f7c..faf9085c6 100644
--- a/Examples/Tests/particles_in_PML/inputs_mr_3d
+++ b/Examples/Tests/particles_in_PML/inputs_mr_3d
@@ -7,14 +7,16 @@ amr.max_level = 1
# Geometry
geometry.coord_sys = 0 # 0: Cartesian
-geometry.is_periodic = 0 0 0 # Is periodic?
geometry.prob_lo = -32.e-6 -32.e-6 -32.e-6 # physical domain
geometry.prob_hi = 32.e-6 32.e-6 32.e-6
warpx.fine_tag_lo = -8.e-6 -8.e-6 -8.e-6 # physical domain
warpx.fine_tag_hi = 8.e-6 8.e-6 8.e-6
+# Boundary condition
+boundary.field_lo = pml pml pml
+boundary.field_hi = pml pml pml
+
# PML
-warpx.do_pml = 1
warpx.pml_ncell = 12
warpx.pml_delta = 6
warpx.pml_has_particles = 1
diff --git a/Examples/Tests/photon_pusher/inputs_3d b/Examples/Tests/photon_pusher/inputs_3d
index faf74abf5..3d4386c0e 100644
--- a/Examples/Tests/photon_pusher/inputs_3d
+++ b/Examples/Tests/photon_pusher/inputs_3d
@@ -8,14 +8,16 @@ amr.max_level = 0
amr.blocking_factor = 8
amr.max_grid_size = 8
geometry.coord_sys = 0
-geometry.is_periodic = 1 1 1
geometry.prob_lo = -0.5e-6 -0.5e-6 -0.5e-6
geometry.prob_hi = 0.5e-6 0.5e-6 0.5e-6
-warpx.do_pml = 0
algo.charge_deposition = standard
algo.field_gathering = energy-conserving
warpx.cfl = 1.0
+# Boundary condition
+boundary.field_lo = periodic periodic periodic
+boundary.field_hi = periodic periodic periodic
+
# Order of particle shape factors
algo.particle_shape = 1
diff --git a/Examples/Tests/radiation_reaction/test_const_B_analytical/inputs_3d b/Examples/Tests/radiation_reaction/test_const_B_analytical/inputs_3d
index 40c0bd370..65a2eb4b8 100644
--- a/Examples/Tests/radiation_reaction/test_const_B_analytical/inputs_3d
+++ b/Examples/Tests/radiation_reaction/test_const_B_analytical/inputs_3d
@@ -8,7 +8,6 @@ amr.max_level = 0
amr.blocking_factor = 32
amr.max_grid_size = 64
geometry.coord_sys = 0
-geometry.is_periodic = 1 1 1
geometry.prob_lo = -8e-07 -8e-07 -8e-07
geometry.prob_hi = 8e-07 8e-07 8e-07
warpx.do_pml = 0
@@ -17,6 +16,10 @@ algo.field_gathering = energy-conserving
warpx.cfl = 1.0
warpx.serialize_ics = 1
+# Boundary condition
+boundary.field_lo = periodic periodic periodic
+boundary.field_hi = periodic periodic periodic
+
# Order of particle shape factors
algo.particle_shape = 1
diff --git a/Examples/Tests/reduced_diags/inputs b/Examples/Tests/reduced_diags/inputs
index e8941940f..3420869ed 100644
--- a/Examples/Tests/reduced_diags/inputs
+++ b/Examples/Tests/reduced_diags/inputs
@@ -13,10 +13,13 @@ amr.max_level = 0
# Geometry
geometry.coord_sys = 0 # 0: Cartesian
-geometry.is_periodic = 1 1 1 # Is periodic?
geometry.prob_lo = -1. -1. -1. # physical domain
geometry.prob_hi = 1. 1. 1.
+# Boundary condition
+boundary.field_lo = periodic periodic periodic
+boundary.field_hi = periodic periodic periodic
+
# Algorithms
algo.current_deposition = esirkepov
algo.field_gathering = energy-conserving # or momentum-conserving
diff --git a/Examples/Tests/reduced_diags/inputs_loadbalancecosts b/Examples/Tests/reduced_diags/inputs_loadbalancecosts
index c0d40a582..3d1be1764 100644
--- a/Examples/Tests/reduced_diags/inputs_loadbalancecosts
+++ b/Examples/Tests/reduced_diags/inputs_loadbalancecosts
@@ -13,10 +13,13 @@ amr.max_level = 0
# Geometry
geometry.coord_sys = 0 # 0: Cartesian
-geometry.is_periodic = 1 1 1 # Is periodic?
geometry.prob_lo = 0. 0. 0. # physical domain
geometry.prob_hi = 4. 4. 4.
+# Boundary condition
+boundary.field_lo = periodic periodic periodic
+boundary.field_hi = periodic periodic periodic
+
# Algorithms
algo.current_deposition = esirkepov
algo.field_gathering = energy-conserving # or momentum-conserving
diff --git a/Examples/Tests/restart/inputs b/Examples/Tests/restart/inputs
index 3f9e2692e..50b5cdfa9 100644
--- a/Examples/Tests/restart/inputs
+++ b/Examples/Tests/restart/inputs
@@ -8,18 +8,22 @@ amr.max_grid_size = 64
amr.blocking_factor = 32
amr.max_level = 0
geometry.coord_sys = 0 # 0: Cartesian
-geometry.is_periodic = 1 1 0 # Is periodic?
geometry.prob_lo = -0.00015 -0.00015 -0.00012
geometry.prob_hi = 0.00015 0.00015 1.e-06
#################################
+####### Boundary condition ######
+#################################
+boundary.field_lo = periodic periodic pml
+boundary.field_hi = periodic periodic pml
+
+#################################
############ NUMERICS ###########
#################################
algo.maxwell_solver = ckc
warpx.verbose = 1
warpx.do_dive_cleaning = 0
warpx.use_filter = 1
-warpx.do_pml = 1
warpx.cfl = .99
warpx.do_moving_window = 1
warpx.moving_window_dir = z
diff --git a/Examples/Tests/subcycling/inputs_2d b/Examples/Tests/subcycling/inputs_2d
index 4a43bf5d1..9d01163bb 100644
--- a/Examples/Tests/subcycling/inputs_2d
+++ b/Examples/Tests/subcycling/inputs_2d
@@ -14,15 +14,17 @@ warpx.fine_tag_hi = 2.e-6 -7.e-6
# Geometry
geometry.coord_sys = 0 # 0: Cartesian
-geometry.is_periodic = 0 0 # Is periodic?
geometry.prob_lo = -30.e-6 -20.e-6 # physical domain
geometry.prob_hi = 30.e-6 0.e-6
+# Boundary condition
+boundary.field_lo = pml pml
+boundary.field_hi = pml pml
+
# Verbosity
warpx.verbose = 1
warpx.do_dive_cleaning = 0
warpx.use_filter = 1
-warpx.do_pml = 1
warpx.do_subcycling = 1
warpx.refine_plasma = 0
warpx.n_current_deposition_buffer = 0