Effective Core Potential Compute#
- cuest.bindings.cuestECPCompute(
- *,
- handle: cuest.bindings.cuest.cuestHandle,
- plan: cuest.bindings.cuest.cuestECPIntPlanHandle,
- parameters: cuest.bindings.cuest.Parameters,
- variableBufferSize: int,
- temporaryWorkspace: int,
- outECPMatrix: cuest.bindings.cuest.Pointer,
Compute the ECP potential matrix using the provided plan.
Parameters#
- handle[in]cuestHandle
cuEST handle. Must not be NULL.
- plan[in]cuestECPIntPlanHandle
Handle to cuestECPIntPlan. Must not be NULL.
- parameters[in]cuestECPComputeParameters
Handle to cuestECPComputeParameters. Must not be NULL.
- variableBufferSize[in]WorkspaceDescriptor
User-provided descriptor for the amount of memory used to evaluate the ECP integrals. 2 GB is a good default buffer size for device memory. If an insufficient amount of memory is provided, the cuestECPCompute call will return CUEST_STATUS_EXCEPTION. If this occurs, increase the variableBufferSize and make the WorkspaceQuery and Compute calls again. This value MUST remain unchanged between the WorkspaceQuery call and the Compute call. Host memory is currently unused. Must not be NULL.
- temporaryWorkspace[in]cuestWorkspaceHandle
Handle to cuestWorkspace. Must not be NULL.
- outECPMatrix[out]Pointer
Pointer to output ECP matrix (size: nao x nao) on the GPU. Must not be NULL.
Returns#
- status[out]CuestStatus
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 the cuEST handle or parameters are not of the correct type;CUEST_STATUS_EXCEPTIONorCUEST_STATUS_UNKNOWN_ERRORon error.
- cuest.bindings.cuestECPComputeWorkspaceQuery(
- *,
- handle: cuest.bindings.cuest.cuestHandle,
- plan: cuest.bindings.cuest.cuestECPIntPlanHandle,
- parameters: cuest.bindings.cuest.Parameters,
- variableBufferSize: int,
- temporaryWorkspaceDescriptor: int,
- outECPMatrix: cuest.bindings.cuest.Pointer,
Query the temporary workspace required (in bytes) for ECP potential matrix calculation.
Parameters#
- handle[in]cuestHandle
cuEST handle. Must not be NULL.
- plan[in]cuestECPIntPlanHandle
Handle to cuestECPIntPlan. Must not be NULL.
- parameters[in]cuestECPComputeParameters
Handle to cuestECPComputeParameters. Must not be NULL.
- variableBufferSize[in]WorkspaceDescriptor
User-provided descriptor for the amount of memory used to evaluate the ECP integrals. 2 GB is a good default buffer size for device memory. If an insufficient amount of memory is provided, the cuestECPCompute call will return CUEST_STATUS_EXCEPTION. If this occurs, increase the variableBufferSize and make the WorkspaceQuery and Compute calls again. This value MUST remain unchanged between the WorkspaceQuery call and the Compute call. Host memory is currently unused. Must not be NULL.
- temporaryWorkspaceDescriptor[out]cuestWorkspaceDescriptorHandle
Handle to cuestWorkspaceDescriptor. Must not be NULL.
- outECPMatrix[in]Pointer
Pointer to output ECP matrix. May be NULL.
Returns#
- status[out]CuestStatus
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 the cuEST handle or parameters are not of the correct type;CUEST_STATUS_EXCEPTIONorCUEST_STATUS_UNKNOWN_ERRORon error.
- cuest.bindings.cuestECPDerivativeCompute(
- *,
- handle: cuest.bindings.cuest.cuestHandle,
- plan: cuest.bindings.cuest.cuestECPIntPlanHandle,
- parameters: cuest.bindings.cuest.Parameters,
- variableBufferSize: int,
- temporaryWorkspace: int,
- densityMatrix: cuest.bindings.cuest.Pointer,
- outGradient: cuest.bindings.cuest.Pointer,
Compute the electronic gradient (derivative) of the ECP matrix using the provided plan and density matrix.
Both the input density matrix and the output gradient must be preallocated. The density matrix must be an (nao x nao) array and the output gradient must have space for (natom x 3) elements, where nao is the number of atomic orbitals and natom the total number of atoms in the system. All required temporary workspace must be allocated by the user prior to calling this function using size returned by
cuestECPDerivativeComputeWorkspaceQuery().Parameters#
- handle[in]cuestHandle
cuEST handle. Must not be NULL.
- plan[in]cuestECPIntPlanHandle
Handle to cuestECPIntPlan. Must not be NULL.
- parameters[in]cuestECPDerivativeComputeParameters
Handle to
cuestECPDerivativeComputeParameters. Must not be NULL.- variableBufferSize[in]WorkspaceDescriptor
User-provided descriptor for the amount of memory used to evaluate the ECP integrals. 2 GB is a good default buffer size for device memory. If an insufficient amount of memory is provided, the cuestECPDerivativeCompute call will return CUEST_STATUS_EXCEPTION. If this occurs, increase the variableBufferSize and make the WorkspaceQuery and Compute calls again. This value MUST remain unchanged between the WorkspaceQuery call and the Compute call. Host memory is currently unused. Must not be NULL.
- temporaryWorkspace[in]cuestWorkspaceHandle
Handle to cuestWorkspace. Must not be NULL.
- densityMatrix[in]Pointer
Pointer to input density matrix (size: nao x nao) on the GPU. Must not be NULL.
- outGradient[out]Pointer
Pointer to output gradient (size: natom * 3) on the GPU. Must not be NULL.
Returns#
- status[out]CuestStatus
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 the cuEST handle or parameters are not of the correct type;CUEST_STATUS_EXCEPTIONorCUEST_STATUS_UNKNOWN_ERRORon error.
- cuest.bindings.cuestECPDerivativeComputeWorkspaceQuery(
- *,
- handle: cuest.bindings.cuest.cuestHandle,
- plan: cuest.bindings.cuest.cuestECPIntPlanHandle,
- parameters: cuest.bindings.cuest.Parameters,
- variableBufferSize: int,
- temporaryWorkspaceDescriptor: int,
- densityMatrix: cuest.bindings.cuest.Pointer,
- outGradient: cuest.bindings.cuest.Pointer,
Query the temporary workspace required (in bytes) for electronic gradient (derivative) of the ECP matrix using the provided plan and density matrix.
This function computes the workspace requirements for a requested ECP gradient calculation. Fill the provided workspace descriptor with host and device buffer sizes required. The
outGradientpointer may be NULL.Parameters#
- handle[in]cuestHandle
cuEST handle. Must not be NULL.
- plan[in]cuestECPIntPlanHandle
Handle to cuestECPIntPlan. Must not be NULL.
- parameters[in]cuestECPDerivativeComputeParameters
Handle to
cuestECPDerivativeComputeParameters. Must not be NULL.- variableBufferSize[in]WorkspaceDescriptor
User-provided descriptor for the amount of memory used to evaluate the ECP integrals. 2 GB is a good default buffer size for device memory. If an insufficient amount of memory is provided, the cuestECPDerivativeCompute call will return CUEST_STATUS_EXCEPTION. If this occurs, increase the variableBufferSize and make the WorkspaceQuery and Compute calls again. This value MUST remain unchanged between the WorkspaceQuery call and the Compute call. Host memory is currently unused. Must not be NULL.
- temporaryWorkspaceDescriptor[out]cuestWorkspaceDescriptorHandle
Handle to cuestWorkspaceDescriptor. Must not be NULL.
- densityMatrix[in]Pointer
Pointer to input density matrix. May be NULL.
- outGradient[in]Pointer
Pointer to output gradient. May be NULL.
Returns#
- status[out]CuestStatus
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 the cuEST handle or parameters are not of the correct type;CUEST_STATUS_EXCEPTIONorCUEST_STATUS_UNKNOWN_ERRORon error.