Add logging to tests.
PML is actually SIGNIFICANTLY better than a conductor. It's not apparent immediately, but even a 1-width PML beats a 50-length conductor by about 50x :o
This commit is contained in:
@@ -1517,7 +1517,7 @@ mod test {
|
|||||||
// println!("estim({}) = {}", _t, energy(state));
|
// println!("estim({}) = {}", _t, energy(state));
|
||||||
state.step();
|
state.step();
|
||||||
}
|
}
|
||||||
let (energy_0, energy_1) = energy_now_and_then(state, 2000);
|
let (energy_0, energy_1) = energy_now_and_then(state, 1000);
|
||||||
// sanity check the starting energy
|
// sanity check the starting energy
|
||||||
assert_gt!(energy_0, 1e-11);
|
assert_gt!(energy_0, 1e-11);
|
||||||
assert_lt!(energy_0, 1.0);
|
assert_lt!(energy_0, 1.0);
|
||||||
@@ -1567,8 +1567,11 @@ mod test {
|
|||||||
let en_pml = pml_test_at(pml_state, e, center);
|
let en_pml = pml_test_at(pml_state, e, center);
|
||||||
let en_baseline = pml_test_at(baseline_state, e, center);
|
let en_baseline = pml_test_at(baseline_state, e, center);
|
||||||
// PML should absorb all energy
|
// PML should absorb all energy
|
||||||
assert_float_eq!(en_pml, 0.0, abs <= 2e-5);
|
println!("en_pml: {}", en_pml);
|
||||||
assert_lt!(en_pml / en_baseline, 1e-3, "{}", en_pml);
|
println!("en_baseline: {}", en_baseline);
|
||||||
|
assert_float_eq!(en_pml, 0.0, abs <= 1e-6);
|
||||||
|
assert_lt!(en_pml / en_baseline, 1.0, "{}", en_pml);
|
||||||
|
// panic!("debugging");
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
|
Reference in New Issue
Block a user