-
Notifications
You must be signed in to change notification settings - Fork 32
Description
Is your feature request related to a problem? Please describe.
Currently Gbasis works with Cartesian primitives defined as:
Where
Gbasis assumes for each set of contraction primitives, contraction coefficients do not include
Is there a specific integral/formula that you would like implemented?
Is there a change to the code or algorithm you would like to see?
The normalization constant for each cartesian primitive is calculated at the contractions module in norm_prim_cart. Primitive normalization is used for all the integrals and density evaluations usually when the a lower level function is called. In the case of overlap for example when the Overlap class calls _compute_multipole_moment_integrals in construct_array_contraction the norm_prim_cart information is passed. There would be two ways to include this option into Gbasis.
- As an argument to contractions and can be specified also when using parsers or wrappers. Then internally
norm_prim_cartcould read that flag and generate ones instead of the normalization constants - As an argument to the methods they use the normalization constants (most of them).
Additional info: Gbasis works at the low level only with cartesian primitives. Spherical primitives are converted to Cartesian here in generate_transformation. There the normalization applied is a factor combining Cartesian and Spherical normalizations:
generate_transformation uses the last simplification here but I think we could refactor that part to only use the spherical normalization if the contraction coefficients already include the cartesian primitive normalization.
Additional context