Polarizable Continuum Models Integral Plan#
- group PCMIntegralPlan
Functions
- cuestStatus_t cuestPCMIntPlanCreate(
- cuestHandle_t handle,
- const cuestOEIntPlan_t intPlan,
- const cuestPCMIntPlanParameters_t parameters,
- cuestWorkspace_t *persistentWorkspace,
- cuestWorkspace_t *temporaryWorkspace,
- const uint64_t *numAngularPointsPerAtom,
- double epsilon,
- const double *zetas,
- const double *atomicRadii,
- const double *effectiveNuclearCharges,
- cuestPCMIntPlan_t *outPlan
Build a PCM potential and gradient computation.
All object handles, workspaces, and output pointers must be valid (not NULL). Workspace buffers must be preallocated with required sizes (see workspace query).
Note that for common applications of PCM the effectiveNuclearCharges are expected to be positive integers.
- Parameters:
handle – [in] cuEST handle. Must not be NULL.
intPlan – [in] One-electron integral plan handle of type
cuestOEIntPlan_t. The one-electron integral plan should be created withcuestOEIntPlanCreateand must not be destroyed until after the final call to any PCM compute routines. Must not be NULL.parameters – [in] PCM integral plan parameters structure. Must not be NULL.
persistentWorkspace – [in] Preallocated workspace for persistent buffers. Must not be NULL.
temporaryWorkspace – [in] Preallocated workspace for temporary buffers. Must not be NULL.
numAngularPointsPerAtom – [in] CPU array (size: number of atoms) of number of angular points per atom. Must not be NULL.
epsilon – [in] Dielectric constant. Must be strictly greater than 1.0.
zetas – [in] CPU array (size: number of atoms) with each element containing the optimized zeta coefficient for the number of angular points placed on that atom. Recommended values can be found in the API User Guide. All values must be positive.
atomicRadii – [in] CPU array (size: number of atoms) of atomic radii in bohr; all values must be positive. Must not be NULL.
effectiveNuclearCharges – [in] CPU array (size: number of atoms) of nuclear charges, adjusted for the presence of effective core potentials. Must not be NULL.
outPlan – [out] Output pointer for PCM plan handle. Must not be NULL.
- Returns:
CUEST_STATUS_SUCCESSon success;CUEST_STATUS_INVALID_HANDLEif the cuEST handle is NULL;CUEST_STATUS_NULL_POINTERif any pointer argument is NULL;CUEST_STATUS_INVALID_TYPEif opaque handles are not the correct type.CUEST_STATUS_INVALID_ARGUMENTifepsilonis less than or equal to 1.0, or if any of thezetasoratomicRadiivalues are invalid.CUEST_STATUS_EXCEPTIONorCUEST_STATUS_UNKNOWN_ERRORotherwise.
- cuestStatus_t cuestPCMIntPlanCreateWorkspaceQuery(
- cuestHandle_t handle,
- const cuestOEIntPlan_t intPlan,
- const cuestPCMIntPlanParameters_t parameters,
- cuestWorkspaceDescriptor_t *persistentWorkspaceDescriptor,
- cuestWorkspaceDescriptor_t *temporaryWorkspaceDescriptor,
- const uint64_t *numAngularPointsPerAtom,
- double epsilon,
- const double *zetas,
- const double *atomicRadii,
- const double *effectiveNuclearCharges,
- cuestPCMIntPlan_t *outPlan
Query workspace requirements for creating a PCM integral plan.
Determines persistent and temporary buffer sizes by simulating allocation logic. All handles and pointers must be valid (not NULL).
- Parameters:
handle – [in] cuEST handle. Must not be NULL.
intPlan – [in] One-electron integral plan handle of type
cuestOEIntPlan_t. The one-electron integral plan should be created withcuestOEIntPlanCreateand must not be destroyed until after the final call to any PCM compute routines. Must not be NULL.parameters – [in] PCM integral plan parameters structure. Must not be NULL.
persistentWorkspaceDescriptor – [out] Descriptor for persistent workspace requirements. Must not be NULL.
temporaryWorkspaceDescriptor – [out] Descriptor for temporary workspace requirements. Must not be NULL.
numAngularPointsPerAtom – [in] CPU array (size: number of atoms) of number of angular points per atom. Must not be NULL.
epsilon – [in] Dielectric constant. Must be greater than or equal to 1.0.
zetas – [in] CPU array with each element containing the optimized zeta coefficient for the number of angular points placed on that atom. May be NULL.
atomicRadii – [in] CPU array of atomic radii in bohr. May be NULL.
effectiveNuclearCharges – [in] CPU array of nuclear charges, adjusted for the presence of effective core potentials. May be NULL.
outPlan – [in] Output pointer for PCM plan handle. May be NULL.
- Returns:
CUEST_STATUS_SUCCESSon success;CUEST_STATUS_INVALID_HANDLEif the cuEST handle is NULL;CUEST_STATUS_NULL_POINTERif any required pointer argument is NULL;CUEST_STATUS_INVALID_TYPEif opaque handles are not the correct type.CUEST_STATUS_INVALID_ARGUMENTifepsilonis less than or equal to 1.0.CUEST_STATUS_EXCEPTIONorCUEST_STATUS_UNKNOWN_ERRORotherwise.
-
cuestStatus_t cuestPCMIntPlanDestroy(cuestPCMIntPlan_t plan)#
Destroy a PCM integral plan and release its resources.
Destroys the PCM integral plan and releases the resources it holds. All handles and pointers must be valid (not NULL).
- Parameters:
plan – [in] PCM integral plan handle. Must not be NULL.
- Returns:
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.