pub struct ConductingSphere {
pub center: Vec3,
pub radius: f32,
pub conductivity: f32,
}Expand description
Analytical solution for EM shielding by a conducting sphere.
Fields§
§center: Vec3§radius: f32§conductivity: f32Implementations§
Source§impl ConductingSphere
impl ConductingSphere
pub fn new(center: Vec3, radius: f32, conductivity: f32) -> Self
Sourcepub fn field_at(&self, point: Vec3, e_external: Vec3) -> Vec3
pub fn field_at(&self, point: Vec3, e_external: Vec3) -> Vec3
Electric field around a conducting sphere in a uniform external field E0. Outside: E = E0 + dipole correction. Inside: E = 0 (perfect conductor).
Sourcepub fn shielding_at_center(&self) -> f32
pub fn shielding_at_center(&self) -> f32
Shielding effectiveness at the center.
Sourcepub fn surface_charge_at(&self, surface_point: Vec3, e_external: Vec3) -> f32
pub fn surface_charge_at(&self, surface_point: Vec3, e_external: Vec3) -> f32
Induced surface charge density at a point on the sphere surface. sigma = 3 * eps0 * E0 * cos(theta), where theta is angle from E0 direction.
Trait Implementations§
Source§impl Clone for ConductingSphere
impl Clone for ConductingSphere
Source§fn clone(&self) -> ConductingSphere
fn clone(&self) -> ConductingSphere
Returns a duplicate of the value. Read more
1.0.0 · 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 ConductingSphere
impl RefUnwindSafe for ConductingSphere
impl Send for ConductingSphere
impl Sync for ConductingSphere
impl Unpin for ConductingSphere
impl UnsafeUnpin for ConductingSphere
impl UnwindSafe for ConductingSphere
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.