NanoLanguage

Atomistix ToolKit(ATK) 2.1からNanoLanguageが導入され、ATKのインターフェイスが一新されました。これにより、ユーザー自身によってATKの機能拡張や新機能追加を行うことが可能になり、柔軟性の高い操作環境が実現されました。以下では、NanoLanguageの概要、及びNanoLanguage導入によって得られる利点を説明いたします。

NanoLanguageとは?

  • オブジェクト指向のスクリプト・インターフェイスであるPythonにATKの科学計算アルゴリズムを組み合わせた、新しい科学計算手法です。
  • ナノスケールにおける物性の計算手法の拡張や個々のケースに合わせた適切なスクリプトを作成することができます。またATKとサードパーティ製品などの他の計算手法との連携を効率よく行うことを目的に開発されました。

NanoLanguageの概念図を以下に示します。


図1 NanoLanguage概念図

NanoLanguageはATKの内部コードとユーザー自身が作成したスクリプトの連携を効率よく行うための言語です。また、Third Party製品などとの連携や、Numpy(数値演算ライブラリ)などのモジュールとの連携を取ることがでます。これにより、様々な計算を効率よく簡便に行うことができます。

NanoLanguageを利用する利点

ユーザーの視点から

  • ATKの機能拡張や新機能追加を独自のニーズに合わせて自由に行えます。
  • ATKとC・C++・Fortranなどで開発されたコードの連結が可能です。

開発者の視点から

  • 透明性の高いプログラムを提供できます。
  • 新しい機能の設計をより早く、柔軟性をもって行うことが出来ます。

NanoLanguageの具体的な利用例

1つのスクリプトで下記のような計算を効率よく実行することができます。

  • 計算の精度を決定する重要なパラメータである、mesh cutoff や基底関数を自動的に変化させて、計算結果の収束性を調査することができます。
  • 構造内の結合距離(例えばカーボンナノチューブのC-C結合距離)や、興味のある結晶構造の格子定数を変化させながら、システマティックに系の特性を調査することが簡便にできます。

計算のフローを制御することができます。

  • 計算コストが高い構造最適化計算を精度の低い計算手法で行って最適化構造を得た後、高精度の計算手法で電気伝導特性計算を行うといったような、複数の計算のフロー制御を1つのスクリプトで行うことができます。

計算の出力の制御をすることができます。

  • ユーザーは指定した任意のフォーマットで計算結果の出力を得ることができます。これにより、複数の計算を実行し、その計算結果を整理した形で得ることができます。また出力形式をWord形式やExcel形式にすることもPythonが難なくこなします。
  • gnuplot、matplotlibなどグラフ作成を行うための出力を簡便に得ることができます。これによりユーザーはATKの計算結果を簡単に可視化することができます。

共有財産としてのNanoLanguage

QuantumWise社は、オンライン上でユーザーフォーラムを設けています。
ユーザーフォーラムでは、QuantumWise社が作成したサンプルNanoLanguageスクリプトをダウンロードしたり、またユーザー様ご自身が構築されたNanoLanguageスクリプトを公開して、ユーザー間でのスクリプト交換を行うことが可能です。

QuantumWise Forum (http://www.quantumwise.com/forum/)

注意事項
ユーザーフォーラムで提供されているNanoLanguageスクリプトを使用する際には、ユーザーフォーラム用のユーザー登録が必要となります。
関連ページ

お問い合わせ

Copyright © 2011 QuantumWise Japan KK All rights reserved.