diff options
Diffstat (limited to 'Examples/Tests/PML/analysis_pml_yee.py')
-rwxr-xr-x | Examples/Tests/PML/analysis_pml_yee.py | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/Examples/Tests/PML/analysis_pml_yee.py b/Examples/Tests/PML/analysis_pml_yee.py new file mode 100755 index 000000000..6234cd5d2 --- /dev/null +++ b/Examples/Tests/PML/analysis_pml_yee.py @@ -0,0 +1,34 @@ +#! /usr/bin/env python + +import sys +import yt ; yt.funcs.mylog.setLevel(0) +import numpy as np +import scipy.constants as scc + +filename = sys.argv[1] + +############################ +### INITIAL LASER ENERGY ### +############################ +energy_start = 9.1301289517e-08 + +########################## +### FINAL LASER ENERGY ### +########################## +ds = yt.load( filename ) +all_data_level_0 = ds.covering_grid(level=0,left_edge=ds.domain_left_edge, dims=ds.domain_dimensions) +Bx = all_data_level_0['boxlib', 'Bx'].v.squeeze() +By = all_data_level_0['boxlib', 'By'].v.squeeze() +Bz = all_data_level_0['boxlib', 'Bz'].v.squeeze() +Ex = all_data_level_0['boxlib', 'Ex'].v.squeeze() +Ey = all_data_level_0['boxlib', 'Ey'].v.squeeze() +Ez = all_data_level_0['boxlib', 'Ez'].v.squeeze() +energyE = np.sum(scc.epsilon_0/2*(Ex**2+Ey**2+Ez**2)) +energyB = np.sum(1./scc.mu_0/2*(Bx**2+By**2+Bz**2)) +energy_end = energyE + energyB + +Reflectivity = energy_end/energy_start +Reflectivity_theory = 5.683000058954201e-07 + +assert( abs(Reflectivity-Reflectivity_theory) < 5./100 * Reflectivity_theory ) + |