NQCDistributions
NQCDistributions.Adiabatic
— TypeSingleton type for labelling states as adiabatic.
NQCDistributions.ConfigurationVector
— TypeConfigurationVector{S<:AbstractVector}
Sample from a provided vector of configurations.
NQCDistributions.Diabatic
— TypeSingleton type for labelling states as diabatic.
NQCDistributions.DynamicalDistribution
— TypeDynamicalDistribution(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
— TypeElectronicDistribution{S}
Abstract type for distributions of electronic degrees of freedom only.
NQCDistributions.FermiDiracState
— TypeFermiDiracState{S,T,A} <: ElectronicDistribution{S}
Electronic distribution for Fermions following Fermi-Dirac distribution.
NQCDistributions.FixedArray
— TypeFixedArray{S<:AbstractArray}
Return the same configuration every time.
NQCDistributions.FixedFill
— TypeFixedFill{S<:Real}
Fill all degrees of freedom with the same value every time.
NQCDistributions.MixedState
— TypeMixedState{T,S} <: ElectronicDistribution{S}
Electronic distribution for representing a mixed state with non-zero population in multiple states.
NQCDistributions.PositionHarmonicRingPolymer
— MethodPositionHarmonicRingPolymer{T}(ω, β, m, dims::Dims{3}; centre=0, classical=Int[])
Ring polymer position distribution in a 1D harmonic potential
NQCDistributions.PureState
— TypePureState{S} <: ElectronicDistribution{S}
Electronic distribution for representing a system confined to a single state.
NQCDistributions.RingPolymerWrapper
— TypeRingPolymerWrapper{S}
Wrap other distributions to convert them to ring polymer distributions.
NQCDistributions.SampleableComponent
— TypeSampleableComponent(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
— TypeUnivariateArray{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
— TypeUnivariateFill{S<:Sampleable{Univariate}}
Fill all degrees of freedom from single Univariate distribution.
NQCDistributions.MomentumHarmonicWigner
— MethodMomentumHarmonicWigner(ω, β, m)
Wigner distribution in a 1D harmonic potential for the momentum
NQCDistributions.PositionHarmonicWigner
— MethodPositionHarmonicWigner(ω, β)
Wigner distribution in a 1D harmonic potential for the position
NQCDistributions.Q
— MethodQuantum corrector for the Wigner distribution
NQCDistributions.VelocityBoltzmann
— MethodVelocityBoltzmann(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).natoms
must equallength(masses)
center
- Vector of dimension ndofs that provides centre of mass velocity offset
NQCDistributions.VelocityBoltzmann
— MethodVelocityBoltzmann(temperature, mass; center = 0)
NQCDistributions.VelocityHarmonicWigner
— MethodVelocityHarmonicWigner(ω, β, m)
Wigner distribution in a 1D harmonic potential for the velocity