Files
fdtd-coremem/crates/coremem/src/lib.rs

43 lines
1.1 KiB
Rust

//! Magnetic core memory simulator.
//! Built using a Finite-Difference Time-Domain electromagnetics simulator.
//! The exhaustive guide for implementing a FDTD simulator by John B. Schneider [1] gives some
//! overview of the theory.
//!
//! [1] https://www.eecs.wsu.edu/~schneidj/ufdtd/ufdtd.pdf
use log::info;
pub mod driver;
pub mod geom;
pub mod meas;
pub mod render;
pub mod sim;
pub mod stim;
pub use driver::*;
pub use sim::*;
pub use coremem_cross as cross;
pub use coremem_cross::real;
pub use coremem_cross::mat;
// Some things to keep in mind:
// B = mu_r*H + M
// For a vacuum, B = H
/// optional: calling this enables preferred logging defaults
pub fn init_logging() {
let conf = env_logger::Env::new().default_filter_or("INFO,wgpu_core=WARN");
env_logger::Builder::from_env(conf).init();
info!("logging initialized");
}
/// optional: calling this tunes the library to provide better instrumentation for debugging
/// (at an extreme cost to perf)
pub fn init_debug() {
rayon::ThreadPoolBuilder::new()
.num_threads(1)
.build_global()
.unwrap();
info!("running with debug rayon");
}