NQCDistributions

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;;])
source
NQCDistributions.MixedState — Type
MixedState{T,S} <: ElectronicDistribution{S}

Electronic distribution for representing a mixed state with non-zero population in multiple states.

source
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.

source
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.

source
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 Unitful
  • masses - Vector of masses for each atom
  • dims - (ndofs, natoms). natoms must equal length(masses)
  • center - Vector of dimension ndofs that provides centre of mass velocity offset
source