Skip to content

pyscf/pyscfcli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pyscfcli

PySCF cli tools

Specs

  • Purpose:

    1. Provide a simple template input, that defines a unique quantum chemistry calculation. The input allows to trigger a calculation completely from cli.
    2. A straight-forward input config make users know how to run pyscf calculation, without knowing the underlying program language or modules.
    3. The pyscf cli works like a compiler, that can generate a Python script.
    4. Make the input/output a standard config format which can be parsed by other programs or tools.
    5. Not necessary to cover all functionalities of pyscf.
    6. A very basic rule for the cli entry: it cannot be more complicated than writing a python script.
  • Yaml, Json, Toml (QCSchema in the future) format as input and output

  • Input sample

version: v1
Mole:  # or Cell
  verbose: 4
  atom: |
    H 0 0 0
    H 0 0 1
  basis:
    name-string-or-anything-supported-by-basis-input
HF:  # or any method keywords, like, KS, CCSD, MP2, CASSCF(x,x), DFT ..
  conv_tol: 1e-9
  level_shift: 0.2
  max_cycle: 12
  xc:
    b3lyp
  grids:
    level: 3
  density_fit:
    auxbasis: weigend
  newton:
    micro: 2
  x2c:
    atom
  results: # a list of attributes in results, if key-value are provided, the
           # key will be used as function name, values are used as arguments
           # (or kwargs)
    - mo_energy
    - e_tot
Solvent:  # or the name of Solvent-model (ddCOSMO, ddPCM), default is ddCOSMO
  eps: 1.8
CCSD:  # or any post-HF method names
  results:
    - e_tot
    - e_corr
Gradients:  # or other property names
  unit: au
Geomopt:
  • cli arguments
  -o         Output format (yaml, json, toml, QCSchema)
  -k         Keys to substitute in config template if input file is a template
  --dry-run  Only generate the pyscf script. Do not run the code
$ pyscfcli -k key=val input.yaml

Releases

No releases published

Packages

No packages published

Languages