NQCDistributions
NQCDistributions.Adiabatic — Type
Singleton type for labelling states as adiabatic.
NQCDistributions.ConfigurationVector — Type
ConfigurationVector{S<:AbstractVector}Sample from a provided vector of configurations.
NQCDistributions.Diabatic — Type
Singleton type for labelling states as diabatic.
NQCDistributions.DynamicalDistribution — Type
DynamicalDistribution(velocity, position, dims)Sampleable struct containing distributions for velocity and position. dims determines the size of each sample and should match the size of the system: (ndofs, natoms).
Example
julia> using NQCDistributions: DynamicalDistribution;
julia> d = DynamicalDistribution([[1.0;;], [2.0;;], [3.0;;]], 0.1, (1, 1));
julia> rand(d)
ComponentVector{Float64}(v = [1.0;;], r = [0.1;;])
julia> d[2]
ComponentVector{Float64}(v = [2.0;;], r = [0.1;;])NQCDistributions.ElectronicDistribution — Type
ElectronicDistribution{S}Abstract type for distributions of electronic degrees of freedom only.
NQCDistributions.FermiDiracState — Type
FermiDiracState{S,T,A} <: ElectronicDistribution{S}Electronic distribution for Fermions following Fermi-Dirac distribution.
NQCDistributions.FixedArray — Type
FixedArray{S<:AbstractArray}Return the same configuration every time.
NQCDistributions.FixedFill — Type
FixedFill{S<:Real}Fill all degrees of freedom with the same value every time.
NQCDistributions.MixedState — Type
MixedState{T,S} <: ElectronicDistribution{S}Electronic distribution for representing a mixed state with non-zero population in multiple states.
NQCDistributions.PositionHarmonicRingPolymer — Method
PositionHarmonicRingPolymer{T}(ω, β, m, dims::Dims{3}; centre=0, classical=Int[])Ring polymer position distribution in a 1D harmonic potential
NQCDistributions.PureState — Type
PureState{S} <: ElectronicDistribution{S}Electronic distribution for representing a system confined to a single state.
NQCDistributions.RingPolymerWrapper — Type
RingPolymerWrapper{S}Wrap other distributions to convert them to ring polymer distributions.
NQCDistributions.SampleableComponent — Type
SampleableComponent(sampleable, dims)Converts a general sampleable that provides configurations into one of the component types defined below. dims should be the size of the desired samples and must be consistent with the provided sampleable.
NQCDistributions.UnivariateArray — Type
UnivariateArray{N,S<:Sampleable{Univariate}}Fill each degree of freedom from a different Univariate distribution.
The size of the matrix of sampleables should match the system size.
NQCDistributions.UnivariateFill — Type
UnivariateFill{S<:Sampleable{Univariate}}Fill all degrees of freedom from single Univariate distribution.
NQCDistributions.MomentumHarmonicWigner — Method
MomentumHarmonicWigner(ω, β, m)Wigner distribution in a 1D harmonic potential for the momentum
NQCDistributions.PositionHarmonicWigner — Method
PositionHarmonicWigner(ω, β)Wigner distribution in a 1D harmonic potential for the position
NQCDistributions.Q — Method
Quantum corrector for the Wigner distribution
NQCDistributions.VelocityBoltzmann — Method
VelocityBoltzmann(temperature::Number, masses::AbstractVector{<:Number}, dims::Dims{2}; center::AbstractMatrix{<:Number} = zeros(dims))Generate a Boltzmann distribution of velocities for each degree of freedom.
Arguments
temperature- Atomic units or Unitfulmasses- Vector of masses for each atomdims- (ndofs, natoms).natomsmust equallength(masses)center- Vector of dimension ndofs that provides centre of mass velocity offset
NQCDistributions.VelocityBoltzmann — Method
VelocityBoltzmann(temperature, mass; center = 0)NQCDistributions.VelocityHarmonicWigner — Method
VelocityHarmonicWigner(ω, β, m)Wigner distribution in a 1D harmonic potential for the velocity