use coremem::{Driver, mat}; fn main() { coremem::init_logging(); let width = 201; let boundary = 50; let mut driver = Driver::new(width, width, 1e-3 /* feature size */); driver.add_y4m_renderer(&*format!("boundary_conditions_upml_round-{}.y4m", boundary)); // driver.add_term_renderer(); //driver.add_boundary(boundary, 0.1); driver.add_upml_boundary(boundary); loop { let imp = if driver.state.step_no() < 50 { 30000.0 * ((driver.state.step_no() as f64)*0.04*std::f64::consts::PI).sin() } else { 0.0 }; for y in 0..width { driver.state.impulse_bz(100, y, (imp / 3.0e8) as _); } driver.step(); } }