aboutsummaryrefslogtreecommitdiff
path: root/Examples/Tests/PML/analysis_pml_yee.py
diff options
context:
space:
mode:
Diffstat (limited to 'Examples/Tests/PML/analysis_pml_yee.py')
-rwxr-xr-xExamples/Tests/PML/analysis_pml_yee.py34
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 )
+