Effective Core Potentials#
- group ECP
Functions
- cuestStatus_t cuestECPAtomCreate(
- cuestHandle_t handle,
- uint64_t numElectrons,
- uint64_t numShells,
- const cuestECPShell_t *shells,
- const cuestECPShell_t topShell,
- const cuestECPAtomParameters_t parameters,
- cuestECPAtom_t *outECPAtom
Create an effective core potential atom from a set of ECPShell.
An ECP Atom comprises multiple ECP shells, grouped by atomic center.
All buffer pointers must be valid (not NULL).
Each shell, and each array entry, must be valid.
The output handle is only valid after successful creation.
All objects on CPU.
- Parameters:
handle – [in] cuEST handle. Must not be NULL.
numElectrons – [in] Total number of electrons corresponding to the ECP for this atom; must be greater than zero.
numShells – [in] Specifies number of shells for this atom with \( L < L_{max} \) ; must be greater than zero.
shells – [in] Flat CPU array of shell handles
cuestECPShell_t(size:numShells).topShell – [in] Shell handle (
cuestECPShell_t) with \( L == L_{max} \) for this atom.parameters – [in] Handle to
cuestECPAtomParameters_t. Must not be NULL.outECPAtom – [out] Pointer for output atom handle. Must not be NULL.
- Returns:
CUEST_STATUS_SUCCESSon success;CUEST_STATUS_INVALID_HANDLEif the cuEST handle is NULL;CUEST_STATUS_NULL_POINTERif any pointer parameter is NULL;CUEST_STATUS_INVALID_TYPEif the cuEST handle or parameters are not of the correct type.CUEST_STATUS_INVALID_ARGUMENTifnumElectrons== 0 or numShells == 0;CUEST_STATUS_EXCEPTIONorCUEST_STATUS_UNKNOWN_ERRORon error.
-
cuestStatus_t cuestECPAtomDestroy(cuestECPAtom_t atom)#
Destroy/free an ECP Atom object and all associated resources.
After this function is called, the ECP atom handle must not be used.
- Parameters:
atom – [in] ECP Atom handle to destroy; must not be NULL.
- Returns:
CUEST_STATUS_SUCCESSon success;CUEST_STATUS_NULL_POINTERif atom is NULL;CUEST_STATUS_INVALID_TYPEif the cuEST ECP Atom handle is not of typecuestECPAtom_t.CUEST_STATUS_EXCEPTIONorCUEST_STATUS_UNKNOWN_ERRORon error.
- cuestStatus_t cuestECPShellCreate(
- cuestHandle_t handle,
- uint64_t L,
- uint64_t numPrimitive,
- const uint64_t *radialPowers,
- const double *coefficients,
- const double *exponents,
- const cuestECPShellParameters_t parameters,
- cuestECPShell_t *outECPShell
Create an ECP shell object with specified parameters.
All objects on CPU.
- Parameters:
handle – [in] cuEST handle. Must not be NULL.
L – [in] Angular momentum quantum number (s=0, p=1, d=2, etc).
numPrimitive – [in] Number of primitives; must be greater than zero.
radialPowers – [in] Pointer to array containing radial powers (size:
numPrimitive) on the CPU. Elements must be non-negative integers, e.g. >= 0. Must not be NULL.coefficients – [in] Pointer to array containing coefficients (size:
numPrimitive) on the CPU. Must not be NULL.exponents – [in] Pointer to array containing exponents (size:
numPrimitive) on the CPU. Elements must be strictly positive, e.g. > 0. Must not be NULL.parameters – [in] Handle to
cuestECPShellParameters_t. Must not be NULL.outECPShell – [out] Pointer to output shell object; receives opaque handle on success. Must not be NULL.
- Returns:
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_INVALID_ARGUMENTifnumPrimitiveis zero, or if any exponent is not strictly positive (> 0);CUEST_STATUS_EXCEPTIONfor unexpected error;CUEST_STATUS_UNKNOWN_ERRORfor non-std exceptions.
-
cuestStatus_t cuestECPShellDestroy(cuestECPShell_t shell)#
Destroy/free an ECP shell object created with
cuestECPShellCreate.Frees all memory associated with the ECP shell. After destruction, the shell handle must not be used.
- Parameters:
shell – [in] Opaque ECP shell handle to destroy. Must not be NULL.
- Returns:
CUEST_STATUS_SUCCESSon success;CUEST_STATUS_NULL_POINTERifshellis NULL;CUEST_STATUS_EXCEPTIONorCUEST_STATUS_UNKNOWN_ERRORon error.