pub struct Metamaterial {
pub name: String,
pub eps_r_real: f64,
pub eps_r_imag: f64,
pub mu_r_real: f64,
pub mu_r_imag: f64,
pub freq: f64,
}Expand description
Frequency-dispersive metamaterial described by scalar Drude-Lorentz parameters at a single operating frequency.
Fields§
§name: StringLabel.
eps_r_real: f64Real part of relative permittivity ε’_r.
eps_r_imag: f64Imaginary part of relative permittivity ε’’_r (loss).
mu_r_real: f64Real part of relative permeability μ’_r.
mu_r_imag: f64Imaginary part of relative permeability μ’’_r (loss).
freq: f64Operating frequency [Hz].
Implementations§
Source§impl Metamaterial
impl Metamaterial
Sourcepub fn classify(&self) -> MetamaterialClass
pub fn classify(&self) -> MetamaterialClass
Classify the metamaterial based on ε and μ signs.
Sourcepub fn refractive_index(&self) -> f64
pub fn refractive_index(&self) -> f64
Refractive index n = √(ε μ). Negative for DNG media.
Uses the convention that the imaginary part is negative for lossy DNG.
Sourcepub fn group_velocity_approx(&self) -> f64
pub fn group_velocity_approx(&self) -> f64
Group velocity v_g = c / (n + ω dn/dω). Here we return -C0/n for ideal DNG as a qualitative indicator.
Trait Implementations§
Source§impl Clone for Metamaterial
impl Clone for Metamaterial
Source§fn clone(&self) -> Metamaterial
fn clone(&self) -> Metamaterial
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for Metamaterial
impl RefUnwindSafe for Metamaterial
impl Send for Metamaterial
impl Sync for Metamaterial
impl Unpin for Metamaterial
impl UnsafeUnpin for Metamaterial
impl UnwindSafe for Metamaterial
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more