diff --git a/crates/applications/multi_core_inverter/src/main.rs b/crates/applications/multi_core_inverter/src/main.rs index b031cab..0346f4a 100644 --- a/crates/applications/multi_core_inverter/src/main.rs +++ b/crates/applications/multi_core_inverter/src/main.rs @@ -32,7 +32,7 @@ use coremem::geom::{Meters, Torus}; use coremem::sim::units::Seconds; -use coremem::mat::Ferroxcube3R1MH; +use coremem::mat::{Ferroxcube3R1MH, IsomorphicConductor}; use coremem::spirv; use coremem::{Driver, SpirvDriver}; @@ -45,6 +45,8 @@ fn main() { let feat_size = um(10); let s_major = um(160); let s_minor = um(30); + let ctl_major = um(80); + let ctl_minor = um(30); let s0x = um(400); let sy = um(400); @@ -55,14 +57,17 @@ fn main() { let duration = Seconds(ns(1)); let s0 = Torus::new_xy(Meters::new(s0x, sy, sz), s_major, s_minor); + let ctl0 = Torus::new_yz(Meters::new(s0x, sy + s_major, sz), ctl_major, ctl_minor); let ferro_mat = Ferroxcube3R1MH::new(); + let wire_mat = IsomorphicConductor::new(1e6); let mut driver: SpirvDriver = Driver::new_spirv(sim_bounds, feat_size); driver.add_classical_boundary(sim_padding); driver.fill_region(&s0, ferro_mat); + driver.fill_region(&ctl0, wire_mat); - let prefix = "out/applications/multi_core_inverter/"; + let prefix = "out/applications/multi_core_inverter/2/"; let _ = std::fs::create_dir_all(&prefix); driver.add_state_file(&*format!("{}state.bc", prefix), 9600); driver.add_serializer_renderer(&*format!("{}frame-", prefix), 36000, None);