pub unsafe fn cuestECPIntPlanCreateWorkspaceQuery(
handle: cuestHandle_t,
basis: cuestAOBasis_t,
xyzCPU: *const f64,
numECPAtoms: u64,
activeIndices: *const u64,
activeAtoms: *const cuestECPAtom_t,
parameters: cuestECPIntPlanParameters_t,
persistentWorkspaceDescriptor: *mut cuestWorkspaceDescriptor_t,
temporaryWorkspaceDescriptor: *mut cuestWorkspaceDescriptor_t,
outPlan: *mut cuestECPIntPlan_t,
) -> cuestStatus_tExpand description
@brief Query workspace requirements for creating an effective core potential integral plan. @ingroup ECPIntegralPlan
Determines persistent and temporary buffer sizes by simulating allocation logic. All handles and pointers must be valid (not NULL).
@param[in] handle cuEST handle. Must not be NULL. @param[in] basis AO basis set handle. Must not be NULL. @param[in] xyzCPU Coordinates for full system (size: natom x 3) on the CPU. Must not be NULL. @param[in] numECPAtoms Number of atoms with ECPs. Must be greater than zero and less than or equal to total number of system atoms, natom. @param[in] activeIndices Indices of atoms with ECPs relative to full list of atoms (size: numECPAtoms) on the CPU. Must not be NULL. The \c activeIndices cannot contain indices greater than or equal to natom and cannot contain duplicate entries. @param[in] activeAtoms CPU array of ECP atom handles. Must not be NULL and none of the entries may be NULL. @param[in] parameters Plan parameters handle. Must not be NULL. @param[out] persistentWorkspaceDescriptor Output descriptor for persistent buffer sizing. Must not be NULL. @param[out] temporaryWorkspaceDescriptor Output descriptor for temporary buffer sizing. Must not be NULL. @param outPlan Pointer for integral plan handle. 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 pointer argument is NULL;
- \c CUEST_STATUS_INVALID_TYPE if opaque handles are not the correct type;
- \c CUEST_STATUS_INVALID_ARGUMENT if \c numECPAtoms is zero or the \c activeIndices are invalid;
- \c CUEST_STATUS_EXCEPTION or \c CUEST_STATUS_UNKNOWN_ERROR otherwise.