Program structure

import veloxchem as vlx
* Warning * Environment variable OMP_NUM_THREADS not set.
* Warning * Setting OMP_NUM_THREADS to 8.

The VeloxChem program adopts a layered Python/C++ language structure.

veloxchem-structure

You can use the standard functions to get a more detailed view of the Python layer. The help function will give you a package description, stating the copyright agreement.

help(vlx)
Help on package veloxchem:

NAME
    veloxchem

DESCRIPTION
    #                           VELOXCHEM 1.0-RC2
    #         ----------------------------------------------------
    #                     An Electronic Structure Code
    #
    #  Copyright © 2018-2021 by VeloxChem developers. All rights reserved.
    #  Contact: https://veloxchem.org/contact
    #
    #  SPDX-License-Identifier: LGPL-3.0-or-later
    #
    #  This file is part of VeloxChem.
    #
    #  VeloxChem is free software: you can redistribute it and/or modify it under
    #  the terms of the GNU Lesser General Public License as published by the Free
    #  Software Foundation, either version 3 of the License, or (at your option)
    #  any later version.
    #
    #  VeloxChem is distributed in the hope that it will be useful, but WITHOUT
    #  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
    #  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
    #  License for more details.
    #
    #  You should have received a copy of the GNU Lesser General Public License
    #  along with VeloxChem. If not, see <https://www.gnu.org/licenses/>.

PACKAGE CONTENTS
    __main__
    aodensitymatrix
    aofockmatrix
    batchsize
    blockdavidson
    c2diis
    c6solver
    checkpoint
    cli
    cppsolver
    cubicgrid
    denguess
    distributedarray
    environ
    errorhandler
    excitondriver
    gradientdriver
    inputparser
    linearsolver
    loprop
    lreigensolver
    lrsolver
    main
    mointsdriver
    molecularbasis
    molecularorbitals
    molecule
    mp2driver
    mpitask
    optimizationdriver
    optimizationengine
    outputstream
    polembed
    profiler
    pulsedrsp
    qqscheme
    respchargesdriver
    rspabsorption
    rspc6
    rspcdspec
    rspcustomproperty
    rspdriver
    rsplinabscross
    rsppolarizability
    rspproperty
    rsptpa
    scfdriver
    scffirstorderprop
    scfgradientdriver
    scfrestdriver
    scfrestopendriver
    scfunrestdriver
    signalhandler
    slurminfo
    subcommunicators
    tdaexcidriver
    tpadriver
    tpafulldriver
    tpareddriver
    trajectorydriver
    veloxchemlib
    visualizationdriver
    xtbdriver
    xtbgradientdriver

FUNCTIONS
    ao_matrix_to_dalton(...) method of builtins.PyCapsule instance
        ao_matrix_to_dalton(matrix: CDenseMatrix, basis: veloxchem.veloxchemlib.MolecularBasis, molecule: veloxchem.veloxchemlib.Molecule) -> CDenseMatrix
        
        Transforms AO matrix from VeloxChem to Dalton format.
    
    ao_matrix_to_veloxchem(...) method of builtins.PyCapsule instance
        ao_matrix_to_veloxchem(matrix: CDenseMatrix, basis: veloxchem.veloxchemlib.MolecularBasis, molecule: veloxchem.veloxchemlib.Molecule) -> CDenseMatrix
        
        Transforms AO matrix from Dalton to VeloxChem format.
    
    bohr_in_angstroms(...) method of builtins.PyCapsule instance
        bohr_in_angstroms() -> float
        
        Gets Bohr value in Angstroms.
    
    get_basis_function_indices_for_atom(...) method of builtins.PyCapsule instance
        get_basis_function_indices_for_atom(molecule: veloxchem.veloxchemlib.Molecule, basis: veloxchem.veloxchemlib.MolecularBasis, atomIdx: int) -> List[List[int]]
        
        Gets basis function indices for an atom.
    
    hartree_in_ev(...) method of builtins.PyCapsule instance
        hartree_in_ev() -> float
        
        Gets Hartree value in electronvolts.
    
    hartree_in_kcalpermol(...) method of builtins.PyCapsule instance
        hartree_in_kcalpermol() -> float
        
        Gets Hartree value in kcal/mol.
    
    mathconst_pi(...) method of builtins.PyCapsule instance
        mathconst_pi() -> float
        
        Gets value of PI constant.
    
    mpi_initialized(...) method of builtins.PyCapsule instance
        mpi_initialized() -> bool
        
        Check if MPI has been initialized.
    
    mpi_master(...) method of builtins.PyCapsule instance
        mpi_master() -> int
        
        Gets default rank of master MPI process.

DATA
    __deployed__ = {'author': 'Roberto Di Remigio', 'commit': '6bb6f2d1613...

VERSION
    1.0rc2

FILE
    /opt/miniconda3/envs/echem/lib/python3.7/site-packages/veloxchem/__init__.py

Classes

The functionality of VeloxChem is built into the classes it implements. An overview of the available classes is provided with the dir function.

dir(vlx)
['AODensityMatrix',
 'AOFockMatrix',
 'Absorption',
 'AtomBasis',
 'BasisFunction',
 'BlockDavidsonSolver',
 'C6',
 'C6Solver',
 'CircularDichroismSpectrum',
 'ComplexResponse',
 'CubicGrid',
 'CustomProperty',
 'DenseMatrix',
 'DispersionModel',
 'ElectricDipoleIntegralsDriver',
 'ElectronRepulsionIntegralsDriver',
 'ExcitationVector',
 'ExcitonModelDriver',
 'InputParser',
 'KineticEnergyIntegralsDriver',
 'LinearAbsorptionCrossSection',
 'LinearResponseEigenSolver',
 'LinearResponseSolver',
 'LoPropDriver',
 'MOIntegralsDriver',
 'MOIntsBatch',
 'MolecularBasis',
 'MolecularOrbitals',
 'Molecule',
 'Mp2Driver',
 'MpiTask',
 'NuclearPotentialIntegralsDriver',
 'OptimizationDriver',
 'OutputStream',
 'OverlapIntegralsDriver',
 'Polarizability',
 'ResponseDriver',
 'ResponseProperty',
 'SADGuessDriver',
 'ScfFirstOrderProperties',
 'ScfGradientDriver',
 'ScfRestrictedDriver',
 'ScfUnrestrictedDriver',
 'SubCommunicators',
 'TDAExciDriver',
 'TwoIndexes',
 'VisualizationDriver',
 'XTBDriver',
 'XTBGradientDriver',
 '__builtins__',
 '__cached__',
 '__deployed__',
 '__doc__',
 '__file__',
 '__loader__',
 '__name__',
 '__package__',
 '__path__',
 '__spec__',
 '__version__',
 'ao_matrix_to_dalton',
 'ao_matrix_to_veloxchem',
 'aodensitymatrix',
 'aofockmatrix',
 'assert_msg_critical',
 'batchsize',
 'blockdavidson',
 'bohr_in_angstroms',
 'c2diis',
 'c6solver',
 'checkpoint',
 'cppsolver',
 'cubicgrid',
 'denguess',
 'denmat',
 'distributedarray',
 'environ',
 'ericut',
 'errorhandler',
 'excitondriver',
 'fockmat',
 'get_basis_function_indices_for_atom',
 'get_basis_path',
 'get_qq_scheme',
 'get_qq_type',
 'gradientdriver',
 'hartree_in_ev',
 'hartree_in_kcalpermol',
 'inputparser',
 'linearsolver',
 'loprop',
 'lreigensolver',
 'lrsolver',
 'mathconst_pi',
 'moints',
 'mointsdriver',
 'molecularbasis',
 'molecularorbitals',
 'molecule',
 'molorb',
 'mp2driver',
 'mpi_initialized',
 'mpi_master',
 'mpitask',
 'optimizationdriver',
 'optimizationengine',
 'outputstream',
 'profiler',
 'qqscheme',
 'rspabsorption',
 'rspc6',
 'rspcdspec',
 'rspcustomproperty',
 'rspdriver',
 'rsplinabscross',
 'rsppolarizability',
 'rspproperty',
 'scfdriver',
 'scffirstorderprop',
 'scfgradientdriver',
 'scfrestdriver',
 'scfunrestdriver',
 'set_omp_num_threads',
 'set_vlxbasispath',
 'signalhandler',
 'subcommunicators',
 'szblock',
 'tdaexcidriver',
 'tpadriver',
 'tpafulldriver',
 'tpareddriver',
 'veloxchemlib',
 'visualizationdriver',
 'xtbdriver',
 'xtbgradientdriver']

Information about a specific class is available from the docstring.

print(vlx.ScfUnrestrictedDriver.__doc__)
    Implements spin unrestricted open shell SCF method with C2-DIIS and
    two-level C2-DIIS convergence accelerators.

    :param comm:
        The MPI communicator.
    :param ostream:
        The output stream.
    

Methods and properties

The actual calculations are performed by the methods in the classes. To list the properties and methods of a class, the dir function can be used as follows.

dir(vlx.ScfRestrictedDriver)
['__class__',
 '__delattr__',
 '__dict__',
 '__dir__',
 '__doc__',
 '__eq__',
 '__format__',
 '__ge__',
 '__getattribute__',
 '__gt__',
 '__hash__',
 '__init__',
 '__init_subclass__',
 '__le__',
 '__lt__',
 '__module__',
 '__ne__',
 '__new__',
 '__reduce__',
 '__reduce_ex__',
 '__repr__',
 '__setattr__',
 '__sizeof__',
 '__str__',
 '__subclasshook__',
 '__weakref__',
 'add_iter_data',
 'check_convergence',
 'comp_2e_fock',
 'comp_2e_fock_single_comm',
 'comp_2e_fock_split_comm',
 'comp_density_change',
 'comp_diis',
 'comp_energy',
 'comp_full_fock',
 'comp_gradient',
 'comp_guess_density',
 'comp_npot_mat_split_comm',
 'comp_one_ints',
 'compute',
 'compute_s2',
 'delete_mos',
 'gen_molecular_orbitals',
 'gen_new_density',
 'get_acc_type',
 'get_dyn_threshold',
 'get_effective_fock',
 'get_guess_type',
 'get_qq_dyn',
 'get_scaled_fock',
 'get_scf_energy',
 'get_scf_range',
 'get_scf_type',
 'graceful_exit',
 'need_graceful_exit',
 'print_energy_components',
 'print_ground_state',
 'print_header',
 'print_iter_data',
 'print_scf_energy',
 'print_scf_finish',
 'print_scf_title',
 'set_skip_iter_flag',
 'store_diis_data',
 'update_fock_type',
 'update_mol_orbs_phase',
 'update_settings',
 'write_checkpoint',
 'write_final_hdf5']