1111 */
1212#pragma once
1313
14+ #include < gauxc/enums.h>
15+
1416namespace GauXC {
1517
1618/* *
@@ -19,10 +21,10 @@ namespace GauXC {
1921 * Generally mapped to equivalent enums in IntegratorXX
2022 */
2123enum class RadialQuad {
22- Becke, // /< Becke radial quadrature
23- MuraKnowles, // /< Mura-Knowles radial quadrature
24- MurrayHandyLaming, // /< Murray-Handy-Laming radial quadrature
25- TreutlerAhlrichs // /< Treutler-Ahlrichs radial quadrature
24+ Becke = C::GauXC_RadialQuad_Becke, // /< Becke radial quadrature
25+ MuraKnowles = C::GauXC_RadialQuad_MuraKnowles, // /< Mura-Knowles radial quadrature
26+ MurrayHandyLaming = C::GauXC_RadialQuad_MurrayHandyLaming , // /< Murray-Handy-Laming radial quadrature
27+ TreutlerAhlrichs = C::GauXC_RadialQuad_TreutlerAhlrichs // /< Treutler-Ahlrichs radial quadrature
2628};
2729
2830/* *
@@ -31,37 +33,45 @@ enum class RadialQuad {
3133 * See https://gaussian.com/integral for specification
3234 */
3335enum class AtomicGridSizeDefault {
34- FineGrid, // /< Fine grid (least accurate)
35- UltraFineGrid, // /< Ultrafine grid (appropriate accuracy)
36- SuperFineGrid, // /< Superfine grid (most accurate)
37- GM3, // /< Treutler-Ahlrichs GM3
38- GM5 // /< Treutlet-Ahlrichs GM5
36+ FineGrid = C::GauXC_AtomicGridSizeDefault_FineGrid, // /< Fine grid (least accurate)
37+ UltraFineGrid = C::GauXC_AtomicGridSizeDefault_UltraFineGrid , // /< Ultrafine grid (appropriate accuracy)
38+ SuperFineGrid = C::GauXC_AtomicGridSizeDefault_SuperFineGrid , // /< Superfine grid (most accurate)
39+ GM3 = C::GauXC_AtomicGridSizeDefault_GM3, // /< Treutler-Ahlrichs GM3
40+ GM5 = C::GauXC_AtomicGridSizeDefault_GM5 // /< Treutlet-Ahlrichs GM5
3941};
4042
4143/* *
4244 * @brief Specifications of atomic partitioning scheme for the
4345 * molecular integration
4446 */
4547enum class XCWeightAlg {
46- NOTPARTITIONED, // /< Not partitioned
47- Becke, // /< The original Becke weighting scheme
48- SSF, // /< The Stratmann-Scuseria-Frisch weighting scheme
49- LKO // /< The Lauqua-Kuessman-Ochsenfeld weighting scheme
48+ NOTPARTITIONED = C::GauXC_XCWeightAlg_NOTPARTITIONED , // /< Not partitioned
49+ Becke = C::GauXC_XCWeightAlg_Becke, // /< The original Becke weighting scheme
50+ SSF = C::GauXC_XCWeightAlg_SSF, // /< The Stratmann-Scuseria-Frisch weighting scheme
51+ LKO = C::GauXC_XCWeightAlg_LKO // /< The Lauqua-Kuessman-Ochsenfeld weighting scheme
5052};
5153
5254/* *
5355 * @brief Specification of the execution space for various operations
5456 */
5557enum class ExecutionSpace {
56- Host, // /< Execute task on the host
57- Device // /< Execute task on the device (e.g. GPU)
58+ Host = C::GauXC_ExecutionSpace_Host, // /< Execute task on the host
59+ Device = C::GauXC_ExecutionSpace_Device // /< Execute task on the device (e.g. GPU)
5860};
5961
6062// / Supported Algorithms / Integrands
6163enum class SupportedAlg {
62- XC,
63- DEN,
64- SNLINK
64+ XC = C::GauXC_SupportedAlg_XC,
65+ DEN = C::GauXC_SupportedAlg_DEN,
66+ SNLINK = C::GauXC_SupportedAlg_SNLINK
67+ };
68+
69+ // / High-level specification of pruning schemes for atomic quadratures
70+ enum class PruningScheme {
71+ Unpruned = C::GauXC_PruningScheme_Unpruned, // /< Unpruned atomic quadrature
72+ Robust = C::GauXC_PruningScheme_Robust, // /< The "Robust" scheme of Psi4
73+ Treutler = C::GauXC_PruningScheme_Treutler // /< The Treutler-Ahlrichs scheme
6574};
6675
76+
6777} // namespace GauXC
0 commit comments