pub struct VortexLattice {
pub vortices: Vec<FluxVortex>,
pub penetration_depth: f64,
}Expand description
An Abrikosov vortex lattice: a collection of flux vortices in a Type II superconductor at fields H_c1 < H < H_c2.
Fields§
§vortices: Vec<FluxVortex>All vortices in this lattice.
penetration_depth: f64London penetration depth λ (m).
Implementations§
Source§impl VortexLattice
impl VortexLattice
Sourcepub fn add_vortex(&mut self, vortex: FluxVortex)
pub fn add_vortex(&mut self, vortex: FluxVortex)
Add a vortex to the lattice.
Sourcepub fn triangular_lattice(
nx: usize,
ny: usize,
spacing: f64,
penetration_depth: f64,
) -> Self
pub fn triangular_lattice( nx: usize, ny: usize, spacing: f64, penetration_depth: f64, ) -> Self
Build a triangular (Abrikosov) vortex lattice with spacing a over an
nx × ny grid.
Sourcepub fn compute_inter_vortex_force(&self) -> Vec<[f64; 2]>
pub fn compute_inter_vortex_force(&self) -> Vec<[f64; 2]>
Compute the pairwise inter-vortex repulsive force on each vortex.
The London interaction force between two vortices at separation r is:
F(r) = (Φ₀²)/(2π μ₀ λ²) · K₁(r/λ) / r
Here we use the approximation K₁(r/λ) ≈ (λ/r) · exp(-r/λ) for r > 0.
Returns a Vec of 2-D force vectors [fx, fy] (N/m) per vortex.
Sourcepub fn flux_density(&self, cell_area: f64) -> f64
pub fn flux_density(&self, cell_area: f64) -> f64
Total applied flux density B = n_v · Φ₀ (T·m²) where n_v is the
vortex areal density. Assumes vortices are distributed over area
given by cell_area (m²).
Trait Implementations§
Source§impl Clone for VortexLattice
impl Clone for VortexLattice
Source§fn clone(&self) -> VortexLattice
fn clone(&self) -> VortexLattice
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 VortexLattice
impl RefUnwindSafe for VortexLattice
impl Send for VortexLattice
impl Sync for VortexLattice
impl Unpin for VortexLattice
impl UnsafeUnpin for VortexLattice
impl UnwindSafe for VortexLattice
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