pub unsafe fn cuestXCIntegrationWeightComputeWorkspaceQuery(
handle: cuestHandle_t,
plan: cuestXCIntPlan_t,
weightType: cuestXCIntegrationWeightComputeParametersWeightType_t,
parameters: cuestXCIntegrationWeightComputeParameters_t,
temporaryWorkspaceDescriptor: *mut cuestWorkspaceDescriptor_t,
outGridWeights: *mut f64,
) -> cuestStatus_tExpand description
@brief Query the temporary workspace required (in bytes) for computing XC integration weights. @ingroup ExchangeCorrelationAdvanced
Determines GPU memory workspace requirements to compute integration weights on the molecular grid as defined by the provided XC integral plan. The required workspace depends on the grid structure and selected weight type.
This query should be executed before calling \c cuestXCIntegrationWeightCompute to ensure that sufficient device memory is available.
@param[in] handle cuEST handle. Must not be NULL. @param[in] plan XC integral plan (opaque handle) constructed with \c cuestXCIntPlanCreate. Must not be NULL. @param[in] weightType Weight type to return (total, Becke, quadrature). @param[in] parameters Compute parameters (\c cuestXCIntegrationWeightComputeParameters_t) Must not be NULL @param[out] temporaryWorkspaceDescriptor Output descriptor for required temporary workspace sizes (in bytes). Must not be NULL. @param outGridWeights Optional output buffer for computed weights. May be NULL.
@return
- \c CUEST_STATUS_SUCCESS on success;
- \c CUEST_STATUS_INVALID_HANDLE if the cuEST handle is NULL;
- \c CUEST_STATUS_NULL_POINTER if any required pointer is NULL;
- \c CUEST_STATUS_INVALID_TYPE if the handle or plan type is incorrect;
- \c CUEST_STATUS_INVALID_ARGUMENT if \c weightType is unsupported;
- \c CUEST_STATUS_EXCEPTION on device or internal error;
- \c CUEST_STATUS_UNKNOWN_ERROR otherwise.