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,
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_STATUS_SUCCESSon success;CUEST_STATUS_INVALID_HANDLEif the cuEST handle is NULL;CUEST_STATUS_NULL_POINTERif any required pointer is NULL;CUEST_STATUS_INVALID_TYPEif opaque handles are not the correct type;CUEST_STATUS_INVALID_ARGUMENTif theepsilonis less than or equal to 1.0;CUEST_STATUS_EXCEPTIONorCUEST_STATUS_UNKNOWN_ERRORotherwise.
- 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,
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_STATUS_SUCCESSon success;CUEST_STATUS_INVALID_HANDLEif the cuEST handle is NULL;CUEST_STATUS_NULL_POINTERif any required pointer is NULL;CUEST_STATUS_INVALID_TYPEif opaque handles are not the correct type;CUEST_STATUS_INVALID_ARGUMENTif theepsilonis less than or equal to 1.0;CUEST_STATUS_EXCEPTIONorCUEST_STATUS_UNKNOWN_ERRORotherwise.
- cuest.bindings.cuestPCMIntPlanDestroy(
- *,
- handle: cuest.bindings.cuest.cuestPCMIntPlanHandle,
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
CUEST_STATUS_SUCCESSon success;CUEST_STATUS_NULL_POINTERif the PCM integral plan handle is NULL;CUEST_STATUS_INVALID_TYPEif the PCM integral plan handle is not the correct type.CUEST_STATUS_EXCEPTIONorCUEST_STATUS_UNKNOWN_ERRORotherwise.