About Summer at Q-Chem 2021

img63

Q-Chem is announcing its 5th "Summer at Q-Chem," planned for Summer 2021. Click here for testimonials about previous years. Past summers have led to:

Unlike past years, 2021 will be completely virtual.

 Summer research topics promoted by Q-Chem

1. Modular, language-agnostic APIs for Q-Chem

The field of quantum chemistry is moving towards integrating implementations of both fundamental and novel methods directly into workflows, which is most commonly Python.  Many developers and end-users have expressed an interest in driving both the high- and low-level components of Q-Chem from Python; we envision something like 


import qchem

molecule = qchem.Molecule("gfp.xyz")
model = qchem.Model(
  {
    "hamiltonian": {"nn", "core", "jk", "xc"},
    "basis": "def2-tzvpp",
    "functional": "b97m-v",
    "reference": "rohf",
  }
)

scf = qchem.SCF()
scf.run(molecule, model)
print(scf.result)

However, there are many other interesting programming languages with features not available in Python, such as Julia and Rust.  Rather than directly creating a binding only usable by Python, we propose creating a pure C wrapper for Q-Chem components, allowing developers to interact with Q-Chem using any programming language that has a C-based foreign function interface (FFI).  The most desirable initial components for wrapping need to be identified, the C API needs to be designed and implemented, and an API for some interpreted language with FFI needs to be designed and implemented.  The candidate should be comfortable with C++, preferably C, and a higher-level language such as Python or Julia, as well as be interested in API design and language interoperability.

2. Molecular integrals for spectroscopic properties

While core algorithms in electronic structure only require a handful of different molecular integral types, spectroscopic properties require a plethora of unusual operators and their derivatives to be evaluated at the molecular integral level, some of which only exist in one or two other packages.  In order to extend Q-Chem's molecular property capabilities, we are interested in implementing a variety of these integrals as part of our new integral engine.  Examples of molecular integrals and the properties that require them can be found in the DALTON manual.  If time permits, the implemented integrals would be used in adding a new response or transition property to Q-Chem.  The candidate should be comfortable with C++ and be interested in molecular integral evaluation and/or spectroscopic properties.

Read more about the Summer at Q-Chem program, testimonials and how to apply.