diff options
author | 2019-10-28 13:53:37 -0700 | |
---|---|---|
committer | 2019-10-28 13:53:37 -0700 | |
commit | 865cd3ebc0c6e86feecafa0839aa6a3990408c0e (patch) | |
tree | 1342545ea7e3db5a55fe11648a69b864ee29c154 /Examples/Tests/particles_in_PML/analysis_particles_in_pml.py | |
parent | da52bf61ba64aac9a90917dcc6744d8b0a58185d (diff) | |
parent | 2eac8727874e11c3c8163b3d9ed1ec8854717753 (diff) | |
download | WarpX-865cd3ebc0c6e86feecafa0839aa6a3990408c0e.tar.gz WarpX-865cd3ebc0c6e86feecafa0839aa6a3990408c0e.tar.zst WarpX-865cd3ebc0c6e86feecafa0839aa6a3990408c0e.zip |
Merge branch 'dev' into initial_fields
Diffstat (limited to 'Examples/Tests/particles_in_PML/analysis_particles_in_pml.py')
-rwxr-xr-x | Examples/Tests/particles_in_PML/analysis_particles_in_pml.py | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/Examples/Tests/particles_in_PML/analysis_particles_in_pml.py b/Examples/Tests/particles_in_PML/analysis_particles_in_pml.py new file mode 100755 index 000000000..96406d717 --- /dev/null +++ b/Examples/Tests/particles_in_PML/analysis_particles_in_pml.py @@ -0,0 +1,37 @@ +#! /usr/bin/env python +""" +This script tests the absorption of particles in the PML. + +The input file inputs_2d/inputs is used: it features a positive and a +negative particle, going in opposite direction and eventually +leaving the box. This script tests that the field in the box +is close to 0 once the particles have left. With regular +PML, this test fails, since the particles leave a spurious +charge, with associated fields, behind them. +""" +import sys +import yt +import numpy as np +yt.funcs.mylog.setLevel(0) + +# Open plotfile specified in command line +filename = sys.argv[1] +ds = yt.load( filename ) + +# Check that the field is low enough +ad0 = ds.covering_grid(level=0, left_edge=ds.domain_left_edge, dims=ds.domain_dimensions) +Ex_array = ad0['Ex'].to_ndarray() +Ey_array = ad0['Ey'].to_ndarray() +Ez_array = ad0['Ez'].to_ndarray() +max_Efield = max(Ex_array.max(), Ey_array.max(), Ez_array.max()) +print( "max_Efield = %s" %max_Efield ) + +# The field associated with the particle does not have +# the same amplitude in 2d and 3d +if ds.dimensionality == 2: + assert max_Efield < 0.0003 +elif ds.dimensionality == 3: + assert max_Efield < 10 +else: + raise ValueError("Unknown dimensionality") + |