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 TemperatureSetting
s and returns a vector of the temperature applied to each atom.