Source code for nanoqm.workflows.workflow_single_points

"""Workflow to perform single point calculation in a trajectory.

Index
-----
.. currentmodule:: nanoqm.workflows.workflow_single_points
.. autosummary::
    workflow_single_points

"""

from __future__ import annotations

from typing import TYPE_CHECKING

from qmflows import run

from .. import logger
from ..schedule.components import calculate_mos
from .initialization import initialize

if TYPE_CHECKING:
    from .. import _data

__all__ = ['workflow_single_points']


[docs] def workflow_single_points( config: _data.SinglePoints, ) -> tuple[list[tuple[str, str, str]], list[str]]: """Perform single point calculations for a given trajectory. Parameters ---------- config Input to run the workflow. Returns ------- List with the node path to the molecular orbitals in the HDF5. """ # Dictionary containing the general configuration initialize(config) logger.info("starting!") # compute the molecular orbitals # Unpack mo_paths_hdf5 = calculate_mos(config) # Pack return tuple(run(mo_paths_hdf5, folder=config.workdir))