pub use crate::altermagnet::{Altermagnet, AltermagnetTransport, AltermagneticSymmetry};
#[cfg(feature = "autodiff")]
pub use crate::autodiff::{
find_afm_ground_state, find_fm_ground_state, Activation, EnergyFunctional, Layer, LlgPinn,
MagneticStructureOptimizer, Mlp, NeuralAnisotropy, NeuralExchange, PinnTrainer, SpinConfig,
StructureOptResult,
};
#[cfg(feature = "autodiff")]
pub use crate::autodiff::{
random_so3, rotate_vector, ActiveLearnResult, ActiveLearner, ActiveLearningConfig,
EquivariantConfig, EquivariantLinear, EquivariantMlp, QueryStrategy,
};
#[cfg(feature = "autodiff")]
pub use crate::autodiff::{
AcquisitionStrategy, BayesianOptConfig, BayesianOptResult, BayesianOptimizer, GaussianProcess,
GpConfig, GraphMessagePassingLayer, GraphMlp, LatticeGraph, NodeFeatures,
};
#[cfg(feature = "autodiff")]
pub use crate::autodiff::{
DiffusionLcg, DiffusionModel, MagnonHamiltonianParams, MagnonNeuralNetwork, NoiseSchedule,
QuantumClassicalOptimizer, QuantumClassicalResult, SpinTexture,
};
#[cfg(feature = "autodiff")]
pub use crate::autodiff::{Adam, FitResult, LBfgs, OptimizerKind, ParameterFitter, Sgd, Tape, Var};
pub use crate::builder::{Simulation, SimulationBuilder, SimulationResult, SolverKind};
pub use crate::caloritronics::{
AllCurrents, CaloritronicsResult, HeatCurrentCalculator, OnsagerMatrix,
SpinCaloritronicsMaterial,
};
pub use crate::cavity::{
Branch, BrillouinScattering, MagnonPolariton, MagnonicFrequencyComb, MicrowaveToOptical,
MultiModePolariton, OptomagnonicCoupling, TavisCummings,
};
pub use crate::constants::{
ALPHA_FS,
CONDUCTANCE_QUANTUM,
C_LIGHT,
EPSILON_0,
E_CHARGE,
E_OVER_ME,
FLUX_QUANTUM,
GAMMA,
G_LANDE,
HBAR,
H_PLANCK,
KB,
ME,
MP,
MU_0,
MU_B,
MU_N,
NA,
RESISTANCE_QUANTUM,
SPIN_QUANTUM,
THERMAL_VOLTAGE_300K,
};
pub use crate::dynamics::integrators::BoundaryCondition as DiffusionBoundary;
pub use crate::dynamics::integrators::{
CrankNicolsonDiffusion, ImplicitMidpointNewton, SpinDiffusionCrankNicolson,
};
pub use crate::dynamics::{calc_dm_dt, LlbMaterial, LlbResult, LlbSolver, LlgSolver};
pub use crate::effect::exchange_bias::{ExchangeBias, LoopShiftResult};
pub use crate::effect::{
CircularHelicity, InverseSpinHall, LaserPulseParams, OpticalMagneticMaterial,
OpticalSwitchResult, OpticalSwitching, RashbaSystem, SpinHallMagnetoresistance, SpinNernst,
SpinOrbitTorque, SpinSeebeck, SpinTorqueOscillator, SpinTorqueOscillatorConfig,
TopologicalHall, UnidirectionalSmr,
};
pub use crate::error::{Error, Result};
pub use crate::frustrated::{
frustration_parameter, kagome_magnon_bands, pauling_entropy, FrustratedLattice,
KagomeMagnonConfig, LatticeType, SpinIce, SpinIceParams,
};
#[cfg(feature = "cuda")]
pub use crate::gpu::CudaDevice;
pub use crate::gpu::{available_devices, select_best_device, CpuDevice, Device};
pub use crate::io::{OvfData, OvfFormat, OvfReader, OvfWriter};
#[cfg(all(feature = "scirs2", not(target_arch = "wasm32")))]
pub use crate::magnon::spectral::SpectralMagnonSolver;
#[cfg(all(not(target_arch = "wasm32"), feature = "scirs2"))]
pub use crate::magnon::MultiDomainSystem;
#[cfg(not(target_arch = "wasm32"))]
pub use crate::magnon::{
four_magnon_relaxation_rate, magnon_magnon_interaction_energy,
suhl_spin_wave_instability_power, FourMagnonScattering, MagnonSolver, NonlinearFmrLinewidth,
ParametricAmplification, SpinChain, SpinPumpingDetector,
};
pub use crate::material::{
AfmStructure, Antiferromagnet, Ferromagnet, Magnetic2D, MagneticMultilayer, MagneticOrdering,
MagneticState, MultilayerType, SpacerLayer, SpinInterface, ThermalFerromagnet,
TopologicalClass, TopologicalInsulator, WeylSemimetal, WeylType,
};
pub use crate::material::{
InterfaceMaterial, MagneticMaterial, SpinChargeConverter, TemperatureDependent,
TopologicalMaterial,
};
pub use crate::material::{RandomAnisotropy, RandomAnisotropyDistribution};
pub use crate::math::{CMatrix, Complex};
pub use crate::memory::{
get_f64_vec, get_spin_array, put_f64_vec, put_spin_array, HeunWorkspace, Rk4Workspace,
SpinArrayPool, VectorPool,
};
pub use crate::multiferroic::{
dzyaloshinskii_moriya_polarization, exchange_striction_polarization, toroidal_moment,
InverseMagnetoelectric, KnbMechanism, MagnetoelectricTensor, MultiferroicType,
};
pub use crate::negf::{
BoundaryCondition, GreenFunction, Hamiltonian1D, KeldyshSolver, LeadSelfEnergy, SanchoRubio,
ShotNoise, SpinAccumulation1D, TransportCalculator,
};
pub use crate::noncollinear::{
ExchangeInteraction, LuttingerTisza, SpinSpiral, SpiralChirality, SpiralType,
};
pub use crate::orbitronics::{
OrbitalHallEffect, OrbitalHallMaterial, OrbitalRashba, OrbitalToSpinConverter, OrbitalTorque,
};
pub use crate::quantum::{BogoliubovTransform, HolsteinPrimakoff, HpOrder, ZeroPointFluctuations};
pub use crate::spinwave::{BackwardVolumeMSW, DamonEshbachDetailed, SurfaceSpinWave};
pub use crate::spinwave::{
MagnonicCrystal1D, MagnonicCrystal2D, NanodiskSpinWaves, SemiInfiniteDamonEshbach,
};
pub use crate::spinwave::{
NanostructureGeometry, QuantizedModes, SpinWaveDispersion, SpinWaveMode, SpinWaveModeCalculator,
};
#[cfg(feature = "scirs2")]
pub use crate::stochastic::{
HeunAdaptive, ImplicitMilstein, PimcConfig, PimcLattice, PimcResult, PimcSimulation,
};
pub use crate::texture::{
calculate_skyrmion_number, Chirality, DmiParameters, DmiType, DomainWall, Helicity, Skyrmion,
SkyrmionLattice, TopologicalCharge, WallType,
};
pub use crate::texture::dw_dynamics::{DwMaterial, DwSotDynamics, DwSttDynamics, WalkerBreakdown};
pub use crate::texture::{HopfionDynamicsConfig, HopfionDynamicsResult, HopfionDynamicsSolver};
pub use crate::thermo::{AnomalousNernst, SpinPeltier};
pub use crate::topomagnon::band_model::LatticeType as TopoLatticeType;
pub use crate::topomagnon::{
AxionElectrodynamics, AxionMagnonPhoton, BbhModel, BreathingKagomeModel, CornerStateSolver,
HotiLattice, MagnonBandModel3D, WilsonLoop,
};
pub use crate::topomagnon::{
BerryCurvature, ChernNumber, EdgeMode, EdgeModes, EdgeSide, KaneMeleModel, MagnonBandModel,
MagnonHallConductivity,
};
pub use crate::transport::{spin_pumping_current, AcSpinPumping, SpinBattery, SpinDiffusion};
pub use crate::units::{
is_valid_current_density, is_valid_damping, is_valid_dmi_constant, is_valid_energy,
is_valid_exchange_stiffness, is_valid_gyromagnetic_ratio, is_valid_magnetic_field,
is_valid_magnetization, is_valid_resistivity, is_valid_spin_diffusion_length,
is_valid_spin_hall_angle, is_valid_temperature, is_valid_thickness, is_valid_voltage,
};
pub use crate::validation::experimental::avci_2015::Avci2015Validation;
pub use crate::validation::experimental::nakayama_2013::Nakayama2013Validation;
pub use crate::validation::experimental::boona_2014::Boona2014Validation;
pub use crate::validation::experimental::demidov_2006::Demidov2006Validation;
pub use crate::validation::experimental::garello_2013::Garello2013Validation;
pub use crate::validation::experimental::liu_2012::Liu2012Validation;
pub use crate::validation::experimental::mosendz_2010::Mosendz2010Validation;
pub use crate::validation::experimental::saitoh_2006::Saitoh2006Validation;
pub use crate::validation::experimental::uchida_2008::Uchida2008Validation;
pub use crate::validation::experimental::cornelissen_2015::Cornelissen2015Validation;
pub use crate::validation::experimental::woo_2016::Woo2016Validation;
pub use crate::validation::experimental::nogues_1999::Nogues1999Validation;
pub use crate::validation::experimental::miron_2011::Miron2011Validation;
pub use crate::validation::experimental::ValidationResult as ExperimentalValidationResult;
pub use crate::micromagnetics::{
DemagField, GridConfig, LlgResult, MicromagneticGrid, NewellTensor,
};
pub use crate::validation::standard_problems::{
Sp3Config, Sp3Result, StableState, StandardProblem3,
};
pub use crate::mech::{PiezoSubstrate, SawMagnetoacoustics, SawMagnetoelastic, SawSource};
pub use crate::ai::{
CemPolicy, MagnonReservoir, SotRlOptimizer, SotRlResult, SotSwitchingConfig, SotSwitchingEnv,
};
pub use crate::vector3::Vector3;
#[cfg(feature = "netcdf")]
pub use crate::visualization::netcdf::{NetCdfReader, NetCdfWriter};
#[cfg(feature = "vti")]
pub use crate::visualization::vti::VtiWriter;
#[cfg(feature = "xdmf")]
pub use crate::visualization::xdmf::{XdmfTimeStep, XdmfWriter};
#[cfg(feature = "zarr")]
pub use crate::visualization::zarr::{ZarrDtype, ZarrStore};
pub use crate::visualization::{
CsvWriter, Hdf5Reader, Hdf5Writer, JsonWriter, SimulationData, VtkWriter,
};