Skip to main content

An async wrapper for ASE

Project description

ASE-Grain

Docs PyPI version

An async wrapper for ASE, adapting the calculators into Grain-compatible jobs.

Supported calculators

  • Gaussian
  • Psi4
  • ORCA
  • Quantum Espresso

Quickstart

pip install ase-grain

Want to try out the tasklets without running a Grain mission? Easy:

from ase_grain import gautask, psi4task

from grain.subproc import subprocess_pool_scope
from grain import GVAR
from grain.resource import Node

import trio

async def main():
    async with subprocess_pool_scope(): # only needed for Psi4
        GVAR.res = Node(N=[0,1,2,3],M=1) # 4 processors, 1 GB memory
        e, f = await psi4task("test", "b3lyp/6-31++g(d,p)", 
        #e, f = await gautask("test", "b3lyp/6-31++g(d,p)",
            (0, 1),
            [[-4.546300, 0.811495, -1.302550],
             [-3.783370, 1.116810, -1.871810],
             [-3.418490, 0.344640, -2.321040]],
            [1, 8, 1], # a water molecule
        )
        print(e)
        print(f)

trio.run(main)

This also demonstrates that you can use ASE-Grain outside a Grain scheduler, more specifically, in any Trio-based async environment with Grain's context variables (GVAR).

Project details


Download files

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

Source Distribution

ase-grain-0.1.4.tar.gz (9.4 kB view hashes)

Uploaded Source

Built Distribution

ase_grain-0.1.4-py3-none-any.whl (10.2 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page