Basis#

cuest.bindings.cuestAOShellCreate(
*,
handle: cuest.bindings.cuest.cuestHandle,
isPure: bool,
L: int,
numPrimitive: int,
exponents: list[float],
coefficients: list[float],
parameters: cuest.bindings.cuest.Parameters,
outShell: cuest.bindings.cuest.cuestAOShellHandle,
) cuest.bindings.cuest.CuestStatus#

Creates an AO shell object with specified parameters.

Parameters#

handle[in]cuestHandle

cuEST handle. Must not be NULL.

isPure[in]int

Whether the shell uses pure (spherical) functions (any nonzero value is interpreted as true).

L[in]int

Angular momentum quantum number (s=0, p=1, d=2, etc).

numPrimitive[in]int

Number of Gaussian primitives; must be greater than zero.

exponents[in]List[float]

Pointer to array of length numPrimitive containing primitive exponents. Must not be NULL.

coefficients[in]List[float]

Pointer to array of length numPrimitive containing contraction coefficients. Must not be NULL.

parameters[in]cuestAOShellParameters

Handle to cuestAOShellParameters. Must not be NULL.

outShell[out]cuestAOShellHandle

Pointer to output shell object; receives opaque handle on success. Must not be NULL. Modified in place.

Returns#

status[out]cuestStatus_t
cuest.bindings.cuestAOShellDestroy(
*,
handle: cuest.bindings.cuest.cuestAOShellHandle,
) cuest.bindings.cuest.CuestStatus#

Destroy/free an AO shell object created with cuestAOShellCreate.

Parameters#

handle[in]cuestAOShellHandle

Opaque AO shell handle to destroy. Must not be NULL.

Returns#

status: cuestStatus_t
cuest.bindings.cuestAOBasisCreateWorkspaceQuery(
*,
handle: cuest.bindings.cuest.cuestHandle,
numAtoms: int,
numShellsPerAtom: list[int],
shells: list[cuest.bindings.cuest.cuestAOShellHandle],
parameters: cuest.bindings.cuest.Parameters,
persistentWorkspaceDescriptor: int,
temporaryWorkspaceDescriptor: int,
outBasis: cuest.bindings.cuest.cuestAOBasisHandle,
) cuest.bindings.cuest.CuestStatus#

Query workspace requirements for creating an AO basis object.

Parameters#

handle[in]cuestHandle

cuEST handle. Must not be NULL.

numAtoms[in]int

Total number of atoms/centers; must be greater than zero.

numShellsPerAtom[in]int

Array of length numAtoms specifying number of shells per center; each must be greater than zero.

shells[in]List[cuestAOShellHandle]

Flat array of shell handles (cuestAOShellHandle), length is sum of numShellsPerAtom. Must not be NULL.

parameters[in]cuestAOBasisParameters

Handle to cuestAOBasisParameters. Must not be NULL.

persistentWorkspaceDescriptor[out]WorkspaceDescriptor

Output descriptor for persistent buffer sizing. Must not be NULL. Modified in place.

temporaryWorkspaceDescriptor[out]WorkspaceDescriptor

Output descriptor for temporary buffer sizing. Must not be NULL. Modified in place.

outBasis[in]cuestAOBasisHandle

Pointer to output basis handle. May be NULL.

Returns#

status[out]cuestStatus_t
cuest.bindings.cuestAOBasisCreate(
*,
handle: cuest.bindings.cuest.cuestHandle,
numAtoms: int,
numShellsPerAtom: list[int],
shells: list[cuest.bindings.cuest.cuestAOShellHandle],
parameters: cuest.bindings.cuest.Parameters,
persistentWorkspace: int,
temporaryWorkspace: int,
outBasis: cuest.bindings.cuest.cuestAOBasisHandle,
) cuest.bindings.cuest.CuestStatus#

Create an atomic orbital basis set object (AO basis).

Parameters#

handle[in]cuestHandle

cuEST handle. Must not be NULL.

numAtoms[in]int

Total number of distinct atoms/centers; must be greater than zero.

numShellsPerAtom[in]List[int]

Array of length numAtoms specifying number of shells per center; each must be greater than zero.

shells[in]List[cuestAOShellHandle]

Flat array of shell handles (cuestAOShell_t), length is sum of numShellsPerAtom.

parameters[in]cuestAOBasisParameters

Handle to cuestAOBasisParameters. Must not be NULL.

persistentWorkspace[in]Workspace

Pointer to preallocated workspace for persistent buffers. Must not be NULL.

temporaryWorkspace[in]Workspace

Pointer to preallocated workspace for temporary buffers. Must not be NULL.

outBasis[out]cuestAOBasisHandle

Pointer for output basis handle. Must not be NULL. Modified in place.

Returns#

status[out]cuestStatus_t
cuest.bindings.cuestAOBasisDestroy(
*,
handle: cuest.bindings.cuest.cuestAOBasisHandle,
) cuest.bindings.cuest.CuestStatus#

Destroy/free an AO basis set object and all associated resources.

Parameters#

handle[in]cuestAOBasisHandle

AO basis set handle to destroy; must not be NULL.

Returns#

status[out]cuestStatus_t
cuest.bindings.cuestAOPairListCreateWorkspaceQuery(
*,
handle: cuest.bindings.cuest.cuestHandle,
basis: cuest.bindings.cuest.cuestAOBasisHandle,
numAtoms: int,
xyz: list[float],
thresholdPQ: float,
parameters: cuest.bindings.cuest.Parameters,
persistentWorkspaceDescriptor: int,
temporaryWorkspaceDescriptor: int,
outPairList: cuest.bindings.cuest.cuestAOPairListHandle,
) cuest.bindings.cuest.CuestStatus#

Query workspace requirements for AO pair list construction.

Parameters#

handle[in]cuestHandle

cuEST handle. Must not be NULL.

basis[in]cuestAOBasisHandle

AO basis set handle (object describing basis for the atoms); must not be NULL.

numAtoms[in]int

Number of atoms. Must be greater than zero.

xyz[in]List[float]

Array of atomic Cartesian coordinates (size numAtoms * 3) on the CPU. Data is expected to be row-ordered: \([x_0,y_0,z_0,...]\). Must not be NULL.

thresholdPQ[in]float

Sparsity threshold for pair sieve.

parameters[in]cuestAOPairListParameters

AO pair list parameters structure. Must not be NULL.

persistentWorkspaceDescriptor[out]WorkspaceDescriptor

Output workspace descriptor for persistent buffer sizing. Must not be NULL. Modified in place.

temporaryWorkspaceDescriptor[out]WorkspaceDescriptor

Output workspace descriptor for temporary buffer sizing. Must not be NULL. Modified in place.

outPairList[in]cuestAOPairListHandle

Output pointer for AO pair list handle. May be NULL.

Returns#

status[out]cuestStatus_t
cuest.bindings.cuestAOPairListCreate(
*,
handle: cuest.bindings.cuest.cuestHandle,
basis: cuest.bindings.cuest.cuestAOBasisHandle,
numAtoms: int,
xyz: list[float],
thresholdPQ: float,
parameters: cuest.bindings.cuest.Parameters,
persistentWorkspace: int,
temporaryWorkspace: int,
outPairList: cuest.bindings.cuest.cuestAOPairListHandle,
) cuest.bindings.cuest.CuestStatus#

Build an AO pair list structure.

Parameters#

handle[in]cuestHandle

cuEST handle. Must not be NULL.

basis[in]cuestAOBasisHandle

AO basis set handle (object describing basis for the atoms). Must not be NULL.

numAtoms[in]int

Number of atoms in molecule or fragment. Must be greater than zero.

xyz[in]List[float]

Array of atomic Cartesian coordinates (size: numAtoms * 3) on the CPU. Data is expected to be row-ordered: \([x_0,y_0,z_0,...]\). Must not be NULL.

thresholdPQ[in]float

Sparsity threshold for pair sieve (e.g., 1e-10).

parameters[in]cuestAOPairListParameters

AO pair list parameters structure. Must not be NULL.

persistentWorkspace[in]Workspace

Pointer to persistent workspace (preallocated). Must not be NULL.

temporaryWorkspace[in]Workspace

Pointer to temporary workspace (preallocated). Must not be NULL.

outPairList[out]cuestAOPairListHandle

Output pointer for AO pair list handle. Must not be NULL. Modified in place.

Returns#

status[out]cuestStatus_t
cuest.bindings.cuestAOPairListDestroy(
*,
handle: cuest.bindings.cuest.cuestAOPairListHandle,
) cuest.bindings.cuest.CuestStatus#

Destroy/free an AO pair list object and its resources.

The AO pair list handle and associated resources must not be used after this call.

Parameters#

handle[in]cuestAOPairListHandle

AO pair list handle to destroy. Must not be NULL.

Returns#

status[out]cuestStatus_t