#[repr(C, align(32))]pub struct StaBivector {
pub ex: f32,
pub ey: f32,
pub ez: f32,
pub bx: f32,
pub by: f32,
pub bz: f32,
pub _pad0: f32,
pub _pad1: f32,
}Expand description
Electromagnetic Faraday Bivector in Spacetime Algebra: F = E + IcB. Unifies electric and magnetic field vectors into a single grade-2 bivector.
Fields§
§ex: f32§ey: f32§ez: f32§bx: f32§by: f32§bz: f32§_pad0: f32§_pad1: f32Implementations§
Source§impl StaBivector
impl StaBivector
pub const fn new(ex: f32, ey: f32, ez: f32, bx: f32, by: f32, bz: f32) -> Self
pub const fn zero() -> Self
Sourcepub fn invariant_1(&self) -> f32
pub fn invariant_1(&self) -> f32
First relativistic invariant: E^2 - c^2*B^2 (with c = 1).
Sourcepub fn invariant_2(&self) -> f32
pub fn invariant_2(&self) -> f32
Second relativistic invariant: 2 * E . B.
Sourcepub fn poynting_vector(&self) -> [f32; 3]
pub fn poynting_vector(&self) -> [f32; 3]
Poynting vector direction (energy flux): S = E x B.
Trait Implementations§
Source§impl Clone for StaBivector
impl Clone for StaBivector
impl Copy for StaBivector
Source§impl Debug for StaBivector
impl Debug for StaBivector
Source§impl Default for StaBivector
impl Default for StaBivector
Source§impl PartialEq for StaBivector
impl PartialEq for StaBivector
impl StructuralPartialEq for StaBivector
Auto Trait Implementations§
impl Forget for StaBivector
impl Freeze for StaBivector
impl Move for StaBivector
impl RefUnwindSafe for StaBivector
impl Send for StaBivector
impl Sync for StaBivector
impl Unpin for StaBivector
impl UnsafeUnpin for StaBivector
impl UnwindSafe for StaBivector
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