# Examples
This directory contains **25 example programs** demonstrating various features of the spintronics library, organized by difficulty level.
## 📚 Basic Examples (Beginner-friendly)
Start here if you're new to the library or spintronics simulations.
### Core Physics
- **`yig_pt_pumping.rs`** - Basic spin pumping in YIG/Pt bilayers
- Demonstrates: Ferromagnetic resonance, spin pumping, ISHE detection
- Physics: Saitoh et al. (2006) experiment reproduction
- Difficulty: ⭐ Beginner
- Run: `cargo run --example yig_pt_pumping`
- **`saitoh_2006_ishe.rs`** - Inverse Spin Hall Effect validation
- Demonstrates: Spin current to charge current conversion
- Physics: Quantitative validation against experimental data
- Difficulty: ⭐ Beginner
- Run: `cargo run --example saitoh_2006_ishe`
### Dynamics
- **`llg_dynamics_visualization.rs`** - LLG equation solver basics
- Demonstrates: Magnetization precession, damping, RK4 solver
- Physics: Landau-Lifshitz-Gilbert dynamics
- Difficulty: ⭐ Beginner
- Run: `cargo run --example llg_dynamics_visualization`
---
## 🔬 Intermediate Examples
These examples introduce more complex physics and multi-component systems.
### Magnon Physics
- **`magnon_propagation.rs`** - Spin wave propagation in chains
- Demonstrates: Magnon dispersion, group velocity, damping
- Physics: Spin wave dynamics in 1D systems
- Difficulty: ⭐⭐ Intermediate
- Run: `cargo run --example magnon_propagation`
### Topological Textures
- **`skyrmion_visualization.rs`** - Skyrmion creation and visualization
- Demonstrates: Magnetic skyrmions, topological charge, DMI
- Physics: Néel and Bloch skyrmions
- Difficulty: ⭐⭐ Intermediate
- Run: `cargo run --example skyrmion_visualization`
- **`skyrmion_dynamics.rs`** - Skyrmion motion and switching
- Demonstrates: Current-driven skyrmion motion, skyrmion Hall effect
- Physics: Topological spin textures under current
- Difficulty: ⭐⭐ Intermediate
- Run: `cargo run --example skyrmion_dynamics`
### Spin-Orbit Effects
- **`spin_torque_oscillator.rs`** - STNO auto-oscillations
- Demonstrates: Spin-transfer torque, auto-oscillation, phase locking
- Physics: Non-linear magnetization dynamics
- Difficulty: ⭐⭐ Intermediate
- Run: `cargo run --example spin_torque_oscillator`
### 2D Materials
- **`2d_material_spintronics.rs`** - Van der Waals heterostructures
- Demonstrates: CrI₃, Fe₃GeTe₂, proximity effects
- Physics: 2D magnetism and spintronics
- Difficulty: ⭐⭐ Intermediate
- Run: `cargo run --example 2d_material_spintronics`
### New in v0.3.0
- **`simulation_builder.rs`** - SimulationBuilder fluent API
- Demonstrates: Builder pattern for setting up complex simulations
- Physics: Comprehensive spin dynamics configuration
- Difficulty: ⭐⭐ Intermediate
- Run: `cargo run --example simulation_builder`
---
## 🚀 Advanced Examples
Complex simulations requiring understanding of multiple physics domains.
### Computational Methods
- **`fem_micromagnetics.rs`** - Finite element micromagnetics
- Demonstrates: FEM mesh, iterative solvers, energy minimization
- Physics: Micromagnetic simulations with realistic geometries
- Difficulty: ⭐⭐⭐ Advanced
- Requirements: `fem` feature (`cargo run --features fem --example fem_micromagnetics`)
- **`parallel_magnon_dynamics.rs`** - Multi-threaded magnon solver
- Demonstrates: Parallel computing, multi-domain systems
- Physics: Large-scale spin wave simulations
- Difficulty: ⭐⭐⭐ Advanced
- Run: `cargo run --release --example parallel_magnon_dynamics`
### Collective Phenomena
- **`magnonic_crystal.rs`** - Band structure calculations
- Demonstrates: Magnon dispersion, band gaps, Brillouin zone
- Physics: Periodic magnetic structures
- Difficulty: ⭐⭐⭐ Advanced
- Run: `cargo run --example magnonic_crystal`
### Thermal Effects
- **`thermal_magnon_transport.rs`** - Thermoelectric effects
- Demonstrates: Spin Seebeck effect, thermal magnon transport
- Physics: Temperature gradients and spin currents
- Difficulty: ⭐⭐⭐ Advanced
- Run: `cargo run --example thermal_magnon_transport`
### Topological Materials
- **`topological_insulator.rs`** - Surface states and transport
- Demonstrates: Topological surface states, Edelstein effect
- Physics: Bi₂Se₃, spin-momentum locking
- Difficulty: ⭐⭐⭐ Advanced
- Run: `cargo run --example topological_insulator`
### Emerging Technologies
- **`reservoir_computing.rs`** - Neuromorphic computing with magnons
- Demonstrates: Physical reservoir computing, pattern recognition
- Physics: Non-linear magnon dynamics for ML
- Difficulty: ⭐⭐⭐ Advanced
- Requirements: `scirs2` feature
- Run: `cargo run --example reservoir_computing`
- **`advanced_spintronics.rs`** - Multi-effect integration
- Demonstrates: SOT, DMI, thermal effects combined
- Physics: Comprehensive spintronics device simulation
- Difficulty: ⭐⭐⭐ Advanced
- Run: `cargo run --example advanced_spintronics`
### Coupled Systems
- **`mech_coupling.rs`** - Magneto-mechanical coupling
- Demonstrates: Barnett effect, Einstein-de Haas effect
- Physics: Coupling between magnetization and rotation
- Difficulty: ⭐⭐⭐ Advanced
- Run: `cargo run --example mech_coupling`
- **`fluid_barnett.rs`** - Spin-vorticity coupling in fluids
- Demonstrates: Barnett effect in rotating liquid metals
- Physics: Fluid dynamics and magnetization
- Difficulty: ⭐⭐⭐ Advanced
- Run: `cargo run --example fluid_barnett`
### New in v0.3.0
- **`altermagnet_ruo2.rs`** - Altermagnetism in RuO₂
- Demonstrates: Time-reversal symmetry breaking without net moment, anomalous Hall response
- Physics: Altermagnetism, RuO₂ material model
- Difficulty: ⭐⭐⭐ Advanced
- Run: `cargo run --example altermagnet_ruo2`
- **`orbital_hall_effect.rs`** - Orbital Hall effect and orbital currents
- Demonstrates: Orbital current generation, orbital Hall conductivity
- Physics: Orbitronics, spin-orbit coupling
- Difficulty: ⭐⭐⭐ Advanced
- Run: `cargo run --example orbital_hall_effect`
- **`spin_ice_monopoles.rs`** - Frustrated spin ice and magnetic monopoles
- Demonstrates: Kagome and pyrochlore spin ice, monopole excitations
- Physics: Frustrated magnets, emergent magnetic monopoles
- Difficulty: ⭐⭐⭐ Advanced
- Run: `cargo run --example spin_ice_monopoles`
- **`spin_wave_dispersion.rs`** - Spin wave dispersion and magnon dynamics
- Demonstrates: Dispersion relations, magnon group velocity, band structure
- Physics: Linear spin wave theory, exchange and dipolar contributions
- Difficulty: ⭐⭐⭐ Advanced
- Run: `cargo run --example spin_wave_dispersion`
- **`hopfion_3d.rs`** - Hopfion topology in 3D
- Demonstrates: Hopfion creation, Hopf invariant calculation, 3D topology
- Physics: Three-dimensional topological solitons
- Difficulty: ⭐⭐⭐ Advanced
- Run: `cargo run --example hopfion_3d`
- **`magnon_bec.rs`** - Magnon Bose-Einstein condensation
- Demonstrates: Magnon condensation, coherent magnon states, critical temperature
- Physics: Quantum magnon statistics, BEC in driven magnetic systems
- Difficulty: ⭐⭐⭐ Advanced
- Run: `cargo run --example magnon_bec`
- **`magnetoelastic_switching.rs`** - Magnetoelastic coupling and magnetostriction
- Demonstrates: Strain-induced switching, magnetoelastic energy, magnetostriction
- Physics: Magnetoelastic coupling, coupled spin-lattice dynamics
- Difficulty: ⭐⭐⭐ Advanced
- Run: `cargo run --example magnetoelastic_switching`
---
## 🎯 Learning Path
### Path 1: Basic Spintronics
1. `yig_pt_pumping.rs` - Understand spin pumping basics
2. `saitoh_2006_ishe.rs` - Learn spin-to-charge conversion
3. `llg_dynamics_visualization.rs` - Master magnetization dynamics
4. `magnon_propagation.rs` - Study spin wave physics
### Path 2: Topological Spintronics
1. `llg_dynamics_visualization.rs` - Learn dynamics fundamentals
2. `skyrmion_visualization.rs` - Understand skyrmion structures
3. `skyrmion_dynamics.rs` - Explore current-driven motion
4. `topological_insulator.rs` - Advanced topological effects
### Path 3: Device Engineering
1. `yig_pt_pumping.rs` - Basic device structure
2. `spin_torque_oscillator.rs` - Active spintronic devices
3. `2d_material_spintronics.rs` - Modern material platforms
4. `advanced_spintronics.rs` - Complete device simulation
### Path 4: Computational Methods
1. `llg_dynamics_visualization.rs` - Basic numerical methods
2. `magnon_propagation.rs` - 1D simulations
3. `fem_micromagnetics.rs` - Advanced numerical techniques
4. `parallel_magnon_dynamics.rs` - High-performance computing
### Path 5: New in v0.3.0 - Emerging Quantum Materials
1. `altermagnet_ruo2.rs` - Altermagnetism without net moment
2. `orbital_hall_effect.rs` - Orbital currents and orbitronics
3. `magnon_bec.rs` - Quantum magnon condensation
4. `hopfion_3d.rs` - Three-dimensional topological solitons
### Path 6: Frustrated Magnetism and Complex Textures
1. `spin_ice_monopoles.rs` - Frustrated lattices and emergent monopoles
2. `spin_wave_dispersion.rs` - Magnon dispersion in frustrated systems
3. `magnetoelastic_switching.rs` - Coupled spin-lattice dynamics
4. `hopfion_3d.rs` - 3D topological spin structures
---
## 📋 Feature Requirements
Some examples require optional features to be enabled:
- **FEM examples**: `cargo run --features fem --example fem_micromagnetics`
- **Reservoir computing**: `cargo run --features scirs2 --example reservoir_computing`
- **Python interop**: Enable `python` feature for PyO3 bindings
## 🔧 Building and Running
```bash
# Run a specific example
cargo run --example yig_pt_pumping
# Run with release optimizations (recommended for heavy simulations)
cargo run --release --example parallel_magnon_dynamics
# Run with specific features
cargo run --features fem --example fem_micromagnetics
# Build all examples
cargo build --examples --release
```
## 📖 Additional Resources
- **Main documentation**: `cargo doc --open`
- **API reference**: https://docs.rs/spintronics
- **Tutorial series**: See `docs/tutorials/` (coming soon)
- **Physics background**: See `README.md` for key references
## 🤝 Contributing Examples
We welcome contributions of new examples! When adding an example:
1. Choose appropriate difficulty level
2. Add clear documentation header
3. Include physics references
4. Add entry to this README
5. Ensure it runs without warnings
See `CONTRIBUTING.md` for detailed guidelines.