NQCDynamics
NQCDynamics.Simulation — MethodSimulation(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.
NQCDynamics.TemperatureSetting — TypeA 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}.
NQCDynamics.TemperatureSetting — MethodTemperatureSetting(temperature, subsystem::NQCModels.Subsystem)Apply a TemperatureSetting to all atoms in a Subsystem.
NQCDistributions.VelocityBoltzmann — MethodVelocityBoltzmann(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.
NQCDynamics.get_temperature — Functionget_temperature(thermostats::Vector{<:TemperatureSetting}, t=0u"fs")Gets the temperature from multiple TemperatureSettings and returns a vector of the temperature applied to each atom.