ECP Integral Plan#

cuest.bindings.cuestECPIntPlanCreate(
*,
handle: cuest.bindings.cuest.cuestHandle,
basis: cuest.bindings.cuest.cuestAOBasisHandle,
xyz: collections.abc.Sequence[float],
numECPAtoms: int,
activeIndices: collections.abc.Sequence[int],
activeAtoms: collections.abc.Sequence[cuest.bindings.cuest.cuestECPAtomHandle],
parameters: cuest.bindings.cuest.Parameters,
persistentWorkspace: int,
temporaryWorkspace: int,
outPlan: cuest.bindings.cuest.cuestECPIntPlanHandle,
) cuest.bindings.cuest.CuestStatus#

Create an ECP integral plan with specified parameters.

Parameters#

handle[in]cuestHandle

cuEST handle. Must not be NULL.

basis[in]cuestAOBasisHandle

Handle to cuestAOBasis. Must not be NULL.

xyz[in]List[float]

List of Cartesian coordinates for the atoms in the system (size: 3 * natom) on the CPU. Must not be NULL.

numECPAtoms[in]int

Number of atoms with ECPs. Must be greater than zero and less than or equal to the total number of system atoms (natom).

activeIndices[in]List[int]

List of indices of the atoms with ECPs (size: numECPAtoms) on the CPU. Must not be NULL. The indices cannot be greater than or equal to natom and cannot contain duplicate entries.

activeAtoms[in]List[cuestECPAtomHandle]

CPU array of ECP atom handles. Must not be NULL and none of the entries may be NULL.

parameters[in]cuestECPIntPlanParameters

Handle to cuestECPIntPlanParameters. Must not be NULL.

persistentWorkspace[in]Workspace

Preallocated workspace for persistent buffers. Must not be NULL.

temporaryWorkspace[in]Workspace

Preallocated workspace for temporary buffers. Must not be NULL.

outPlan[out]cuestECPIntPlanHandle

Pointer to output ECP integral plan object; receives opaque handle on success. Must not be NULL.

Returns#

status[out]CuestStatus
cuest.bindings.cuestECPIntPlanCreateWorkspaceQuery(
*,
handle: cuest.bindings.cuest.cuestHandle,
basis: cuest.bindings.cuest.cuestAOBasisHandle,
xyz: collections.abc.Sequence[float],
numECPAtoms: int,
activeIndices: collections.abc.Sequence[int],
activeAtoms: collections.abc.Sequence[cuest.bindings.cuest.cuestECPAtomHandle],
parameters: cuest.bindings.cuest.Parameters,
persistentWorkspaceDescriptor: int,
temporaryWorkspaceDescriptor: int,
outPlan: cuest.bindings.cuest.cuestECPIntPlanHandle,
) cuest.bindings.cuest.CuestStatus#

Query the temporary workspace required (in bytes) for an ECP integral plan.

Parameters#

handle[in]cuestHandle

cuEST handle. Must not be NULL.

basis[in]cuestAOBasisHandle

Handle to cuestAOBasis. Must not be NULL.

xyz[in]List[float]

List of Cartesian coordinates for the atoms in the system (size: 3 * natom) on the CPU. Must not be NULL.

numECPAtoms[in]int

Number of atoms with ECPs. Must be greater than zero and less than or equal to the total number of system atoms (natom).

activeIndices[in]List[int]

List of indices of the atoms with ECPs (size: numECPAtoms) on the CPU. Must not be NULL. The indices cannot be greater than or equal to natom and cannot contain duplicate entries.

activeAtoms[in]List[cuestECPAtomHandle]

CPU array of ECP atom handles. Must not be NULL and none of the entries may be NULL.

parameters[in]cuestECPIntPlanParameters

Handle to cuestECPIntPlanParameters. Must not be NULL.

persistentWorkspaceDescriptor[out]cuestWorkspaceDescriptorHandle

Handle to cuestWorkspaceDescriptor. Must not be NULL.

temporaryWorkspaceDescriptor[out]cuestWorkspaceDescriptorHandle

Handle to cuestWorkspaceDescriptor. Must not be NULL.

outPlancuestECPIntPlanHandle

Pointer to output ECP integral plan object. May be NULL.

Returns#

status[out]CuestStatus
cuest.bindings.cuestECPIntPlanDestroy(
*,
handle: cuest.bindings.cuest.cuestECPIntPlanHandle,
) cuest.bindings.cuest.CuestStatus#

Destroy an ECP integral plan object.

Parameters#

handle[in]cuestECPIntPlanHandle

Pointer to ECP integral plan object to destroy. Must not be NULL.

Returns#

status[out]CuestStatus