AbstractHamiltonians

Functions

FreeBird.AbstractHamiltonians.GenericLatticeHamiltonianType
struct GenericLatticeHamiltonian{N,U} <: ClassicalHamiltonian

The GenericLatticeHamiltonian struct represents a generic lattice Hamiltonian. It has an on-site interaction energy and a N-elements vector of nth-neighbor interaction energies. Units of energy U is also specified.

Fields

  • on_site_interaction::U: The energy of on-site interactions.
  • nth_neighbor_interactions::SVector{N, U}: The energy of nth-neighbor interactions.

Constructors

GenericLatticeHamiltonian(on_site_interaction::Float64, nth_neighbor_interactions::Vector{Float64}, energy_units::Unitful.Units)
GenericLatticeHamiltonian(on_site_interaction::U, nth_neighbor_interactions::Vector{U}) where U

Examples

julia> ham = GenericLatticeHamiltonian(-0.04, [-0.01, -0.0025], u"eV")
GenericLatticeHamiltonian{2,Quantity{Float64, 𝐋² 𝐌 𝐓⁻², Unitful.FreeUnits{(eV,), 𝐋² 𝐌 𝐓⁻², nothing}}}:
    on_site_interaction:      -0.04 eV
    nth_neighbor_interactions: [-0.01, -0.0025] eV


julia> ham = GenericLatticeHamiltonian(-0.04u"eV", [-0.01, -0.0025]*u"eV")
GenericLatticeHamiltonian{2,Quantity{Float64, 𝐋² 𝐌 𝐓⁻², Unitful.FreeUnits{(eV,), 𝐋² 𝐌 𝐓⁻², nothing}}}:
    on_site_interaction:      -0.04 eV
    nth_neighbor_interactions: [-0.01, -0.0025] eV
source
FreeBird.AbstractHamiltonians.MLatticeHamiltonianType
    struct MLatticeHamiltonian{C,N,U} <: ClassicalHamiltonian

The MLatticeHamiltonian struct represents a multi-component lattice Hamiltonian. It has a matrix of GenericLatticeHamiltonian{N,U}.

Fields

  • Hamiltonians::Matrix{GenericLatticeHamiltonian{N,U}}: The matrix of GenericLatticeHamiltonian{N,U}.

Constructors

MLatticeHamiltonian(Hamiltonians::Vector{GenericLatticeHamiltonian{N,U}})

Examples

julia> hams = [GenericLatticeHamiltonian(-0.04, [-0.01, -0.0025], u"eV") for i in 1:4] # full flattened matrix
julia> mlham = MLatticeHamiltonian(hams)
julia> hams = [GenericLatticeHamiltonian(-0.04, [-0.01, -0.0025], u"eV") for i in 1:3] # upper triangular matrix
julia> mlham = MLatticeHamiltonian(2, hams)
source