Skip to main content

[!IMPORTANT] gpaw-tools has evolved and is now called Nanoworks! The gpaw-tools project began as a script that utilized only ASE and GPAW. Over the course of four years, it evolved into a comprehensive suite leveraging multiple libraries, including ASAP3, Phonopy, Elastic, OpenKIM, and now modern Machine Learning Potentials (MACE, CHGNet, SevenNet).

Nanoworks

License: MIT Issues: Pull requests: Latest version: Release date: Commits: Last Commit:

Introduction

Nanoworks is a unified, high-level Python interface for conducting Density Functional Theory (DFT), Molecular Dynamics (MD), and Machine Learning (ML) potential calculations.

It acts as a wrapper and orchestrator for several powerful scientific libraries, making advanced materials simulation accessible through simple command-line tools.

Core Capabilities:

  1. DFT (via GPAW & ASE): The dftsolve tool runs PW or LCAO mode calculations. It handles structure optimization, equations of state, elastic tensors, spin-polarized DOS/Band structure, electron densities, phonon calculations, and optical properties (RPA/BSE).
  2. MD (via ASAP3 & OpenKIM): The mdsolve tool provides quick geometric optimization and molecular dynamics using interatomic potentials from OpenKIM.
  3. ML Potentials (New!): The mlsolve tool enables geometry optimization and static calculations using state-of-the-art Machine Learning Force Fields (MLFF), including MACE, CHGNet, and SevenNet.

Installation

Quick Installation

For Debian/Ubuntu systems, run the automated installation script:

curl -fsSL https://raw.githubusercontent.com/sblisesivdin/nanoworks/refs/heads/main/install_scripts/install-all-Debian-based.sh | bash

Detailed Installation

Prefer a proper and controlled setup? Nanoworks is a Python package. You can install it with pip. However, because you need many other system and Python libraries installed, it is better to refer to the Nanoworks Installation webpage for more detailed installation and usage instructions.

Tools & Usage

After installation, the following commands will be available in your terminal:

1. dftsolve (formerly gpawsolve.py)

The main driver for DFT calculations using GPAW. Uses many cores with -p argument.

Usage:

dftsolve -p <cores> -g <geometry.cif> -i <input.py> 

Usage in auto mode:

dftsolve -p <cores> -g <geometry.cif> -a 

Arguments:

  • -g, --geometry: Path to the geometry file (CIF format).
  • -i, --input: Path to the Python input file defining calculation parameters.
  • -e, --energy: (Optional) Measure energy consumption (Intel CPUs only).
  • -v, --version: Version information.
  • -p, --parallel: Number of cores to run in parallel.
  • -a, --auto: Auto mode. Automatically generate input parameters based on geometry.

2. mdsolve (formerly asapsolve.py)

Perform quick geometric optimizations or MD runs using classical potentials via ASAP3 and OpenKIM.

Usage:

mdsolve -g <geometry.cif> -i <input.py>

Arguments:

  • -g, --geometry: Path to the geometry file.
  • -i, --input: Path to the input file overriding default parameters (e.g., potential selection).

3. mlsolve (New!)

Run geometry optimizations or static calculations using Machine Learning Force Fields.

Usage:

mlsolve -g <geometry.cif> -i <input.py>

Arguments:

  • -g, --geometry: Input geometry file (cif, xyz, POSCAR, etc.).
  • -i, --input: Path to the Python input file defining calculation parameters.

Example:

# Optimize a structure using MACE (with parameters in ml_input.py)
mlsolve -g structure.cif -i ml_input.py

Supported Models: mace, chgnet, sevennet.

4. nanoworks

A helper CLI to locate package resources like examples and optimization scripts. For now, it is only showing helpful information. In the future, it will be equipped with more

$ nanoworks
usage: nanoworks [-h] [-v] [--install-examples]

Nanoworks CLI tool

options:
  -h, --help          show this help message and exit
  -v, --version       Show version and detailed library information
  --install-examples  Copy example files to ~/.nanoworks/Examples

5. qeconverter and vaspconverter

Command for creating nanoworks input and geometry files from QE and/or VASP files.

$ qeconverter --input si.scf.in --output-dir example_folder --system-name SiliconQE
$ vaspconverter --poscar POSCAR --incar INCAR --kpoints KPOINTS --output-dir example_folder --system-name Silicon

Helper Scripts

Nanoworks includes several optimization scripts (found via the nanoworks command) to help converge DFT parameters:

  • optimize_cutoff.py
  • optimize_kpoints.py
  • optimize_kptsdensity.py
  • optimize_latticeparam.py

Examples

The package includes an examples/ directory covering various scenarios. You can find the location of these examples by running the nanoworks command.

Citing

Please do not forget that Nanoworks is a wrapper/orchestrator software. For the main DFT calculations, it uses ASE and GPAW. It also uses the Elastic Python package for elastic tensor solutions and ASAP with the KIM database for interatomic interaction calculations and Phonopy for the phonon calculations. Therefore, you must know what you use and cite them properly. Here, the basic citation information of each package is given.

ASE

GPAW

KIM

Elastic

Phonopy

MACE

CHGNet

SevenNet

And for Nanoworks usage, please use the following citation:

Many other packages need to be cited. With GPAW, you may need to cite LibXC or cite for LCAO, TDDFT, and linear-response calculations. Please visit their pages for many other citation possibilities. For more you can visit https://wiki.fysik.dtu.dk/ase/faq.html#how-should-i-cite-ase, https://wiki.fysik.dtu.dk/gpaw/faq.html#citation-how-should-i-cite-gpaw, and https://openkim.org/how-to-cite/.

Licensing

This project is licensed under the terms of the MIT license.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nanoworks-26.8.0.tar.gz (83.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nanoworks-26.8.0-py3-none-any.whl (114.9 kB view details)

Uploaded Python 3

File details

Details for the file nanoworks-26.8.0.tar.gz.

File metadata

  • Download URL: nanoworks-26.8.0.tar.gz
  • Upload date:
  • Size: 83.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.3

File hashes

Hashes for nanoworks-26.8.0.tar.gz
Algorithm Hash digest
SHA256 1ab7fe682c85554fb0f791090f949c4e50f2b8f6e3f81a5a7ad4f4d3c4eef044
MD5 35c865856c9dd229f1124347351d6b60
BLAKE2b-256 3c7a3f89b312449f27a252455ed755a46e4bbc6ddb1e74a7112c48876af41c65

See more details on using hashes here.

File details

Details for the file nanoworks-26.8.0-py3-none-any.whl.

File metadata

  • Download URL: nanoworks-26.8.0-py3-none-any.whl
  • Upload date:
  • Size: 114.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.3

File hashes

Hashes for nanoworks-26.8.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a512103dab39700d4b0dc996e317efeb13a5b0a13ea81f425c0f88dc70569c6d
MD5 24f00ce10bad7ceef93b286c79f23431
BLAKE2b-256 cbf28ad1964952f14b3da1add426012f50bdf01631df5d15157bd019a317459d

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

26.8.0 This release

2 files

26.3.1

2 files

26.2.0

2 files

0.0.1

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page