NQCDynamics

NQCDynamics.SimulationMethod
Simulation(atoms::Atoms{T}, model::Model, method::M;
    temperature=0u"K", cell::AbstractCell=InfiniteCell()) where {M,S,T}

Simulation parameters that controls the types of atoms, interactions, dynamics method, temperature and simulation cell.

source
NQCDynamics.TemperatureSettingType

A TemperatureSetting contains both temperature information and the atom indices within a Simulation that it is applied to.

If you don't need to apply different temperatures to different parts of your Simulation, assign the temperature keyword argument of your simulation to a number or function.

Parameters

value: A temperature function. This can be a Number type for constant temperatures, or a function taking the time in Unitful u"ps" as input and giving a temperature in Unitful u"K" as output.

indices: Indices of the atoms to which this thermostat is applied. Can be a range of indices, a single Int, or a Vector{Int}.

source
NQCDistributions.VelocityBoltzmannMethod
VelocityBoltzmann(temperature, sim::AbstractSimulation; center = zeros(size(sim)))

Generates a VelocityBoltzmann distribution covering an entire Simulation. If NQCModels.mobileatoms is modified, velocities for immobile atoms will always be zero.

source
NQCDynamics.get_temperatureFunction
get_temperature(thermostats::Vector{<:TemperatureSetting}, t=0u"fs")

Gets the temperature from multiple TemperatureSettings and returns a vector of the temperature applied to each atom.

source