.TH "sc::GaussianShell" 3 "Sun Oct 4 2020" "Version 2.3.1" "MPQC" \" -*- nroff -*- .ad l .nh .SH NAME sc::GaussianShell \- A Gaussian orbital shell\&. .SH SYNOPSIS .br .PP .PP \fC#include \fP .PP Inherits \fBsc::SavableState\fP\&. .SS "Public Types" .in +1c .ti -1c .RI "enum \fBPrimitiveType\fP { \fBNormalized\fP, \fBUnnormalized\fP }" .br .ti -1c .RI "enum \fBGaussianType\fP { \fBCartesian\fP, \fBPure\fP }" .br .in -1c .SS "Public Member Functions" .in +1c .ti -1c .RI "\fBGaussianShell\fP (int ncn, int nprm, double *e, int *\fBam\fP, int *pure, double **c, PrimitiveType pt=GaussianShell::Normalized, bool do_normalize_shell=true)" .br .RI "A \fBGaussianShell\fP constructor\&. " .ti -1c .RI "\fBGaussianShell\fP (int ncn, int nprm, double *e, int *\fBam\fP, GaussianType pure, double **c, PrimitiveType pt=GaussianShell::Normalized)" .br .RI "A \fBGaussianShell\fP constructor\&. " .ti -1c .RI "\fBGaussianShell\fP (const \fBRef\fP< \fBKeyVal\fP > &)" .br .RI "Construct a \fBGaussianShell\fP from \fBKeyVal\fP input\&. " .ti -1c .RI "\fBGaussianShell\fP (\fBStateIn\fP &)" .br .RI "Restore a \fBGaussianShell\fP from a \fBStateIn\fP object\&. " .ti -1c .RI "\fBGaussianShell\fP (const \fBRef\fP< \fBKeyVal\fP > &, int pure)" .br .RI "Construct a \fBGaussianShell\fP from \fBKeyVal\fP input\&. " .ti -1c .RI "void \fBsave_data_state\fP (\fBStateOut\fP &)" .br .RI "Save the base classes (with save_data_state) and the members in the same order that the \fBStateIn\fP CTOR initializes them\&. " .ti -1c .RI "int \fBnprimitive\fP () const" .br .RI "The number of primitive Gaussian shells\&. " .ti -1c .RI "int \fBncontraction\fP () const" .br .RI "The number of contractions formed from the primitives\&. " .ti -1c .RI "int \fBnfunction\fP () const" .br .RI "The number of basis functions\&. " .ti -1c .RI "int \fBmax_angular_momentum\fP () const" .br .RI "The maximum angular momentum in the shell\&. " .ti -1c .RI "int \fBmin_angular_momentum\fP () const" .br .RI "The minimum angular momentum in the shell\&. " .ti -1c .RI "int \fBmax_cartesian\fP () const" .br .RI "The maximum number of Cartesian functions in any contraction\&. " .ti -1c .RI "int \fBam\fP (int con) const" .br .RI "The angular momentum of the given contraction\&. " .ti -1c .RI "int \fBmax_am\fP () const" .br .RI "The maximum angular momentum of any contraction\&. " .ti -1c .RI "int \fBmin_am\fP () const" .br .RI "The minimum angular momentum of any contraction\&. " .ti -1c .RI "char \fBamchar\fP (int con) const" .br .RI "The character symbol for the angular momentum of the given contraction\&. " .ti -1c .RI "int \fBnfunction\fP (int con) const" .br .RI "The number of basis functions coming from the given contraction\&. " .ti -1c .RI "int \fBncartesian\fP () const" .br .RI "The total number of functions if this shell was Cartesian\&. " .ti -1c .RI "int \fBncartesian_with_aminc\fP (int aminc) const" .br .RI "The total number of Cartesian functions if this shift is applied to all of the angular momentums\&. " .ti -1c .RI "int \fBncartesian\fP (int con) const" .br .RI "The number of Cartesian functions for the given contraction\&. " .ti -1c .RI "int \fBis_cartesian\fP (int con) const" .br .RI "Returns nonzero if contraction con is Cartesian\&. " .ti -1c .RI "int \fBis_pure\fP (int con) const" .br .RI "Returns nonzero if contraction con is solid harmonics\&. " .ti -1c .RI "int \fBhas_pure\fP () const" .br .RI "Returns nonzero if any contraction is solid harmonics\&. " .ti -1c .RI "double \fBcoefficient_unnorm\fP (int con, int prim) const" .br .RI "Returns the contraction coef for unnormalized primitives\&. " .ti -1c .RI "double \fBcoefficient_norm\fP (int con, int prim) const" .br .RI "Returns the contraction coef for normalized primitives\&. " .ti -1c .RI "double \fBexponent\fP (int iprim) const" .br .RI "Returns the exponent of the given primitive\&. " .ti -1c .RI "int \fBvalues\fP (\fBCartesianIter\fP **, \fBSphericalTransformIter\fP **, const \fBSCVector3\fP &r, double *basis_values)" .br .RI "\fBCompute\fP the values for this shell at position r\&. " .ti -1c .RI "int \fBgrad_values\fP (\fBCartesianIter\fP **, \fBSphericalTransformIter\fP **, const \fBSCVector3\fP &R, double *g_values, double *basis_values=0) const" .br .RI "Like values(\&.\&.\&.), but computes gradients of the basis function values, too\&. " .ti -1c .RI "int \fBhessian_values\fP (\fBCartesianIter\fP **, \fBSphericalTransformIter\fP **, const \fBSCVector3\fP &R, double *h_values, double *g_values=0, double *basis_values=0) const" .br .RI "Like values(\&.\&.\&.), but computes first and second derivatives of the basis function values, too\&. " .ti -1c .RI "double \fBrelative_overlap\fP (const \fBRef\fP< \fBIntegral\fP > &, int con, int func1, int func2) const" .br .RI "Returns the intra-generalized-contraction overlap matrix element within an arbitrary constant for the shell\&. " .ti -1c .RI "double \fBrelative_overlap\fP (int con, int a1, int b1, int c1, int a2, int b2, int c2) const" .br .RI "Returns the intra-generalized-contraction overlap matrix element within an arbitrary constant for the shell\&. " .ti -1c .RI "int \fBequiv\fP (const \fBGaussianShell\fP *s)" .br .RI "Returns true if this and the argument are equivalent\&. " .ti -1c .RI "double \fBextent\fP (double threshold) const" .br .RI "Returns a radius\&. " .ti -1c .RI "double \fBmonobound\fP (double r) const" .br .RI "Returns a bound for the basis function\&. " .ti -1c .RI "void \fBprint\fP (std::ostream &=\fBExEnv::out0\fP()) const" .br .RI "Print the object\&. " .in -1c .SS "Additional Inherited Members" .SH "Detailed Description" .PP A Gaussian orbital shell\&. .SH "Constructor & Destructor Documentation" .PP .SS "sc::GaussianShell::GaussianShell (int ncn, int nprm, double * e, int * am, int * pure, double ** c, PrimitiveType pt = \fCGaussianShell::Normalized\fP, bool do_normalize_shell = \fCtrue\fP)" .PP A \fBGaussianShell\fP constructor\&. Users of \fBGaussianShell\fP must pass pointers to newed memory that is kept by \fBGaussianShell\fP and deleted by the destructor\&. The arguments for the following ctor are: .PD 0 .IP "\(bu" 2 ncn is the number of contracted functions (1 except for SP and gen\&. con\&.) .IP "\(bu" 2 nprm is the number of primitives .IP "\(bu" 2 e gives the exponents (length nprm) .IP "\(bu" 2 am gives the angular momentum (length ncn) .IP "\(bu" 2 pure is 1 for pure am and 0 for cartesian (length ncn) .IP "\(bu" 2 c are the contraction coefficients (length ncn by nprm) .IP "\(bu" 2 pt describes whether the primitive functions are to be considered normalized or unnormalized\&. This effects whether or not c is manipulated to give the correct normalization\&. .IP "\(bu" 2 If do_normalize_shell is true (the default), then the shell normalization constants will be folded into the coefficients\&. .PP .SS "sc::GaussianShell::GaussianShell (int ncn, int nprm, double * e, int * am, GaussianType pure, double ** c, PrimitiveType pt = \fCGaussianShell::Normalized\fP)" .PP A \fBGaussianShell\fP constructor\&. In this ctor pure is either GaussianShell::Cartesian or Gaussian::Pure and all of the contracted functions are treated in that way\&. (The user doesn\\'t need to compute generate a int*pure vector in this case\&.) .SS "sc::GaussianShell::GaussianShell (const \fBRef\fP< \fBKeyVal\fP > &, int pure)" .PP Construct a \fBGaussianShell\fP from \fBKeyVal\fP input\&. If pure is nonzero Cartesian functions will be used, otherwise, solid harmonics will be used\&. .SH "Member Function Documentation" .PP .SS "double sc::GaussianShell::extent (double threshold) const" .PP Returns a radius\&. All functions in the shell are below threshold outside this radius\&. .SS "double sc::GaussianShell::monobound (double r) const" .PP Returns a bound for the basis function\&. This bound is defined so that it is positive and monotonically decreasing as a function of r\&. .SS "double sc::GaussianShell::relative_overlap (int con, int a1, int b1, int c1, int a2, int b2, int c2) const" .PP Returns the intra-generalized-contraction overlap matrix element within an arbitrary constant for the shell\&. func1 and func2 are determined according to the axis exponents, a1, b1, c1, a2, b2, and c2\&. .SS "void sc::GaussianShell::save_data_state (\fBStateOut\fP &)\fC [virtual]\fP" .PP Save the base classes (with save_data_state) and the members in the same order that the \fBStateIn\fP CTOR initializes them\&. This must be implemented by the derived class if the class has data\&. .PP Reimplemented from \fBsc::SavableState\fP\&. .SS "int sc::GaussianShell::values (\fBCartesianIter\fP **, \fBSphericalTransformIter\fP **, const \fBSCVector3\fP & r, double * basis_values)" .PP \fBCompute\fP the values for this shell at position r\&. The basis_values argument must be vector of length \fBnfunction()\fP\&. .SH "Author" .PP Generated automatically by Doxygen for MPQC from the source code\&.