Molecular dynamics#

Note

These examples can be run without asap3 installed. In that case, ASE’s Python implementation of the EMT calculator can be used instead, but it is much slower.

Goal#

In this tutorial, we will learn how to perform basic molecular dynamics (MD) simulations using ASE.

The key objectives are:

  • Understand how to set up a crystal structure (Cu atoms on an FCC lattice).

  • Initialize velocities from Maxwell–Boltzmann distribution corresponding to a chosen temperature.

  • Integrate Newton’s equations of motion using Velocity-Verlet algorithm and monitor the temperature using Langevin thermostat.

  • Monitor and analyze thermodynamic quantities (potential energy, kinetic energy, total energy, temperature).

  • Save trajectories and visualize atomic motion with ASE’s GUI.

  • Explore MD in different scenarios: - Constant energy MD (NVE ensemble) - Constant temperature MD (NVT ensemble) - Isolated nanoparticle simulations

By the end of this tutorial, you should be able to set up your own MD simulations, monitor energy conservation, and visualize system evolution.

Basic Molecular Dynamics Simulation#

We start by creating a copper crystal, assigning random velocities corresponding to Maxwell Boltzmann Distribution at 300 K, and running dynamics in the NVE ensemble (constant energy).

import matplotlib.pyplot as plt
import numpy as np

# choose one of the following implementations of EMT:
# included in ase
# from ase.calculators.emt import EMT
# faster performance
from asap3 import EMT

from ase import units
from ase.cluster.cubic import FaceCenteredCubic as ClusterFCC
from ase.io.trajectory import Trajectory
from ase.lattice.cubic import FaceCenteredCubic as LatticeFCC
from ase.md.langevin import Langevin  # for later NPT simulations
from ase.md.velocitydistribution import (
    Stationary,
    ZeroRotation,
    thermalize_momenta,
)
from ase.md.verlet import VelocityVerlet
from ase.optimize import QuasiNewton
from ase.visualize.plot import plot_atoms

# Set up initial positions of Cu atoms on Fcc crystal lattice
size = 10
atoms = LatticeFCC(
    directions=[[1, 0, 0], [0, 1, 0], [0, 0, 1]],
    symbol='Cu',
    size=(size, size, size),
    pbc=True,
)

Before setting up the MD simulation, we take a look at the initial structure:

fig, ax = plt.subplots(figsize=(5, 5))
plot_atoms(atoms, ax, rotation=('45x,45y,0z'), show_unit_cell=2, radii=0.75)
plt.tight_layout()
plt.show()
md

Now let’s run the MD simulation and monitor the kinetic and potential energy of the whole system:

# Describe the interatomic interactions with the Effective Medium Theory (EMT)
atoms.calc = EMT()

# Set the initial velocities corresponding to T=300K from Maxwell Boltzmann
# Distribution
thermalize_momenta(atoms, temperature_K=300)

# We use Velocity Verlet algorithm to integrate the Newton's equations.
timestep_fs = 5
dyn = VelocityVerlet(atoms, timestep_fs * units.fs)  # 5 fs time step.


def printenergy(a):
    """
    Function to print the thermodynamical properties i.e potential energy,
    kinetic energy and total energy
    """
    epot = a.get_potential_energy()
    ekin = a.get_kinetic_energy()
    temp = a.get_temperature()
    print(
        f'Energy per atom: Epot ={epot:6.3f}eV  Ekin = {ekin:.3f}eV '
        f'(T={temp:.3f}K) Etot = {epot + ekin:.3f}eV'
    )


# Now run the dynamics
print('running a NVE simulation of fcc Cu')
printenergy(atoms)
# init lists to for energy vs time data
time_ps, epot, ekin = [], [], []
mdind = 0
steps_per_block = 10
for i in range(20):
    dyn.run(steps_per_block)
    mdind += steps_per_block
    printenergy(atoms)
    # save the energies of the current MD step
    time_ps.append(mdind * timestep_fs / 1000.0)
    epot.append(atoms.get_potential_energy())
    ekin.append(atoms.get_kinetic_energy())

etot = np.array(epot) + np.array(ekin)

# Plot energies vs time
fig, ax = plt.subplots(figsize=(6, 4))
ax.plot(time_ps, epot, label='Potential energy')
ax.plot(time_ps, ekin, label='Kinetic energy')
ax.plot(time_ps, etot, label='Total energy')
ax.set_xlabel('Time (ps)')
ax.set_ylabel('Energy (eV)')
ax.legend(loc='best')
ax.grid(True, linewidth=0.5, alpha=0.5)
plt.tight_layout()
plt.show()
md
running a NVE simulation of fcc Cu
Energy per atom: Epot =-2.405eV  Ekin = 156.906eV (T=303.470K) Etot = 154.501eV
Energy per atom: Epot =118.211eV  Ekin = 37.088eV (T=71.731K) Etot = 155.299eV
Energy per atom: Epot =80.074eV  Ekin = 75.102eV (T=145.254K) Etot = 155.176eV
Energy per atom: Epot =71.615eV  Ekin = 83.394eV (T=161.292K) Etot = 155.009eV
Energy per atom: Epot =68.105eV  Ekin = 86.842eV (T=167.960K) Etot = 154.947eV
Energy per atom: Epot =84.245eV  Ekin = 70.901eV (T=137.129K) Etot = 155.146eV
Energy per atom: Epot =78.441eV  Ekin = 76.671eV (T=148.288K) Etot = 155.112eV
Energy per atom: Epot =73.214eV  Ekin = 81.802eV (T=158.213K) Etot = 155.017eV
Energy per atom: Epot =74.016eV  Ekin = 81.017eV (T=156.693K) Etot = 155.033eV
Energy per atom: Epot =81.465eV  Ekin = 73.653eV (T=142.452K) Etot = 155.118eV
Energy per atom: Epot =74.703eV  Ekin = 80.357eV (T=155.417K) Etot = 155.060eV
Energy per atom: Epot =75.627eV  Ekin = 79.422eV (T=153.609K) Etot = 155.049eV
Energy per atom: Epot =75.322eV  Ekin = 79.737eV (T=154.218K) Etot = 155.059eV
Energy per atom: Epot =79.734eV  Ekin = 75.355eV (T=145.743K) Etot = 155.089eV
Energy per atom: Epot =74.753eV  Ekin = 80.299eV (T=155.305K) Etot = 155.052eV
Energy per atom: Epot =75.873eV  Ekin = 79.194eV (T=153.168K) Etot = 155.067eV
Energy per atom: Epot =75.943eV  Ekin = 79.120eV (T=153.025K) Etot = 155.063eV
Energy per atom: Epot =78.884eV  Ekin = 76.189eV (T=147.357K) Etot = 155.074eV
Energy per atom: Epot =74.657eV  Ekin = 80.405eV (T=155.510K) Etot = 155.062eV
Energy per atom: Epot =75.357eV  Ekin = 79.692eV (T=154.131K) Etot = 155.049eV
Energy per atom: Epot =78.986eV  Ekin = 76.084eV (T=147.154K) Etot = 155.070eV

Note how the total energy is conserved, but the kinetic energy quickly drops to half the expected value. Why?

What you learned here:

  • How to set up a basic MD run.

  • How to monitor the energy over time.

  • That total energy is approximately conserved in NVE simulations, what is the error in total energy?

Exercise: Tune the time step from 5fs to 10fs and 50fs, what changes do you observe in total energy?

Constant temperature MD#

In many cases, you want to control temperature (NVT ensemble). This can be done using a thermostat, like – in this tutorial – Langevin thermostat. Compared to the previous example, we replace the line dyn = VelocityVerlet(...) with

dyn = Langevin(atoms, timestep=5 * units.fs, temperature_K=T,
friction=0.02)

where T is the desired temperature in Kelvin. For that we also imported the Langevin in the beginning.

The Langevin dynamics will then slowly adjust the total energy of the system so the temperature approaches the desired one.

As a slightly less boring example, let us use this to melt a chunk of copper by starting the simulation without any momentum of the atoms (no kinetic energy), and with a desired temperature above the melting point. We will also save information about the atoms in a trajectory file called moldyn3.traj.

Note

It is recommended to use the asap3 implementation of the EMT calculator here, because its performance benefits over the ase implementation.

size = 10
T = 1500  # Kelvin

# Set up a crystal
atoms = LatticeFCC(
    directions=[[1, 0, 0], [0, 1, 0], [0, 0, 1]],
    symbol='Cu',
    size=(size, size, size),
    pbc=False,
)

# Describe the interatomic interactions with the Effective Medium Theory
atoms.calc = EMT()

# We want to run MD with constant energy using the Langevin algorithm
# with a time step of 5 fs, the temperature T and the friction
# coefficient to 0.02 atomic units.
timestep_fs = 5
dyn = Langevin(
    atoms, timestep=timestep_fs * units.fs, temperature_K=T, friction=0.02
)

# We also want to save the positions of all atoms after every 100th time step.
traj = Trajectory('fccCu_NPT.traj', 'w', atoms)
dyn.attach(traj.write, interval=100)

# Now run the dynamics
print('running a NVT simulation of fcc Cu')
printenergy(atoms)
time_ps, temperature = [], []
mdind = 0
steps_per_block = 10
for i in range(200):
    dyn.run(steps_per_block)
    mdind += steps_per_block
    printenergy(atoms)
    # save the temperature of the current MD step
    time_ps.append(mdind * timestep_fs / 1000.0)
    temperature.append(atoms.get_temperature())

# Plot temperatures vs time
fig, ax = plt.subplots(figsize=(6, 4))
ax.plot(time_ps, temperature)
ax.set_xlabel('Time (ps)')
ax.set_ylabel('Temperature (K)')
ax.grid(True, linewidth=0.5, alpha=0.5)
plt.tight_layout()
plt.show()
md
/home/ase/.local/lib/python3.14/site-packages/ase/md/langevin.py:102: FutureWarning: The implementation of `fixcm=True` in `Langevin` does not strictly sample the correct NVT distributions. The deviations are typically small for large systems but can be more pronounced for small systems. Use `fixcm=False` together with `ase.constraints.FixCom`. `fixcm` is deprecated since ASE 3.28.0 and will be removed in a future release.
  warnings.warn(msg, FutureWarning)
running a NVT simulation of fcc Cu
Energy per atom: Epot =540.816eV  Ekin = 0.000eV (T=0.000K) Etot = 540.816eV
Energy per atom: Epot =602.716eV  Ekin = 81.008eV (T=156.677K) Etot = 683.725eV
Energy per atom: Epot =670.184eV  Ekin = 140.454eV (T=271.651K) Etot = 810.638eV
Energy per atom: Epot =730.603eV  Ekin = 200.260eV (T=387.320K) Etot = 930.863eV
Energy per atom: Epot =785.129eV  Ekin = 252.509eV (T=488.375K) Etot = 1037.639eV
Energy per atom: Epot =832.255eV  Ekin = 299.315eV (T=578.902K) Etot = 1131.570eV
Energy per atom: Epot =881.426eV  Ekin = 341.463eV (T=660.420K) Etot = 1222.889eV
Energy per atom: Epot =924.074eV  Ekin = 381.146eV (T=737.169K) Etot = 1305.219eV
Energy per atom: Epot =968.238eV  Ekin = 410.521eV (T=793.983K) Etot = 1378.759eV
Energy per atom: Epot =997.695eV  Ekin = 453.970eV (T=878.017K) Etot = 1451.665eV
Energy per atom: Epot =1045.059eV  Ekin = 466.176eV (T=901.625K) Etot = 1511.235eV
Energy per atom: Epot =1071.955eV  Ekin = 497.559eV (T=962.321K) Etot = 1569.514eV
Energy per atom: Epot =1113.600eV  Ekin = 515.191eV (T=996.425K) Etot = 1628.791eV
Energy per atom: Epot =1145.991eV  Ekin = 529.730eV (T=1024.543K) Etot = 1675.720eV
Energy per atom: Epot =1186.676eV  Ekin = 538.352eV (T=1041.220K) Etot = 1725.029eV
Energy per atom: Epot =1203.017eV  Ekin = 565.158eV (T=1093.064K) Etot = 1768.175eV
Energy per atom: Epot =1226.613eV  Ekin = 578.888eV (T=1119.619K) Etot = 1805.500eV
Energy per atom: Epot =1264.045eV  Ekin = 583.957eV (T=1129.424K) Etot = 1848.002eV
Energy per atom: Epot =1296.204eV  Ekin = 595.269eV (T=1151.302K) Etot = 1891.472eV
Energy per atom: Epot =1316.657eV  Ekin = 615.261eV (T=1189.968K) Etot = 1931.917eV
Energy per atom: Epot =1331.650eV  Ekin = 614.597eV (T=1188.683K) Etot = 1946.247eV
Energy per atom: Epot =1344.198eV  Ekin = 633.097eV (T=1224.464K) Etot = 1977.294eV
Energy per atom: Epot =1373.290eV  Ekin = 631.560eV (T=1221.493K) Etot = 2004.851eV
Energy per atom: Epot =1381.859eV  Ekin = 645.229eV (T=1247.929K) Etot = 2027.088eV
Energy per atom: Epot =1405.838eV  Ekin = 644.188eV (T=1245.915K) Etot = 2050.025eV
Energy per atom: Epot =1422.594eV  Ekin = 655.357eV (T=1267.518K) Etot = 2077.951eV
Energy per atom: Epot =1433.946eV  Ekin = 665.565eV (T=1287.260K) Etot = 2099.511eV
Energy per atom: Epot =1448.775eV  Ekin = 675.983eV (T=1307.411K) Etot = 2124.758eV
Energy per atom: Epot =1466.905eV  Ekin = 672.390eV (T=1300.461K) Etot = 2139.295eV
Energy per atom: Epot =1476.788eV  Ekin = 675.995eV (T=1307.432K) Etot = 2152.782eV
Energy per atom: Epot =1491.988eV  Ekin = 668.545eV (T=1293.024K) Etot = 2160.533eV
Energy per atom: Epot =1497.480eV  Ekin = 686.020eV (T=1326.822K) Etot = 2183.499eV
Energy per atom: Epot =1525.450eV  Ekin = 674.008eV (T=1303.591K) Etot = 2199.458eV
Energy per atom: Epot =1533.839eV  Ekin = 686.420eV (T=1327.596K) Etot = 2220.260eV
Energy per atom: Epot =1558.381eV  Ekin = 683.180eV (T=1321.329K) Etot = 2241.560eV
Energy per atom: Epot =1549.923eV  Ekin = 702.842eV (T=1359.358K) Etot = 2252.765eV
Energy per atom: Epot =1573.408eV  Ekin = 703.920eV (T=1361.443K) Etot = 2277.328eV
Energy per atom: Epot =1581.797eV  Ekin = 704.757eV (T=1363.062K) Etot = 2286.554eV
Energy per atom: Epot =1580.887eV  Ekin = 718.763eV (T=1390.149K) Etot = 2299.649eV
Energy per atom: Epot =1597.328eV  Ekin = 720.474eV (T=1393.459K) Etot = 2317.801eV
Energy per atom: Epot =1618.420eV  Ekin = 709.513eV (T=1372.260K) Etot = 2327.933eV
Energy per atom: Epot =1626.118eV  Ekin = 720.483eV (T=1393.477K) Etot = 2346.601eV
Energy per atom: Epot =1636.234eV  Ekin = 718.745eV (T=1390.115K) Etot = 2354.979eV
Energy per atom: Epot =1653.353eV  Ekin = 710.757eV (T=1374.667K) Etot = 2364.110eV
Energy per atom: Epot =1649.310eV  Ekin = 725.430eV (T=1403.046K) Etot = 2374.740eV
Energy per atom: Epot =1657.158eV  Ekin = 718.201eV (T=1389.062K) Etot = 2375.359eV
Energy per atom: Epot =1663.212eV  Ekin = 721.298eV (T=1395.053K) Etot = 2384.510eV
Energy per atom: Epot =1673.976eV  Ekin = 713.872eV (T=1380.691K) Etot = 2387.849eV
Energy per atom: Epot =1690.444eV  Ekin = 708.102eV (T=1369.530K) Etot = 2398.545eV
Energy per atom: Epot =1686.173eV  Ekin = 724.232eV (T=1400.728K) Etot = 2410.405eV
Energy per atom: Epot =1694.244eV  Ekin = 727.672eV (T=1407.381K) Etot = 2421.916eV
Energy per atom: Epot =1696.677eV  Ekin = 730.291eV (T=1412.447K) Etot = 2426.968eV
Energy per atom: Epot =1719.364eV  Ekin = 728.829eV (T=1409.619K) Etot = 2448.194eV
Energy per atom: Epot =1735.452eV  Ekin = 729.000eV (T=1409.949K) Etot = 2464.452eV
Energy per atom: Epot =1741.173eV  Ekin = 728.328eV (T=1408.650K) Etot = 2469.501eV
Energy per atom: Epot =1743.084eV  Ekin = 732.725eV (T=1417.153K) Etot = 2475.809eV
Energy per atom: Epot =1762.634eV  Ekin = 730.223eV (T=1412.314K) Etot = 2492.857eV
Energy per atom: Epot =1762.070eV  Ekin = 732.907eV (T=1417.507K) Etot = 2494.978eV
Energy per atom: Epot =1783.536eV  Ekin = 724.202eV (T=1400.669K) Etot = 2507.738eV
Energy per atom: Epot =1778.964eV  Ekin = 726.841eV (T=1405.773K) Etot = 2505.805eV
Energy per atom: Epot =1785.309eV  Ekin = 739.080eV (T=1429.444K) Etot = 2524.389eV
Energy per atom: Epot =1799.629eV  Ekin = 722.555eV (T=1397.484K) Etot = 2522.184eV
Energy per atom: Epot =1795.231eV  Ekin = 729.090eV (T=1410.123K) Etot = 2524.321eV
Energy per atom: Epot =1802.780eV  Ekin = 730.180eV (T=1412.232K) Etot = 2532.960eV
Energy per atom: Epot =1807.878eV  Ekin = 727.533eV (T=1407.112K) Etot = 2535.411eV
Energy per atom: Epot =1805.579eV  Ekin = 734.092eV (T=1419.798K) Etot = 2539.671eV
Energy per atom: Epot =1808.532eV  Ekin = 746.566eV (T=1443.923K) Etot = 2555.097eV
Energy per atom: Epot =1818.623eV  Ekin = 737.590eV (T=1426.563K) Etot = 2556.213eV
Energy per atom: Epot =1827.872eV  Ekin = 729.313eV (T=1410.555K) Etot = 2557.185eV
Energy per atom: Epot =1834.389eV  Ekin = 731.887eV (T=1415.534K) Etot = 2566.277eV
Energy per atom: Epot =1851.934eV  Ekin = 727.202eV (T=1406.472K) Etot = 2579.136eV
Energy per atom: Epot =1839.598eV  Ekin = 748.580eV (T=1447.819K) Etot = 2588.178eV
Energy per atom: Epot =1851.097eV  Ekin = 746.928eV (T=1444.623K) Etot = 2598.025eV
Energy per atom: Epot =1869.073eV  Ekin = 739.470eV (T=1430.199K) Etot = 2608.543eV
Energy per atom: Epot =1864.197eV  Ekin = 746.638eV (T=1444.064K) Etot = 2610.836eV
Energy per atom: Epot =1863.478eV  Ekin = 749.596eV (T=1449.784K) Etot = 2613.074eV
Energy per atom: Epot =1869.001eV  Ekin = 752.688eV (T=1455.764K) Etot = 2621.689eV
Energy per atom: Epot =1873.724eV  Ekin = 759.929eV (T=1469.769K) Etot = 2633.653eV
Energy per atom: Epot =1882.941eV  Ekin = 754.927eV (T=1460.095K) Etot = 2637.868eV
Energy per atom: Epot =1888.060eV  Ekin = 764.747eV (T=1479.086K) Etot = 2652.807eV
Energy per atom: Epot =1897.671eV  Ekin = 757.256eV (T=1464.598K) Etot = 2654.926eV
Energy per atom: Epot =1894.992eV  Ekin = 762.269eV (T=1474.294K) Etot = 2657.261eV
Energy per atom: Epot =1900.039eV  Ekin = 750.844eV (T=1452.197K) Etot = 2650.883eV
Energy per atom: Epot =1883.298eV  Ekin = 774.403eV (T=1497.763K) Etot = 2657.701eV
Energy per atom: Epot =1908.039eV  Ekin = 756.397eV (T=1462.938K) Etot = 2664.436eV
Energy per atom: Epot =1919.700eV  Ekin = 748.635eV (T=1447.924K) Etot = 2668.335eV
Energy per atom: Epot =1920.750eV  Ekin = 755.770eV (T=1461.724K) Etot = 2676.519eV
Energy per atom: Epot =1930.027eV  Ekin = 750.019eV (T=1450.601K) Etot = 2680.046eV
Energy per atom: Epot =1922.854eV  Ekin = 760.945eV (T=1471.734K) Etot = 2683.799eV
Energy per atom: Epot =1929.463eV  Ekin = 747.227eV (T=1445.203K) Etot = 2676.690eV
Energy per atom: Epot =1939.538eV  Ekin = 733.704eV (T=1419.048K) Etot = 2673.242eV
Energy per atom: Epot =1930.461eV  Ekin = 753.345eV (T=1457.036K) Etot = 2683.806eV
Energy per atom: Epot =1937.758eV  Ekin = 745.830eV (T=1442.499K) Etot = 2683.588eV
Energy per atom: Epot =1946.046eV  Ekin = 744.659eV (T=1440.235K) Etot = 2690.704eV
Energy per atom: Epot =1945.352eV  Ekin = 753.203eV (T=1456.761K) Etot = 2698.556eV
Energy per atom: Epot =1957.291eV  Ekin = 738.205eV (T=1427.752K) Etot = 2695.495eV
Energy per atom: Epot =1952.422eV  Ekin = 740.022eV (T=1431.266K) Etot = 2692.444eV
Energy per atom: Epot =1949.736eV  Ekin = 746.610eV (T=1444.008K) Etot = 2696.345eV
Energy per atom: Epot =1948.614eV  Ekin = 754.625eV (T=1459.510K) Etot = 2703.238eV
Energy per atom: Epot =1951.632eV  Ekin = 750.397eV (T=1451.333K) Etot = 2702.029eV
Energy per atom: Epot =1951.249eV  Ekin = 740.630eV (T=1432.443K) Etot = 2691.879eV
Energy per atom: Epot =1940.146eV  Ekin = 752.081eV (T=1454.590K) Etot = 2692.227eV
Energy per atom: Epot =1944.602eV  Ekin = 763.188eV (T=1476.073K) Etot = 2707.791eV
Energy per atom: Epot =1941.500eV  Ekin = 764.905eV (T=1479.392K) Etot = 2706.405eV
Energy per atom: Epot =1953.621eV  Ekin = 750.914eV (T=1452.334K) Etot = 2704.535eV
Energy per atom: Epot =1942.385eV  Ekin = 766.633eV (T=1482.735K) Etot = 2709.018eV
Energy per atom: Epot =1942.537eV  Ekin = 773.135eV (T=1495.310K) Etot = 2715.672eV
Energy per atom: Epot =1945.187eV  Ekin = 771.814eV (T=1492.755K) Etot = 2717.001eV
Energy per atom: Epot =1954.629eV  Ekin = 759.660eV (T=1469.248K) Etot = 2714.289eV
Energy per atom: Epot =1947.028eV  Ekin = 767.291eV (T=1484.008K) Etot = 2714.320eV
Energy per atom: Epot =1951.694eV  Ekin = 759.374eV (T=1468.695K) Etot = 2711.068eV
Energy per atom: Epot =1953.710eV  Ekin = 758.727eV (T=1467.444K) Etot = 2712.437eV
Energy per atom: Epot =1953.575eV  Ekin = 758.734eV (T=1467.458K) Etot = 2712.310eV
Energy per atom: Epot =1952.496eV  Ekin = 760.384eV (T=1470.649K) Etot = 2712.880eV
Energy per atom: Epot =1977.453eV  Ekin = 737.042eV (T=1425.504K) Etot = 2714.496eV
Energy per atom: Epot =1970.322eV  Ekin = 746.855eV (T=1444.482K) Etot = 2717.177eV
Energy per atom: Epot =1963.597eV  Ekin = 753.922eV (T=1458.151K) Etot = 2717.519eV
Energy per atom: Epot =1975.439eV  Ekin = 733.923eV (T=1419.471K) Etot = 2709.362eV
Energy per atom: Epot =1958.125eV  Ekin = 756.141eV (T=1462.442K) Etot = 2714.265eV
Energy per atom: Epot =1974.136eV  Ekin = 745.708eV (T=1442.264K) Etot = 2719.844eV
Energy per atom: Epot =1965.261eV  Ekin = 756.463eV (T=1463.065K) Etot = 2721.723eV
Energy per atom: Epot =1971.891eV  Ekin = 749.598eV (T=1449.788K) Etot = 2721.489eV
Energy per atom: Epot =1964.342eV  Ekin = 762.626eV (T=1474.986K) Etot = 2726.968eV
Energy per atom: Epot =1972.005eV  Ekin = 764.610eV (T=1478.823K) Etot = 2736.616eV
Energy per atom: Epot =1980.027eV  Ekin = 762.409eV (T=1474.565K) Etot = 2742.436eV
Energy per atom: Epot =1969.547eV  Ekin = 773.573eV (T=1496.158K) Etot = 2743.121eV
Energy per atom: Epot =1977.452eV  Ekin = 761.582eV (T=1472.966K) Etot = 2739.034eV
Energy per atom: Epot =1976.015eV  Ekin = 765.417eV (T=1480.383K) Etot = 2741.432eV
Energy per atom: Epot =1982.975eV  Ekin = 764.343eV (T=1478.306K) Etot = 2747.317eV
Energy per atom: Epot =1977.627eV  Ekin = 765.718eV (T=1480.966K) Etot = 2743.345eV
Energy per atom: Epot =1991.682eV  Ekin = 752.996eV (T=1456.360K) Etot = 2744.678eV
Energy per atom: Epot =1986.152eV  Ekin = 759.508eV (T=1468.955K) Etot = 2745.660eV
Energy per atom: Epot =1977.110eV  Ekin = 768.037eV (T=1485.450K) Etot = 2745.147eV
Energy per atom: Epot =1991.708eV  Ekin = 757.226eV (T=1464.542K) Etot = 2748.935eV
Energy per atom: Epot =1984.623eV  Ekin = 769.649eV (T=1488.568K) Etot = 2754.272eV
Energy per atom: Epot =1983.416eV  Ekin = 770.582eV (T=1490.372K) Etot = 2753.998eV
Energy per atom: Epot =1981.739eV  Ekin = 774.722eV (T=1498.380K) Etot = 2756.461eV
Energy per atom: Epot =1974.292eV  Ekin = 769.399eV (T=1488.085K) Etot = 2743.691eV
Energy per atom: Epot =1978.340eV  Ekin = 761.249eV (T=1472.321K) Etot = 2739.589eV
Energy per atom: Epot =1978.923eV  Ekin = 768.366eV (T=1486.086K) Etot = 2747.289eV
Energy per atom: Epot =1977.315eV  Ekin = 777.282eV (T=1503.331K) Etot = 2754.597eV
Energy per atom: Epot =1975.810eV  Ekin = 775.062eV (T=1499.038K) Etot = 2750.872eV
Energy per atom: Epot =1989.540eV  Ekin = 761.485eV (T=1472.779K) Etot = 2751.025eV
Energy per atom: Epot =1978.925eV  Ekin = 769.900eV (T=1489.054K) Etot = 2748.825eV
Energy per atom: Epot =1998.676eV  Ekin = 756.222eV (T=1462.600K) Etot = 2754.898eV
Energy per atom: Epot =2001.527eV  Ekin = 756.463eV (T=1463.064K) Etot = 2757.989eV
Energy per atom: Epot =1987.356eV  Ekin = 772.003eV (T=1493.120K) Etot = 2759.359eV
Energy per atom: Epot =1995.883eV  Ekin = 766.586eV (T=1482.643K) Etot = 2762.468eV
Energy per atom: Epot =2002.310eV  Ekin = 750.946eV (T=1452.395K) Etot = 2753.257eV
Energy per atom: Epot =1974.251eV  Ekin = 777.753eV (T=1504.243K) Etot = 2752.005eV
Energy per atom: Epot =1988.264eV  Ekin = 769.982eV (T=1489.212K) Etot = 2758.246eV
Energy per atom: Epot =1979.398eV  Ekin = 776.525eV (T=1501.868K) Etot = 2755.923eV
Energy per atom: Epot =1999.029eV  Ekin = 748.323eV (T=1447.321K) Etot = 2747.352eV
Energy per atom: Epot =1993.774eV  Ekin = 760.635eV (T=1471.135K) Etot = 2754.409eV
Energy per atom: Epot =1982.548eV  Ekin = 774.900eV (T=1498.724K) Etot = 2757.448eV
Energy per atom: Epot =1993.756eV  Ekin = 763.849eV (T=1477.350K) Etot = 2757.605eV
Energy per atom: Epot =1996.194eV  Ekin = 753.460eV (T=1457.257K) Etot = 2749.653eV
Energy per atom: Epot =1993.041eV  Ekin = 756.351eV (T=1462.849K) Etot = 2749.393eV
Energy per atom: Epot =1980.016eV  Ekin = 758.472eV (T=1466.952K) Etot = 2738.489eV
Energy per atom: Epot =1977.762eV  Ekin = 761.056eV (T=1471.948K) Etot = 2738.818eV
Energy per atom: Epot =1979.364eV  Ekin = 767.909eV (T=1485.202K) Etot = 2747.273eV
Energy per atom: Epot =1970.415eV  Ekin = 779.445eV (T=1507.514K) Etot = 2749.859eV
Energy per atom: Epot =1973.163eV  Ekin = 766.475eV (T=1482.429K) Etot = 2739.638eV
Energy per atom: Epot =1984.666eV  Ekin = 763.090eV (T=1475.883K) Etot = 2747.756eV
Energy per atom: Epot =1976.256eV  Ekin = 769.960eV (T=1489.169K) Etot = 2746.216eV
Energy per atom: Epot =1984.037eV  Ekin = 773.283eV (T=1495.598K) Etot = 2757.321eV
Energy per atom: Epot =1995.686eV  Ekin = 760.159eV (T=1470.214K) Etot = 2755.845eV
Energy per atom: Epot =1979.152eV  Ekin = 770.591eV (T=1490.390K) Etot = 2749.743eV
Energy per atom: Epot =1987.577eV  Ekin = 771.782eV (T=1492.694K) Etot = 2759.360eV
Energy per atom: Epot =1990.139eV  Ekin = 773.978eV (T=1496.942K) Etot = 2764.118eV
Energy per atom: Epot =1993.199eV  Ekin = 778.086eV (T=1504.886K) Etot = 2771.285eV
Energy per atom: Epot =1989.363eV  Ekin = 785.527eV (T=1519.277K) Etot = 2774.890eV
Energy per atom: Epot =1991.709eV  Ekin = 789.103eV (T=1526.193K) Etot = 2780.812eV
Energy per atom: Epot =1996.759eV  Ekin = 782.123eV (T=1512.693K) Etot = 2778.881eV
Energy per atom: Epot =1999.664eV  Ekin = 775.206eV (T=1499.316K) Etot = 2774.870eV
Energy per atom: Epot =1999.503eV  Ekin = 776.878eV (T=1502.549K) Etot = 2776.380eV
Energy per atom: Epot =2000.419eV  Ekin = 768.327eV (T=1486.012K) Etot = 2768.746eV
Energy per atom: Epot =1999.100eV  Ekin = 779.585eV (T=1507.785K) Etot = 2778.685eV
Energy per atom: Epot =1981.285eV  Ekin = 783.780eV (T=1515.898K) Etot = 2765.065eV
Energy per atom: Epot =1997.233eV  Ekin = 767.566eV (T=1484.539K) Etot = 2764.799eV
Energy per atom: Epot =1994.790eV  Ekin = 762.188eV (T=1474.137K) Etot = 2756.978eV
Energy per atom: Epot =1994.073eV  Ekin = 762.487eV (T=1474.715K) Etot = 2756.560eV
Energy per atom: Epot =1973.765eV  Ekin = 778.046eV (T=1504.808K) Etot = 2751.811eV
Energy per atom: Epot =1982.286eV  Ekin = 770.781eV (T=1490.758K) Etot = 2753.067eV
Energy per atom: Epot =1978.957eV  Ekin = 780.258eV (T=1509.087K) Etot = 2759.215eV
Energy per atom: Epot =1991.029eV  Ekin = 766.561eV (T=1482.596K) Etot = 2757.590eV
Energy per atom: Epot =1986.603eV  Ekin = 772.683eV (T=1494.436K) Etot = 2759.286eV
Energy per atom: Epot =1998.991eV  Ekin = 770.907eV (T=1491.001K) Etot = 2769.898eV
Energy per atom: Epot =1981.138eV  Ekin = 778.690eV (T=1506.053K) Etot = 2759.828eV
Energy per atom: Epot =1996.974eV  Ekin = 768.928eV (T=1487.173K) Etot = 2765.902eV
Energy per atom: Epot =1987.819eV  Ekin = 787.725eV (T=1523.528K) Etot = 2775.543eV
Energy per atom: Epot =1992.049eV  Ekin = 781.645eV (T=1511.769K) Etot = 2773.693eV
Energy per atom: Epot =2005.923eV  Ekin = 774.006eV (T=1496.996K) Etot = 2779.929eV
Energy per atom: Epot =2007.820eV  Ekin = 768.145eV (T=1485.659K) Etot = 2775.965eV
Energy per atom: Epot =1994.379eV  Ekin = 784.601eV (T=1517.487K) Etot = 2778.980eV
Energy per atom: Epot =1999.809eV  Ekin = 773.852eV (T=1496.696K) Etot = 2773.660eV
Energy per atom: Epot =1998.617eV  Ekin = 769.564eV (T=1488.403K) Etot = 2768.181eV
Energy per atom: Epot =1996.091eV  Ekin = 781.200eV (T=1510.909K) Etot = 2777.291eV
Energy per atom: Epot =1988.742eV  Ekin = 778.535eV (T=1505.755K) Etot = 2767.277eV
Energy per atom: Epot =1997.725eV  Ekin = 774.733eV (T=1498.402K) Etot = 2772.458eV
Energy per atom: Epot =2000.966eV  Ekin = 777.702eV (T=1504.143K) Etot = 2778.668eV

After running the simulation, you can study the result with the command

ase gui fccCu_NPT.traj

Try plotting the kinetic energy. Like in the temperature vs time plot you will not see a well-defined melting point due to finite size effects (including surface melting), but you will probably see an almost flat region where the inside of the system melts. The outermost layers melt at a lower temperature.

Note

The Langevin dynamics will by default keep the position and momentum of the center of mass unperturbed. This is another improvement over just setting momenta corresponding to a temperature, as we did before.

Isolated particle MD#

When simulating isolated particles with MD, it is sometimes preferable to set random momenta corresponding to a specific temperature and let the system evolve freely. With a relatively high temperature, there is however a risk that the collection of atoms will drift out of the simulation box because the randomized momenta gave the center of mass a small but non-zero velocity too.

Let us see what happens when we propagate a nanoparticle:

size = 4
atoms = ClusterFCC(
    'Cu',
    surfaces=[[1, 0, 0], [1, 1, 0], [1, 1, 1]],
    layers=(size, size, size),
    vacuum=4,
)
# asap3 requires a non-zero cell even if pbc are not applied
atoms.cell = [40] * 3
atoms.set_pbc(False)  # isolated cluster (explicit, for clarity)

# Describe the interatomic interactions with the Effective Medium Theory
atoms.calc = EMT()

# Quick relaxation of the cluster
qn = QuasiNewton(atoms)
qn.run(fmax=0.001, steps=10)

# Set the momenta corresponding to T=1200 K
thermalize_momenta(atoms, temperature_K=1200)
Stationary(atoms)  # zero linear momentum
ZeroRotation(atoms)  # zero angular momentum

# Run MD using the Velocity Verlet algorithm and save trajectory
dyn = VelocityVerlet(atoms, 5 * units.fs, trajectory='nanoparticleCu_NVE.traj')

print('running a NVE simulation of a Cu nanoparticle')
printenergy(atoms)
steps_per_block = 10
for i in range(200):
    dyn.run(steps_per_block)
    printenergy(atoms)
                Step[ FC]     Time          Energy          fmax
BFGSLineSearch:    0[  0] 12:22:00       43.457006       1.0818
BFGSLineSearch:    1[  1] 12:22:00       42.347659       0.2273
BFGSLineSearch:    2[  2] 12:22:00       42.108454       0.1349
BFGSLineSearch:    3[  3] 12:22:00       41.964817       0.1138
BFGSLineSearch:    4[  4] 12:22:00       41.924933       0.0683
BFGSLineSearch:    5[  5] 12:22:00       41.915346       0.0225
BFGSLineSearch:    6[  6] 12:22:00       41.914920       0.0059
BFGSLineSearch:    7[  7] 12:22:00       41.914872       0.0023
BFGSLineSearch:    8[  9] 12:22:00       41.914855       0.0023
BFGSLineSearch:    9[ 10] 12:22:00       41.914851       0.0010
running a NVE simulation of a Cu nanoparticle
Energy per atom: Epot =41.915eV  Ekin = 15.087eV (T=1255.001K) Etot = 57.001eV
Energy per atom: Epot =50.547eV  Ekin = 6.502eV (T=540.919K) Etot = 57.049eV
Energy per atom: Epot =51.616eV  Ekin = 5.457eV (T=453.961K) Etot = 57.073eV
Energy per atom: Epot =51.019eV  Ekin = 6.048eV (T=503.098K) Etot = 57.067eV
Energy per atom: Epot =50.606eV  Ekin = 6.455eV (T=537.004K) Etot = 57.062eV
Energy per atom: Epot =50.418eV  Ekin = 6.647eV (T=552.923K) Etot = 57.065eV
Energy per atom: Epot =49.351eV  Ekin = 7.705eV (T=640.915K) Etot = 57.056eV
Energy per atom: Epot =50.120eV  Ekin = 6.943eV (T=577.561K) Etot = 57.063eV
Energy per atom: Epot =49.817eV  Ekin = 7.244eV (T=602.574K) Etot = 57.060eV
Energy per atom: Epot =50.188eV  Ekin = 6.875eV (T=571.912K) Etot = 57.063eV
Energy per atom: Epot =50.294eV  Ekin = 6.767eV (T=562.891K) Etot = 57.061eV
Energy per atom: Epot =50.578eV  Ekin = 6.481eV (T=539.146K) Etot = 57.059eV
Energy per atom: Epot =50.603eV  Ekin = 6.462eV (T=537.516K) Etot = 57.064eV
Energy per atom: Epot =50.250eV  Ekin = 6.813eV (T=566.732K) Etot = 57.063eV
Energy per atom: Epot =49.023eV  Ekin = 8.036eV (T=668.458K) Etot = 57.059eV
Energy per atom: Epot =49.119eV  Ekin = 7.943eV (T=660.746K) Etot = 57.062eV
Energy per atom: Epot =50.510eV  Ekin = 6.555eV (T=545.263K) Etot = 57.065eV
Energy per atom: Epot =50.930eV  Ekin = 6.138eV (T=510.602K) Etot = 57.068eV
Energy per atom: Epot =50.510eV  Ekin = 6.556eV (T=545.412K) Etot = 57.067eV
Energy per atom: Epot =49.646eV  Ekin = 7.415eV (T=616.815K) Etot = 57.061eV
Energy per atom: Epot =49.212eV  Ekin = 7.842eV (T=652.376K) Etot = 57.054eV
Energy per atom: Epot =49.286eV  Ekin = 7.766eV (T=645.998K) Etot = 57.052eV
Energy per atom: Epot =49.823eV  Ekin = 7.235eV (T=601.889K) Etot = 57.058eV
Energy per atom: Epot =50.038eV  Ekin = 7.025eV (T=584.356K) Etot = 57.063eV
Energy per atom: Epot =49.635eV  Ekin = 7.424eV (T=617.592K) Etot = 57.059eV
Energy per atom: Epot =49.893eV  Ekin = 7.170eV (T=596.418K) Etot = 57.063eV
Energy per atom: Epot =49.969eV  Ekin = 7.093eV (T=590.012K) Etot = 57.061eV
Energy per atom: Epot =49.564eV  Ekin = 7.494eV (T=623.407K) Etot = 57.058eV
Energy per atom: Epot =48.706eV  Ekin = 8.352eV (T=694.756K) Etot = 57.058eV
Energy per atom: Epot =50.649eV  Ekin = 6.418eV (T=533.869K) Etot = 57.067eV
Energy per atom: Epot =49.793eV  Ekin = 7.263eV (T=604.163K) Etot = 57.055eV
Energy per atom: Epot =50.670eV  Ekin = 6.390eV (T=531.600K) Etot = 57.060eV
Energy per atom: Epot =49.603eV  Ekin = 7.455eV (T=620.184K) Etot = 57.059eV
Energy per atom: Epot =49.763eV  Ekin = 7.303eV (T=607.471K) Etot = 57.066eV
Energy per atom: Epot =49.943eV  Ekin = 7.120eV (T=592.277K) Etot = 57.063eV
Energy per atom: Epot =48.885eV  Ekin = 8.171eV (T=679.712K) Etot = 57.056eV
Energy per atom: Epot =49.464eV  Ekin = 7.596eV (T=631.845K) Etot = 57.060eV
Energy per atom: Epot =50.727eV  Ekin = 6.341eV (T=527.484K) Etot = 57.068eV
Energy per atom: Epot =49.863eV  Ekin = 7.203eV (T=599.152K) Etot = 57.065eV
Energy per atom: Epot =50.034eV  Ekin = 7.033eV (T=585.015K) Etot = 57.066eV
Energy per atom: Epot =49.426eV  Ekin = 7.632eV (T=634.900K) Etot = 57.058eV
Energy per atom: Epot =48.757eV  Ekin = 8.299eV (T=690.368K) Etot = 57.056eV
Energy per atom: Epot =49.725eV  Ekin = 7.337eV (T=610.344K) Etot = 57.062eV
Energy per atom: Epot =49.629eV  Ekin = 7.429eV (T=617.951K) Etot = 57.058eV
Energy per atom: Epot =49.524eV  Ekin = 7.533eV (T=626.662K) Etot = 57.057eV
Energy per atom: Epot =50.959eV  Ekin = 6.108eV (T=508.116K) Etot = 57.067eV
Energy per atom: Epot =50.178eV  Ekin = 6.888eV (T=573.007K) Etot = 57.066eV
Energy per atom: Epot =48.859eV  Ekin = 8.198eV (T=681.924K) Etot = 57.057eV
Energy per atom: Epot =50.663eV  Ekin = 6.404eV (T=532.732K) Etot = 57.067eV
Energy per atom: Epot =50.317eV  Ekin = 6.747eV (T=561.260K) Etot = 57.064eV
Energy per atom: Epot =49.884eV  Ekin = 7.176eV (T=596.912K) Etot = 57.060eV
Energy per atom: Epot =49.922eV  Ekin = 7.140eV (T=593.917K) Etot = 57.062eV
Energy per atom: Epot =49.277eV  Ekin = 7.781eV (T=647.311K) Etot = 57.058eV
Energy per atom: Epot =49.827eV  Ekin = 7.238eV (T=602.106K) Etot = 57.065eV
Energy per atom: Epot =49.389eV  Ekin = 7.676eV (T=638.510K) Etot = 57.065eV
Energy per atom: Epot =50.386eV  Ekin = 6.678eV (T=555.542K) Etot = 57.064eV
Energy per atom: Epot =50.734eV  Ekin = 6.329eV (T=526.528K) Etot = 57.064eV
Energy per atom: Epot =50.930eV  Ekin = 6.138eV (T=510.565K) Etot = 57.067eV
Energy per atom: Epot =50.195eV  Ekin = 6.868eV (T=571.302K) Etot = 57.063eV
Energy per atom: Epot =49.688eV  Ekin = 7.375eV (T=613.463K) Etot = 57.063eV
Energy per atom: Epot =49.911eV  Ekin = 7.152eV (T=594.940K) Etot = 57.062eV
Energy per atom: Epot =50.403eV  Ekin = 6.665eV (T=554.474K) Etot = 57.068eV
Energy per atom: Epot =49.715eV  Ekin = 7.348eV (T=611.280K) Etot = 57.063eV
Energy per atom: Epot =50.749eV  Ekin = 6.316eV (T=525.427K) Etot = 57.065eV
Energy per atom: Epot =50.233eV  Ekin = 6.825eV (T=567.777K) Etot = 57.058eV
Energy per atom: Epot =50.040eV  Ekin = 7.016eV (T=583.634K) Etot = 57.056eV
Energy per atom: Epot =49.772eV  Ekin = 7.288eV (T=606.297K) Etot = 57.061eV
Energy per atom: Epot =49.977eV  Ekin = 7.086eV (T=589.449K) Etot = 57.063eV
Energy per atom: Epot =49.424eV  Ekin = 7.637eV (T=635.290K) Etot = 57.061eV
Energy per atom: Epot =50.676eV  Ekin = 6.386eV (T=531.241K) Etot = 57.062eV
Energy per atom: Epot =49.481eV  Ekin = 7.572eV (T=629.922K) Etot = 57.054eV
Energy per atom: Epot =49.784eV  Ekin = 7.276eV (T=605.262K) Etot = 57.060eV
Energy per atom: Epot =49.451eV  Ekin = 7.608eV (T=632.912K) Etot = 57.059eV
Energy per atom: Epot =50.301eV  Ekin = 6.760eV (T=562.382K) Etot = 57.062eV
Energy per atom: Epot =49.461eV  Ekin = 7.595eV (T=631.816K) Etot = 57.057eV
Energy per atom: Epot =50.004eV  Ekin = 7.057eV (T=587.077K) Etot = 57.062eV
Energy per atom: Epot =49.845eV  Ekin = 7.214eV (T=600.140K) Etot = 57.059eV
Energy per atom: Epot =50.708eV  Ekin = 6.360eV (T=529.038K) Etot = 57.067eV
Energy per atom: Epot =49.813eV  Ekin = 7.250eV (T=603.118K) Etot = 57.063eV
Energy per atom: Epot =49.400eV  Ekin = 7.660eV (T=637.198K) Etot = 57.060eV
Energy per atom: Epot =50.045eV  Ekin = 7.015eV (T=583.550K) Etot = 57.060eV
Energy per atom: Epot =50.601eV  Ekin = 6.458eV (T=537.212K) Etot = 57.059eV
Energy per atom: Epot =50.498eV  Ekin = 6.562eV (T=545.865K) Etot = 57.060eV
Energy per atom: Epot =49.525eV  Ekin = 7.535eV (T=626.790K) Etot = 57.059eV
Energy per atom: Epot =50.180eV  Ekin = 6.882eV (T=572.493K) Etot = 57.062eV
Energy per atom: Epot =50.183eV  Ekin = 6.874eV (T=571.822K) Etot = 57.057eV
Energy per atom: Epot =48.859eV  Ekin = 8.192eV (T=681.505K) Etot = 57.051eV
Energy per atom: Epot =50.625eV  Ekin = 6.433eV (T=535.118K) Etot = 57.058eV
Energy per atom: Epot =50.149eV  Ekin = 6.912eV (T=574.988K) Etot = 57.061eV
Energy per atom: Epot =50.120eV  Ekin = 6.945eV (T=577.772K) Etot = 57.065eV
Energy per atom: Epot =50.171eV  Ekin = 6.891eV (T=573.261K) Etot = 57.062eV
Energy per atom: Epot =50.215eV  Ekin = 6.844eV (T=569.334K) Etot = 57.059eV
Energy per atom: Epot =50.149eV  Ekin = 6.911eV (T=574.919K) Etot = 57.060eV
Energy per atom: Epot =49.216eV  Ekin = 7.839eV (T=652.130K) Etot = 57.055eV
Energy per atom: Epot =49.771eV  Ekin = 7.290eV (T=606.407K) Etot = 57.061eV
Energy per atom: Epot =50.014eV  Ekin = 7.053eV (T=586.755K) Etot = 57.068eV
Energy per atom: Epot =49.629eV  Ekin = 7.431eV (T=618.164K) Etot = 57.060eV
Energy per atom: Epot =49.516eV  Ekin = 7.537eV (T=627.004K) Etot = 57.053eV
Energy per atom: Epot =50.009eV  Ekin = 7.050eV (T=586.425K) Etot = 57.058eV
Energy per atom: Epot =49.855eV  Ekin = 7.205eV (T=599.338K) Etot = 57.060eV
Energy per atom: Epot =50.653eV  Ekin = 6.412eV (T=533.391K) Etot = 57.065eV
Energy per atom: Epot =49.911eV  Ekin = 7.150eV (T=594.799K) Etot = 57.061eV
Energy per atom: Epot =50.937eV  Ekin = 6.127eV (T=509.662K) Etot = 57.064eV
Energy per atom: Epot =49.808eV  Ekin = 7.253eV (T=603.313K) Etot = 57.061eV
Energy per atom: Epot =49.781eV  Ekin = 7.276eV (T=605.279K) Etot = 57.057eV
Energy per atom: Epot =49.692eV  Ekin = 7.365eV (T=612.642K) Etot = 57.056eV
Energy per atom: Epot =49.377eV  Ekin = 7.683eV (T=639.127K) Etot = 57.060eV
Energy per atom: Epot =49.178eV  Ekin = 7.880eV (T=655.516K) Etot = 57.058eV
Energy per atom: Epot =49.520eV  Ekin = 7.537eV (T=626.974K) Etot = 57.057eV
Energy per atom: Epot =50.878eV  Ekin = 6.192eV (T=515.060K) Etot = 57.070eV
Energy per atom: Epot =49.944eV  Ekin = 7.118eV (T=592.116K) Etot = 57.062eV
Energy per atom: Epot =49.287eV  Ekin = 7.768eV (T=646.229K) Etot = 57.055eV
Energy per atom: Epot =49.573eV  Ekin = 7.483eV (T=622.516K) Etot = 57.056eV
Energy per atom: Epot =49.868eV  Ekin = 7.194eV (T=598.429K) Etot = 57.062eV
Energy per atom: Epot =49.885eV  Ekin = 7.182eV (T=597.477K) Etot = 57.067eV
Energy per atom: Epot =49.209eV  Ekin = 7.850eV (T=653.012K) Etot = 57.059eV
Energy per atom: Epot =49.621eV  Ekin = 7.437eV (T=618.632K) Etot = 57.058eV
Energy per atom: Epot =50.205eV  Ekin = 6.855eV (T=570.213K) Etot = 57.059eV
Energy per atom: Epot =50.982eV  Ekin = 6.081eV (T=505.897K) Etot = 57.064eV
Energy per atom: Epot =49.870eV  Ekin = 7.189eV (T=598.050K) Etot = 57.059eV
Energy per atom: Epot =49.440eV  Ekin = 7.618eV (T=633.736K) Etot = 57.059eV
Energy per atom: Epot =49.236eV  Ekin = 7.817eV (T=650.284K) Etot = 57.053eV
Energy per atom: Epot =50.634eV  Ekin = 6.425eV (T=534.463K) Etot = 57.059eV
Energy per atom: Epot =49.709eV  Ekin = 7.349eV (T=611.364K) Etot = 57.058eV
Energy per atom: Epot =50.173eV  Ekin = 6.894eV (T=573.494K) Etot = 57.067eV
Energy per atom: Epot =49.720eV  Ekin = 7.342eV (T=610.734K) Etot = 57.062eV
Energy per atom: Epot =50.547eV  Ekin = 6.516eV (T=542.021K) Etot = 57.063eV
Energy per atom: Epot =49.351eV  Ekin = 7.708eV (T=641.169K) Etot = 57.058eV
Energy per atom: Epot =49.201eV  Ekin = 7.851eV (T=653.114K) Etot = 57.052eV
Energy per atom: Epot =49.851eV  Ekin = 7.209eV (T=599.723K) Etot = 57.060eV
Energy per atom: Epot =50.504eV  Ekin = 6.565eV (T=546.116K) Etot = 57.069eV
Energy per atom: Epot =49.844eV  Ekin = 7.220eV (T=600.576K) Etot = 57.064eV
Energy per atom: Epot =49.055eV  Ekin = 7.999eV (T=665.439K) Etot = 57.055eV
Energy per atom: Epot =49.510eV  Ekin = 7.551eV (T=628.144K) Etot = 57.061eV
Energy per atom: Epot =49.652eV  Ekin = 7.404eV (T=615.883K) Etot = 57.055eV
Energy per atom: Epot =49.206eV  Ekin = 7.854eV (T=653.341K) Etot = 57.060eV
Energy per atom: Epot =49.814eV  Ekin = 7.242eV (T=602.450K) Etot = 57.057eV
Energy per atom: Epot =49.756eV  Ekin = 7.295eV (T=606.849K) Etot = 57.051eV
Energy per atom: Epot =49.994eV  Ekin = 7.061eV (T=587.372K) Etot = 57.055eV
Energy per atom: Epot =49.478eV  Ekin = 7.583eV (T=630.836K) Etot = 57.062eV
Energy per atom: Epot =49.786eV  Ekin = 7.278eV (T=605.463K) Etot = 57.064eV
Energy per atom: Epot =48.951eV  Ekin = 8.109eV (T=674.575K) Etot = 57.060eV
Energy per atom: Epot =50.037eV  Ekin = 7.022eV (T=584.158K) Etot = 57.060eV
Energy per atom: Epot =49.895eV  Ekin = 7.165eV (T=596.062K) Etot = 57.061eV
Energy per atom: Epot =50.583eV  Ekin = 6.486eV (T=539.579K) Etot = 57.069eV
Energy per atom: Epot =50.674eV  Ekin = 6.394eV (T=531.916K) Etot = 57.068eV
Energy per atom: Epot =49.454eV  Ekin = 7.603eV (T=632.483K) Etot = 57.057eV
Energy per atom: Epot =48.140eV  Ekin = 8.911eV (T=741.242K) Etot = 57.050eV
Energy per atom: Epot =50.096eV  Ekin = 6.964eV (T=579.285K) Etot = 57.060eV
Energy per atom: Epot =48.910eV  Ekin = 8.146eV (T=677.610K) Etot = 57.056eV
Energy per atom: Epot =49.421eV  Ekin = 7.634eV (T=635.082K) Etot = 57.055eV
Energy per atom: Epot =49.564eV  Ekin = 7.496eV (T=623.572K) Etot = 57.060eV
Energy per atom: Epot =50.824eV  Ekin = 6.247eV (T=519.661K) Etot = 57.071eV
Energy per atom: Epot =49.428eV  Ekin = 7.630eV (T=634.717K) Etot = 57.058eV
Energy per atom: Epot =50.328eV  Ekin = 6.730eV (T=559.810K) Etot = 57.058eV
Energy per atom: Epot =49.957eV  Ekin = 7.099eV (T=590.540K) Etot = 57.056eV
Energy per atom: Epot =49.658eV  Ekin = 7.398eV (T=615.454K) Etot = 57.056eV
Energy per atom: Epot =50.465eV  Ekin = 6.596eV (T=548.731K) Etot = 57.061eV
Energy per atom: Epot =49.329eV  Ekin = 7.724eV (T=642.532K) Etot = 57.053eV
Energy per atom: Epot =49.843eV  Ekin = 7.218eV (T=600.462K) Etot = 57.061eV
Energy per atom: Epot =50.658eV  Ekin = 6.407eV (T=532.944K) Etot = 57.064eV
Energy per atom: Epot =50.076eV  Ekin = 6.994eV (T=581.774K) Etot = 57.070eV
Energy per atom: Epot =49.259eV  Ekin = 7.803eV (T=649.088K) Etot = 57.062eV
Energy per atom: Epot =49.399eV  Ekin = 7.661eV (T=637.282K) Etot = 57.060eV
Energy per atom: Epot =50.323eV  Ekin = 6.739eV (T=560.599K) Etot = 57.062eV
Energy per atom: Epot =50.473eV  Ekin = 6.588eV (T=548.069K) Etot = 57.062eV
Energy per atom: Epot =49.885eV  Ekin = 7.173eV (T=596.704K) Etot = 57.058eV
Energy per atom: Epot =49.312eV  Ekin = 7.745eV (T=644.239K) Etot = 57.057eV
Energy per atom: Epot =49.784eV  Ekin = 7.274eV (T=605.128K) Etot = 57.058eV
Energy per atom: Epot =50.173eV  Ekin = 6.886eV (T=572.852K) Etot = 57.059eV
Energy per atom: Epot =50.677eV  Ekin = 6.389eV (T=531.514K) Etot = 57.066eV
Energy per atom: Epot =49.249eV  Ekin = 7.811eV (T=649.768K) Etot = 57.060eV
Energy per atom: Epot =50.190eV  Ekin = 6.876eV (T=571.962K) Etot = 57.065eV
Energy per atom: Epot =49.740eV  Ekin = 7.318eV (T=608.785K) Etot = 57.058eV
Energy per atom: Epot =50.627eV  Ekin = 6.438eV (T=535.544K) Etot = 57.065eV
Energy per atom: Epot =50.136eV  Ekin = 6.927eV (T=576.251K) Etot = 57.063eV
Energy per atom: Epot =49.561eV  Ekin = 7.499eV (T=623.854K) Etot = 57.061eV
Energy per atom: Epot =48.998eV  Ekin = 8.059eV (T=670.405K) Etot = 57.057eV
Energy per atom: Epot =49.177eV  Ekin = 7.885eV (T=655.919K) Etot = 57.062eV
Energy per atom: Epot =49.509eV  Ekin = 7.553eV (T=628.329K) Etot = 57.062eV
Energy per atom: Epot =49.914eV  Ekin = 7.149eV (T=594.727K) Etot = 57.063eV
Energy per atom: Epot =49.520eV  Ekin = 7.540eV (T=627.218K) Etot = 57.060eV
Energy per atom: Epot =50.293eV  Ekin = 6.770eV (T=563.195K) Etot = 57.063eV
Energy per atom: Epot =50.053eV  Ekin = 7.008eV (T=583.007K) Etot = 57.062eV
Energy per atom: Epot =50.713eV  Ekin = 6.356eV (T=528.712K) Etot = 57.069eV
Energy per atom: Epot =50.527eV  Ekin = 6.542eV (T=544.169K) Etot = 57.069eV
Energy per atom: Epot =49.787eV  Ekin = 7.280eV (T=605.574K) Etot = 57.066eV
Energy per atom: Epot =49.599eV  Ekin = 7.462eV (T=620.739K) Etot = 57.061eV
Energy per atom: Epot =49.093eV  Ekin = 7.965eV (T=662.611K) Etot = 57.058eV
Energy per atom: Epot =49.054eV  Ekin = 8.001eV (T=665.570K) Etot = 57.055eV
Energy per atom: Epot =48.706eV  Ekin = 8.350eV (T=694.585K) Etot = 57.055eV
Energy per atom: Epot =50.222eV  Ekin = 6.844eV (T=569.348K) Etot = 57.066eV
Energy per atom: Epot =49.857eV  Ekin = 7.202eV (T=599.100K) Etot = 57.059eV
Energy per atom: Epot =49.535eV  Ekin = 7.524eV (T=625.860K) Etot = 57.058eV
Energy per atom: Epot =50.666eV  Ekin = 6.397eV (T=532.152K) Etot = 57.064eV
Energy per atom: Epot =49.693eV  Ekin = 7.365eV (T=612.652K) Etot = 57.058eV
Energy per atom: Epot =49.808eV  Ekin = 7.253eV (T=603.333K) Etot = 57.061eV
Energy per atom: Epot =49.887eV  Ekin = 7.177eV (T=596.994K) Etot = 57.063eV
Energy per atom: Epot =49.601eV  Ekin = 7.459eV (T=620.467K) Etot = 57.059eV
Energy per atom: Epot =49.465eV  Ekin = 7.592eV (T=631.550K) Etot = 57.057eV
Energy per atom: Epot =49.785eV  Ekin = 7.271eV (T=604.821K) Etot = 57.055eV

After running the simulation, use Graphical user interface (GUI) to compare the resulting trajectory with how it looks if you comment out either the line that says Stationary(atoms), ZeroRotation(atoms) or both:

ase gui nanoparticleCu_NVE.traj

Try playing the movie with a high frame rate and set frame skipping to a low number. Can you spot the subtle difference?

# Other thermostats are available in ASE,
# the Canonical Sampling Velocity Rescaling (CVSR)
# is one of them. Below you can find example of how to use it.
# An important thing to know is that the atoms object should have
# non-zero velocities before instanciating the dynamics object
from ase.build.bulk import bulk
from ase.md.bussi import Bussi
from ase.md.velocitydistribution import Stationary, thermalize_momenta
from ase.units import fs

cu_fcc = bulk('Cu', 'fcc') * (2, 2, 2)
cu_fcc.calc = EMT()

# CSVR thermostat requires initial velocity.
thermalize_momenta(cu_fcc, temperature_K=300)
Stationary(cu_fcc)

bussi_dyn = Bussi(cu_fcc, 1.0 * fs, temperature_K=300, taut=50)

# It is possible to run the dynamics interactively,
# performing custom actions between steps.
for step in bussi_dyn.irun(100):
    print(
        f'Cumul. energy transfered to the thermostat'
        f' {bussi_dyn.transferred_energy} eV'
    )
Cumul. energy transfered to the thermostat 0.0 eV
Cumul. energy transfered to the thermostat -0.006953369732271226 eV
Cumul. energy transfered to the thermostat -0.0004586520887301876 eV
Cumul. energy transfered to the thermostat 0.01326481341585017 eV
Cumul. energy transfered to the thermostat 0.012269378226289082 eV
Cumul. energy transfered to the thermostat 0.007480715692891855 eV
Cumul. energy transfered to the thermostat 0.0013292831886180766 eV
Cumul. energy transfered to the thermostat -0.006858290560865262 eV
Cumul. energy transfered to the thermostat -0.0026729602846931166 eV
Cumul. energy transfered to the thermostat 0.0030371879666493936 eV
Cumul. energy transfered to the thermostat 0.006606405842600842 eV
Cumul. energy transfered to the thermostat 0.006720900690999294 eV
Cumul. energy transfered to the thermostat 0.011694484726897273 eV
Cumul. energy transfered to the thermostat 0.00969877347115539 eV
Cumul. energy transfered to the thermostat 0.008857804740873502 eV
Cumul. energy transfered to the thermostat 0.011160011323254218 eV
Cumul. energy transfered to the thermostat 0.004861471140767429 eV
Cumul. energy transfered to the thermostat 0.006340948281974657 eV
Cumul. energy transfered to the thermostat 0.014756948029244911 eV
Cumul. energy transfered to the thermostat 0.020540300883347996 eV
Cumul. energy transfered to the thermostat 0.01391156068183134 eV
Cumul. energy transfered to the thermostat 0.018234518828312812 eV
Cumul. energy transfered to the thermostat 0.013601326213777427 eV
Cumul. energy transfered to the thermostat 0.015568878237510839 eV
Cumul. energy transfered to the thermostat 0.020643376524168904 eV
Cumul. energy transfered to the thermostat 0.019205751433107515 eV
Cumul. energy transfered to the thermostat 0.017046918344791356 eV
Cumul. energy transfered to the thermostat 0.01818373908268977 eV
Cumul. energy transfered to the thermostat 0.027280072740380905 eV
Cumul. energy transfered to the thermostat 0.03416353669685467 eV
Cumul. energy transfered to the thermostat 0.030329807839992902 eV
Cumul. energy transfered to the thermostat 0.025706975050008424 eV
Cumul. energy transfered to the thermostat 0.03019441053655704 eV
Cumul. energy transfered to the thermostat 0.02451192351209769 eV
Cumul. energy transfered to the thermostat 0.030679440757927424 eV
Cumul. energy transfered to the thermostat 0.032997247169756626 eV
Cumul. energy transfered to the thermostat 0.0419198917017585 eV
Cumul. energy transfered to the thermostat 0.04191480403041937 eV
Cumul. energy transfered to the thermostat 0.04225939266600556 eV
Cumul. energy transfered to the thermostat 0.04854583056533267 eV
Cumul. energy transfered to the thermostat 0.05705247925455707 eV
Cumul. energy transfered to the thermostat 0.05849895965039219 eV
Cumul. energy transfered to the thermostat 0.05884992452646964 eV
Cumul. energy transfered to the thermostat 0.06186649427837134 eV
Cumul. energy transfered to the thermostat 0.06690738652824413 eV
Cumul. energy transfered to the thermostat 0.06501661285546369 eV
Cumul. energy transfered to the thermostat 0.06467282264491425 eV
Cumul. energy transfered to the thermostat 0.0679791447337052 eV
Cumul. energy transfered to the thermostat 0.06554450232412358 eV
Cumul. energy transfered to the thermostat 0.06691301042194019 eV
Cumul. energy transfered to the thermostat 0.06720573704715714 eV
Cumul. energy transfered to the thermostat 0.07017741199943932 eV
Cumul. energy transfered to the thermostat 0.07534886560941532 eV
Cumul. energy transfered to the thermostat 0.07402757736135791 eV
Cumul. energy transfered to the thermostat 0.07134200841611495 eV
Cumul. energy transfered to the thermostat 0.06842811349454189 eV
Cumul. energy transfered to the thermostat 0.0653269539791188 eV
Cumul. energy transfered to the thermostat 0.06450943984738054 eV
Cumul. energy transfered to the thermostat 0.06299770573272147 eV
Cumul. energy transfered to the thermostat 0.06550692177913817 eV
Cumul. energy transfered to the thermostat 0.06898384934139452 eV
Cumul. energy transfered to the thermostat 0.06480106856641056 eV
Cumul. energy transfered to the thermostat 0.06368845028832071 eV
Cumul. energy transfered to the thermostat 0.06421787113467294 eV
Cumul. energy transfered to the thermostat 0.06221239188763798 eV
Cumul. energy transfered to the thermostat 0.06376607000637036 eV
Cumul. energy transfered to the thermostat 0.06304865378283551 eV
Cumul. energy transfered to the thermostat 0.06010593060191449 eV
Cumul. energy transfered to the thermostat 0.06475194412937008 eV
Cumul. energy transfered to the thermostat 0.06766704337077409 eV
Cumul. energy transfered to the thermostat 0.06831912185957106 eV
Cumul. energy transfered to the thermostat 0.06746756558968146 eV
Cumul. energy transfered to the thermostat 0.07093125659354195 eV
Cumul. energy transfered to the thermostat 0.07598264042652118 eV
Cumul. energy transfered to the thermostat 0.07719891627946153 eV
Cumul. energy transfered to the thermostat 0.07677266334190014 eV
Cumul. energy transfered to the thermostat 0.08589840470044084 eV
Cumul. energy transfered to the thermostat 0.08819211058729948 eV
Cumul. energy transfered to the thermostat 0.08481924581560657 eV
Cumul. energy transfered to the thermostat 0.07961208393522812 eV
Cumul. energy transfered to the thermostat 0.0795350751055905 eV
Cumul. energy transfered to the thermostat 0.08595645407452311 eV
Cumul. energy transfered to the thermostat 0.08749729839761575 eV
Cumul. energy transfered to the thermostat 0.08698959428916869 eV
Cumul. energy transfered to the thermostat 0.08740165064525104 eV
Cumul. energy transfered to the thermostat 0.09213022821893209 eV
Cumul. energy transfered to the thermostat 0.08975552642542717 eV
Cumul. energy transfered to the thermostat 0.08678872934311439 eV
Cumul. energy transfered to the thermostat 0.08759724845562956 eV
Cumul. energy transfered to the thermostat 0.09141288263677998 eV
Cumul. energy transfered to the thermostat 0.08977559931747489 eV
Cumul. energy transfered to the thermostat 0.08656788380441618 eV
Cumul. energy transfered to the thermostat 0.08353195393294235 eV
Cumul. energy transfered to the thermostat 0.085078730494324 eV
Cumul. energy transfered to the thermostat 0.0871261219967425 eV
Cumul. energy transfered to the thermostat 0.08861463541871291 eV
Cumul. energy transfered to the thermostat 0.08636829956956632 eV
Cumul. energy transfered to the thermostat 0.0813048388513815 eV
Cumul. energy transfered to the thermostat 0.0831891643892075 eV
Cumul. energy transfered to the thermostat 0.08231477062667002 eV
Cumul. energy transfered to the thermostat 0.08317332764828425 eV

Gallery generated by Sphinx-Gallery