Skip to main content

cuestMultipoleComputeWorkspaceQuery

Function cuestMultipoleComputeWorkspaceQuery 

Source
pub unsafe fn cuestMultipoleComputeWorkspaceQuery(
    handle: cuestHandle_t,
    plan: cuestOEIntPlan_t,
    parameters: cuestMultipoleComputeParameters_t,
    temporaryWorkspaceDescriptor: *mut cuestWorkspaceDescriptor_t,
    multipoleOrder: *const u32,
    origin: *const f64,
    outMatrix: *mut f64,
) -> cuestStatus_t
Expand description

@brief Query the temporary workspace required (in bytes) for multipole matrix calculation. @ingroup Multipole @since v0.2.0

This function computes the workspace requirements for a requested multipole calculation. Fill the provided workspace descriptor with host and device buffer sizes required. The \c outMatrix pointer may be NULL.

@param[in] handle cuEST handle. Must not be NULL. @param[in] plan One-electron integral computation plan (opaque handle). Must not be NULL. @param[in] parameters Compute parameters (\c cuestMultipoleComputeParameters_t). Must not be NULL @param[out] temporaryWorkspaceDescriptor Output descriptor for temporary workspace sizes. Must not be NULL. @param[in] multipoleOrder Integer exponents defining the multipole operator: x^l y^m z^n [size: 3]. CPU array. Must not be NULL. @param[in] origin Cartesian coordinates defining the multipole origin [size: 3]. CPU array. Must not be NULL. @param outMatrix User matrix buffer (may be NULL during the workspace query).

@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 opaque handles are not the correct type;
  • \c CUEST_STATUS_EXCEPTION or \c CUEST_STATUS_UNKNOWN_ERROR otherwise.