Atomic Simulation Environment - a Python library Modern Tools for Spectroscopy on Advanced Materials Louvain-la-Neuve, September 15-17, 2014 Jens Jørgen Mortensen Department of Physics Technical University of Denmark Overview of ASE The Python language The Atoms object Building stuff (molecules, surfaces, ...) Doing stuff with atoms (MD, optimization, ...) Databases Installing ASE Development of ASE
21
Embed
Atomic Simulation Environment - a Python library · Atomic Simulation Environment - a Python library Modern Tools for Spectroscopy on Advanced Materials Louvain-la-Neuve, September
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Atomic Simulation Environment - a Python library
Modern Tools for Spectroscopy on Advanced MaterialsLouvain-la-Neuve, September 15-17, 2014
Jens Jørgen MortensenDepartment of PhysicsTechnical University of Denmark
>>> from ase import Atoms>>> from ase.optimize import BFGS>>> from ase.calculators.nwchem import NWChem>>> from ase.io import write>>> h2 = Atoms(’H2’,
Atoms object (positions, atomic numbers, ...)ID, user-name, creation and modified timeConstraintsCalculator name and parametersEnergy, Forces, Stress tensor, dipole moment,magnetic moments
Folksonomy:
Key-value pairsKeywords
Additional stuff:
extra data (band structure, ...)
Back-ends: JSON, SQLite3 and PostgreSQL.
Dye sensitized solar cells
3.0 3.5 4.0 4.5 5.0Egap (eV)
7
6
5
4
3
2
1
Ener
gy (e
V)
1Kristian B. Ørnsø, Christian S. Pedersen, Juan M. Garca-Lastra and Kristian S.Thygesen Optimizing porphyrins for dye sensitized solar cells using large-scale abinitio calculations Phys. Chem. Chem. Phys., 2014, 16, 16246-16254
A figure from Ørnsø et al. (almost)
import matplotlib.pyplot as pltimport ase.dbcon = ase.db.connect(’dssc.db’)for M in [’Zn’, ’TiO’, ’H2’]:
gap = []homo = []lumo = []for dct in con.select(metal=M,
Andrew Peterson, Anthony Goodrow, Ask Hjorth Larsen, CarstenRostgaard, Christian Glinsvad, David Landis, Elvar Örn Jónsson, EricHermes, Felix Hanke, Gaël Donval, George Tritsaris, Glen Jenness,Heine Anton Hansen, Ivano Eligio Castelli, Jakob Blomquist, JakobSchiøtz, Janne Blomqvist, Janosch Michael Rauba, Jens JørgenMortensen, Jesper Friis, Jesper Kleis, Jess Wellendorff Pedersen,Jingzhe Chen, John Kitchin, Jon Bergmann Maronsson, Jonas Bjork,Jussi Enkovaara, Karsten Wedel Jacobsen, Kristen Kaasbjerg, KristianBaruel Ørnsø, Lars Grabow, Lars Pastewka, Lasse Vilhelmsen, MarcinDulak, Marco Vanin, Markus Kaukonen, Mattias Slabanja, MichaelWalter, Mikkel Strange, Poul Georg Moses, Rolf Würdemann, SteenLysgaard, Stephan Schenk, Tao Jiang, Thomas Olsen, TristanMaxson, Troels Kofoed Jacobsen, ...
Extra material
How to use sys.argv, other ASE functions, for-loops and stringinterpolation:
import sysfrom ase.lattice.surface import fcc111from gpaw import GPAW, PWa = float(sys.argv[1])k = int(sys.argv[2])for n in range(1, 5):