When next time (like in 2024), GPAW refers to a beta-version of ASE to that
conda install -c conda-forge gpaw
conda remove --force ase
pip install --upgrade git+https://gitlab.com/ase/ase.git@master
When next time (like in 2024), GPAW refers to a beta-version of ASE to that
conda install -c conda-forge gpaw
conda remove --force ase
pip install --upgrade git+https://gitlab.com/ase/ase.git@master
Bader analysis is a fast and simple way of getting atomic charges. It is especially useful for periodic calculations. The analysis can be done on the fly using pybader tool from pypi.org/project/pybader. I recommend using it within conda environments.
The installation is straightforward:
pip install pybader
The usage is less obvious. Here is a function for obtaining xmol-type xyz that can obtained with GPAW and visualized with ASE:
def xyzb(atoms, filename, nCPU):
from pybader.io import gpaw
from pybader.interface import Bader
import os
bader = Bader(*gpaw.read_obj(atoms.calc)) # read ASE object 'atoms'
bader(threads=nCPU) # specify the number of CPUs
f = open('{0}.xyz'.format(filename), 'w') # set xmol format
b = bader.atoms_charge # get number of electrons per atom
n = atoms.get_atomic_numbers() # get atomic numbers
a = atoms.get_chemical_symbols() # get chemical symbols
p = atoms.get_positions() # get positions of the atoms
f.write('{0}\n'.format(len(a)))
f.write('Properties=species:S:1:pos:R:3:charge:R:1\n') # ensure compatibility with ASE
for i in range(len(a)): # print symbol, positions, and charge
s = '{0}'.format(a[i])
x = '{0:.6f}'.format(round(p[i][0],6))
y = '{0:.6f}'.format(round(p[i][1],6))
z = '{0:.6f}'.format(round(p[i][2],6))
c = '{0:.3f}'.format(round(float(n[i]) - float(b[i]),3))
f.write('{0:<4}{1:>16}{2:>16}{3:>16}{4:>10}\n'.format(s,x,y,z,c))
f.close()
del bader
os.remove('bader.p')
Similarly one can obtain xmol-type xyz file with Hirshfeld charges:
def xyzh(atoms, filename):
from gpaw.analyse.hirshfeld import HirshfeldPartitioning
f = open('{0}.xyz'.format(filename), 'w') # set xmol format
a = atoms.get_chemical_symbols() # get chemical symbols
p = atoms.get_positions() # get positions of the atoms
h = HirshfeldPartitioning(atoms.calc).get_charges()
f.write('{0}\n'.format(len(a)))
f.write('Properties=species:S:1:pos:R:3:charge:R:1\n') # ensure compatibility with ASE
for i in range(len(a)): # print symbol, positions, and charge
s = '{0}'.format(a[i])
x = '{0:.6f}'.format(round(p[i][0],6))
y = '{0:.6f}'.format(round(p[i][1],6))
z = '{0:.6f}'.format(round(p[i][2],6))
c = '{0:.3f}'.format(round(h[i],3))
f.write('{0:<4}{1:>16}{2:>16}{3:>16}{4:>10}\n'.format(s,x,y,z,c))
f.close()
In the LCAO mode of GPAW one can also get the Mulliken charges. Test before using:
def xyzm(atoms, filename):
from gpaw.lcao.tools import get_mulliken
f = open('{0}.xyz'.format(filename), 'w') # set xmol format
a = atoms.get_chemical_symbols() # get chemical symbols
p = atoms.get_positions() # get positions of the atoms
m = get_mulliken(atoms.calc, range(len(a)))
f.write('{0}\n'.format(len(a)))
f.write('Properties=species:S:1:pos:R:3:charge:R:1\n') # ensure compatibility with ASE
for i in range(len(a)): # print symbol, positions, and charge
s = '{0}'.format(a[i])
x = '{0:.6f}'.format(round(p[i][0],6))
y = '{0:.6f}'.format(round(p[i][1],6))
z = '{0:.6f}'.format(round(p[i][2],6))
c = '{0:.3f}'.format(round(m[i],3))
f.write('{0:<4}{1:>16}{2:>16}{3:>16}{4:>10}\n'.format(s,x,y,z,c))
f.close()
In this work [0], we have applied the DFT-based delta Kohn–Sham (ΔKS) method to ion pairs in a vacuum to obtain X-ray photoelectron spectra of corresponding ionic liquids (IL). On the example of forty ion pairs, we demonstrate how the core level binding energy (BE) values can be calculated and used to plot theoretical spectra at a low computational cost. Furthermore, we compare the ΔKS results, 1s Kohn–Sham orbital energies, and atomic charges against the experimental X-ray photoelectron data. Recently, in connection to the electrochemical application in the supercapacitors, we have measured spectra for EMImBF4 and EMImB(CN)4 ionic liquids at the carbon–IL interface [1–3]. Other experimental spectra were obtained from the literature [4,5]. Both the ΔKS BE values and the 1s Kohn–Sham orbital energies show a correlation, yet with a different order of the BEs assigned to specific atoms. We find that neither DDEC6 nor Bader charges correlate with the experimental data. Thus, the DFT calculations of 1s Kohn–Sham orbital energies provide the fastest way of predicting the XPS spectra. However, more detailed experimental studies are required to resolve the right order of the BE values and its relation to the atomistic structure of the ILs. The ΔKS calculations provide the most precise estimations of the BEs. Herewith, they also demand more resources and cause computational difficulties discussed in the presentation. Besides the prediction power, a robust computational method can help in intepretating experimental data when the appropriate reference values are either not available nor directly applicable. Thus, the ΔKS method can find its application in various fields of physics and chemistry where the XPS is used for resolving electronic and geometric structures of pure ILs, their mixtures, and at interfaces.
In this work, we have applied the DFT-based delta Kohn–Sham (ΔKS) method to ion pairs in a vacuum to obtain X-ray photoelectron spectra of corresponding ionic liquids (IL). On the example of forty ion pairs, we demonstrate how the core level binding energy (BE) values can be calculated and used to plot theoretical spectra at a low computational cost. Furthermore, we compare the ΔKS results, 1s Kohn–Sham orbital energies, and atomic charges against the experimental X-ray photoelectron data. Recently, in connection to the electrochemical application in the supercapacitors, we have measured spectra for EMImBF4 and EMImB(CN)4 ionic liquids at the carbon–IL interface [1–3]. Other experimental spectra were obtained from the literature [4,5]. Both the ΔKS BE values and the 1s Kohn–Sham orbital energies show a correlation, yet with a different order of the BEs assigned to specific atoms. We find that neither DDEC6 nor Bader charges correlate with the experimental data. Thus, the DFT calculations of 1s Kohn–Sham orbital energies provide the fastest way of predicting the XPS spectra. However, more detailed experimental studies are required to resolve the right order of the BE values and its relation to the atomistic structure of the ILs. The ΔKS calculations provide the most precise estimations of the BEs. Herewith, they also demand more resources and cause computational difficulties discussed in the presentation. Besides the prediction power, a robust computational method can help in intepretating experimental data when the appropriate reference values are either not available nor directly applicable. Thus, the ΔKS method can find its application in various fields of physics and chemistry where the XPS is used for resolving electronic and geometric structures of pure ILs, their mixtures, and at interfaces.
[0] M. Lembinen, E. Nõmmiste, H. Ers, B. Docampo‐Álvarez, J. Kruusma, E. Lust, V.B. Ivaništšev, Calculation of core‐level electron spectra of ionic liquids, Int. J. Quantum Chem. 120 (2020). https://doi.org/10.1002/qua.26247.
[1] J. Kruusma, A. Tõnisoo, R. Pärna, E. Nõmmiste, I. Tallo, T. Romann, E. Lust, Electrochimica Acta 206 (2016) 419–426.
[2] J. Kruusma, A. Tõnisoo, R. Pärna, E. Nõmmiste, I. Kuusik, M. Vahtrus, I. Tallo, T. Romann, E. Lust, J. Electrochem. Soc. 164 (2017) A3393–A3402.
[3] A. Tõnisoo, J. Kruusma, R. Pärna, A. Kikas, M. Hirsimäki, E. Nõmmiste, E. Lust, J. Electrochem. Soc. 160 (2013) A1084–A1093.
[4] A. Foelske-Schmitz, D. Weingarth, R. Kötz, Surf. Sci. 605 (2011) 1979–1985.
[5] I.J. Villar-Garcia, E.F. Smith, A.W. Taylor, F. Qiu, K.R.J. Lovelock, R.G. Jones, P. Licence, Phys. Chem. Chem. Phys. 13 (2011) 2797–2808.
!/bin/bash
for i in fonts-kacst fonts-kacst-one fonts-khmeros-core fonts-lklug-sinhala fonts-guru fonts-nanum fonts-noto-cjk fonts-takao-pgothic fonts-tibetan-machine fonts-guru-extra fonts-lao fonts-sil-padauk fonts-sil-abyssinica fonts-tlwg-* fonts-lohit-* fonts-beng fonts-beng-extra fonts-gargi fonts-gubbi fonts-gujr fonts-gujr-extra fonts-kalapi fonts-lohit-gujr fonts-samyak-* fonts-noto-unhinted fonts-noto-hinted fonts-navilu fonts-nakula fonts-orya-extra fonts-pagul fonts-sahadeva fonts-sarai fonts-smc fonts-telu-extra fonts-wqy-microhei; do
sudo apt purge -y $i
echo
done
echo “==== Fixing font cache”
sudo fc-cache -f -v && sudo dpkg-reconfigure fontconfig
echo “==== Packages remained (each containing multiple fonts)”
dpkg -l fonts*|grep ^ii|awk ‘{print $2}’
echo
read -p “Press any key to close.”


Here is a quick and dirty instruction for installation of the metalwalls code.
Download the source code using https protocol:
git clone https://gitlab.maisondelasimulation.fr/amarinla/mw2.git
You will be prompted for your username and password.
Preinstall gfortran and openmpi. Then copy compile.something.mk from the computer directory to the mw2 folder as compile.mk. Add a line “FPPFLAGS := -DMW_USE_MPI”. Comment the path to the pFUnit package.
Execute make.
Go to tests directory and execute tests:
python regression_tests.py -s nist
python regression_tests.py -s nacl
python regression_tests.py -s lammps
Simple demonstration of a molecular dynamics simulation of 408 BMPyrDCA ionic pairs between two graphene walls.
Inputs (packmol.inp, STEEP.mdp, RUN.mdp, topol.top) and force field parameters: github.com/vilab-tartu/LOKT.02.048/tree/master/MD_Gr-BMPyrDCA_pbc. The force fields are taken from github: github.com/vladislavivanistsev/RTIL-FF. References are given within the files.
Continue reading “MD simulation of BMPyrDCA between graphene walls”
Simple demonstration of a molecular dynamics simulation of 25 BMPyrDCA ionic pairs in a box.
Inputs (packmol.inp, STEEP.mdp, RUN.mdp, topol.top) and force field parameters: github.com/vilab-tartu/LOKT.02.048/tree/master/MD_BMPyrDCA_box. The force fields are taken from github: github.com/vladislavivanistsev/RTIL-FF. References are given within the files.
Continue reading “MD simulation of bulk BMPyrDCA ionic liquid”
Jasper Adamson visited Tartu. As always, it was a pleasure to meet him. Here he is holding an actuator.

Gromacs topology files for common RTIL ions are available at https://github.com/olunet/RTIL-FF. Most of them were written in 2012–2013 by Isabel Lage-Estebanez and Vladislav Ivaništšev, and tested in MD simulations of ionic liquid bulk. Some, like FEP-anion and B(CN)4-anion, were added recently and are not well tested. You are welcome to try and give the feedback at GitHub.