To use all functions of this page, please activate cookies in your browser.
my.chemeurope.com
With an accout for my.chemeurope.com you can always see everything at a glance – and you can configure your own website and individual newsletter.
- My watch list
- My saved searches
- My saved topics
- My newsletter
NanoLanguageNanoLanguage is a scripting interface built on top of the interpreted programming language Python, and is primarily intended for simulation of physical and chemical properties of nanoscale systems.
Additional recommended knowledge
IntroductionOver the years, several electronic-structure codes based on density functional theory have been developed by different groups of academic researchers; VASP, Abinit, SIESTA, and Gaussian are just a few examples. The input to these programs is usually a simple text file written in a code-specific format with a set of code-specific keywords. [1] [2] [3] NanoLanguage was introduced by Atomistix A/S as an interface to Atomistix ToolKit (version 2.1) in order to provide a more flexible input format. A NanoLanguage script (or input file) is just a Python program and can be anything from a few lines to a script performing complex numerical simulations, communicating with other scripts and files, and communicating with other software (e.g. plotting programs). NanoLanguage is not a proprietary product of Atomistix and can be used as an interface to other density functional theory codes as well as to codes utilizing e.g. tight-binding, k.p, or quantum-chemical methods. [4] [5] FeaturesBuilt on top of Python, NanoLanguage includes the same functionality as Python and with the same syntax. Hence, NanoLanguage contains, among other features, common programming elements (for loops, if statements, etc), mathematical functions, and data arrays. In addition, a number of concepts and objects relevant to quantum chemistry and physics are built into NanoLanguage, e.g. a periodic table, a unit system (including both SI units and atomic units like Ångström), constructors of atomic geometries, and different functions for density-functional theory and transport calculations. [6]
ExampleThis NanoLanguage script uses the Kohn-Sham method to calculate the total energy of a water molecule as a function of the bending angle.
def waterConfiguration(angle,bondLength): from math import sin,cos theta = angle.inUnitsOf(radians) positions = [(0.0, 0.0, 0.0)*Angstrom, (1.0, 0.0, 0.0)*bondLength, (cos(theta), sin(theta), 0.0)*bondLength] elements = [Oxygen] + [Hydrogen]*2 return MoleculeConfiguration(elements,positions)
method = KohnShamMethod()
for i in range(30,181,10): theta = i*degrees h2o = waterConfiguration(theta, 0.958*Angstrom) scf = method.apply( h2o ) print 'Angle = ', theta, ' Total Energy = ',calculateTotalEnergy(scf)
References
Categories: Nanotechnology | Computational chemistry software |
|
This article is licensed under the GNU Free Documentation License. It uses material from the Wikipedia article "NanoLanguage". A list of authors is available in Wikipedia. |