NanoLanguage
From Wikipedia, the free encyclopedia
NanoLanguage is a new way of thinking scientific computing, combining the strength of flexible object-oriented scripting interfaces (known from Mathematica and MatLab) with sophisticated high performance scientific computing algorithms. The goal is to enable scientists to efficiently extend, specialize and combine methods to calculate nanoscale properties of matter, including density functional theory, semi-empirical tight-binding, classical potentials, k.p and various quantum-chemical methods.
NanoLanguage allows for both low and high level detailed control of the computer simulations performed in the Atomistix ToolKit. At the high level, it offers a common interface for setting up complex atomic-scale simulations and analyzing the results. On the lower level side, it provides an interface to the low-level functionality in ATK.
NanoLanguage is built on top of Python, a powerful and well-established interpreted programming language, and thus it includes basic elements such as loops over simulation control parameters, plus support for efficient manipulations of e.g. numerical array data. It is therefore an ideal tool for automating series of simulations where geometric, material, or other parameters are to be optimized.
Using NanoLanguage allows scientists to express models of nature in a common language without the need to re-implement already implemented algorithms, and it allows for third-party development of new functionality on top of the ATK platform. Such functionality may consist of new atomic-scale modeling methodologies, tailored semi-empirical methods, or complex post-processing methods for calculating new quantities from the fundamental simulation results.
[edit] References
- Atomistix unveils open software platform for nanotech modeling, SmallTimes, 2006 [1]
- As NanoLanguage is a programming interface for Atomistix ToolKit, see Atomistix ToolKit for additional references.