NQCDistributions

NQCDistributions.DynamicalDistributionType
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.MixedStateType
MixedState{T,S} <: ElectronicDistribution{S}

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

source
NQCDistributions.SampleableComponentType
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.UnivariateArrayType
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.VelocityBoltzmannMethod
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