Coulomb#
- cuest.bindings.cuestDFCoulombComputeWorkspaceQuery(
- *,
- handle: cuest.bindings.cuest.cuestHandle,
- plan: cuest.bindings.cuest.cuestDFIntPlanHandle,
- parameters: cuest.bindings.cuest.Parameters,
- temporaryWorkspaceDescriptor: int,
- densityMatrix: cuest.bindings.cuest.Pointer,
- outCoulombMatrix: cuest.bindings.cuest.Pointer,
Query the temporary workspace required (in bytes) for a DF Coulomb matrix computation.
This function returns the workspace needed (host/device) for a single computation, based on the provided plan. Only sizes are computed; output and density buffers may be NULL.
Parameters#
- handle[in]cuestHandle
cuEST handle. Must not be NULL.
- plan[in]cuestDFIntPlanHandle
Density-fitted integral plan (opaque handle).
- parameters[in]cuestDFCoulombComputeParameters_t
Parameters object. Must not be NULL.
- temporaryWorkspaceDescriptor[out]WorkspaceDescriptor
Output descriptor for temporary workspace sizes. Must not be NULL. Modified in place.
- densityMatrix[in]Pointer
Optional density matrix. May be NULL.
- outCoulombMatrix[in]Pointer
Optional output Coulomb matrix. May be NULL.
Returns#
- status[out]cuestStatus_t
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_EXCEPTIONorCUEST_STATUS_UNKNOWN_ERRORotherwise.
- cuest.bindings.cuestDFCoulombCompute(
- *,
- handle: cuest.bindings.cuest.cuestHandle,
- plan: cuest.bindings.cuest.cuestDFIntPlanHandle,
- parameters: cuest.bindings.cuest.Parameters,
- temporaryWorkspace: int,
- densityMatrix: cuest.bindings.cuest.Pointer,
- outCoulombMatrix: cuest.bindings.cuest.Pointer,
Compute the AO Coulomb (J) matrix using density fitting (DF) with the supplied DF integral plan and density matrix.
This routine computes the Coulomb matrix (J) from a density matrix using an auxiliary basis and density-fitted integrals. The user must provide a preallocated density matrix (size: nao × nao) and a preallocated output buffer (size: nao × nao). All required temporary workspace must be allocated using the size returned by
cuestDFCoulombComputeWorkspaceQuery().Parameters#
- handle[in]CuestHandle
cuEST handle. Must not be NULL.
- plan[in]CuestDFIntPlanHandle
Density-fitted integral plan (opaque handle) constructed with
cuestDFIntPlanCreate().- parameters[in]cuestDFCoulombComputeParameters_t
Parameters object. Must not be NULL.
- temporaryWorkspace[in]Workspace
Temporary workspace buffer for this operation.
- densityMatrix[in]Pointer
Input density matrix (size: nao × nao) on the GPU. Must not be NULL.
- outCoulombMatrix[out]Pointer
Output buffer for computed Coulomb matrix (size: nao × nao) on the GPU. Must not be NULL. Elements of this array are overwritten by the calculation results.
Returns#
- status[out]cuestStatus_t
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_EXCEPTIONorCUEST_STATUS_UNKNOWN_ERRORotherwise.