PCM Integral Plan#

cuest.bindings.cuestPCMIntPlanCreate(
*,
handle: cuest.bindings.cuest.cuestHandle,
intPlan: cuest.bindings.cuest.cuestOEIntPlanHandle,
parameters: cuest.bindings.cuest.Parameters,
persistentWorkspace: int,
temporaryWorkspace: int,
numAngularPointsPerAtom: list[int],
epsilon: float,
zetas: list[float],
atomicRadii: list[float],
effectiveNuclearCharges: list[float],
outPlan: cuest.bindings.cuest.cuestPCMIntPlanHandle,
) cuest.bindings.cuest.CuestStatus#

Build a PCM plan for potential and gradient computations.

Parameters#

handle[in]cuestHandle

cuEST handle. Must not be NULL.

intPlan[in]cuestOEIntPlanHandle

One-electron integral plan (opaque handle) constructed with cuestOEIntPlanCreate().

parameters[in]cuestPCMIntPlanParameters

PCM integral plan parameters (opaque handle) constructed with cuestParametersCreate().

persistentWorkspace[in]Workspace

Preallocated workspace for persistent buffers. Must not be NULL.

temporaryWorkspace[in]Workspace

Preallocated workspace for temporary buffers. Must not be NULL.

numAngularPointsPerAtom[in]List[int]

CPU array of number of angular points per atom (size: number of atoms). Must not be NULL.

epsilon[in]double

Dielectric constant. Must be greater than 1.0.

zetas[in]List[float]

CPU array (size: number of atoms) with each element containing the optimized zeta coefficient for the number of angular points placed on that atom.

atomicRadii[in]List[float]

CPU array (size: number of atoms) of atomic radii in bohr. Must not be NULL.

effectiveNuclearCharges[in]List[float]

CPU array (size: number of atoms) of nuclear charges, adjusted for the presence of effective core potentials. Must not be NULL.

outPlan[out]cuestPCMIntPlanHandle

Output pointer for PCM plan handle. Must not be NULL.

Returns#

statusCuestStatus
cuest.bindings.cuestPCMIntPlanCreateWorkspaceQuery(
*,
handle: cuest.bindings.cuest.cuestHandle,
intPlan: cuest.bindings.cuest.cuestOEIntPlanHandle,
parameters: cuest.bindings.cuest.Parameters,
persistentWorkspaceDescriptor: int,
temporaryWorkspaceDescriptor: int,
numAngularPointsPerAtom: list[int],
epsilon: float,
zetas: list[float],
atomicRadii: list[float],
effectiveNuclearCharges: list[float],
outPlan: cuest.bindings.cuest.cuestPCMIntPlanHandle,
) cuest.bindings.cuest.CuestStatus#

Query workspace requirements for creating a PCM integral plan.

Parameters#

handle[in]cuestHandle

cuEST handle. Must not be NULL.

intPlan[in]cuestOEIntPlanHandle

One-electron integral plan (opaque handle) constructed with cuestOEIntPlanCreate().

parameters[in]cuestPCMIntPlanParameters

PCM integral plan parameters (opaque handle) constructed with cuestParametersCreate().

persistentWorkspaceDescriptor[out]WorkspaceDescriptor

Output descriptor for persistent workspace requirements. Must not be NULL.

temporaryWorkspaceDescriptor[out]WorkspaceDescriptor

Output descriptor for temporary workspace requirements. Must not be NULL.

numAngularPointsPerAtom[in]List[int]

CPU array (size: number of atoms) of number of angular points per atom. Must not be NULL.

epsilon[in]double

Dielectric constant. Must be greater than 1.0.

zetas[in]List[float]

CPU array (size: number of atoms) with each element containing the optimized zeta coefficient for the number of angular points placed on that atom (see cuestPCMIntPlanCreate() for details). May be NULL.

atomicRadii[in]List[float]

CPU array (size: number of atoms) of atomic radii in bohr. May be NULL.

effectiveNuclearCharges[in]List[float]

CPU array (size: number of atoms) of nuclear charges, adjusted for the presence of effective core potentials. May be NULL.

outPlan[in]cuestPCMIntPlanHandle

Output pointer for PCM plan handle. May be NULL.

Returns#

statusCuestStatus
cuest.bindings.cuestPCMIntPlanDestroy(
*,
handle: cuest.bindings.cuest.cuestPCMIntPlanHandle,
) cuest.bindings.cuest.CuestStatus#

Destroy a PCM integral plan and release its resources.

The plan handle and its memory must not be used after destruction.

Parameters#

handle[in]cuestPCMIntPlanHandle

PCM integral plan (opaque handle) constructed with cuestPCMIntPlanCreate().

Returns#

status[out]CuestStatus