sc_GaussianBasisSet man page on DragonFly

Man page or keyword search:  
man Server   44335 pages
apropos Keyword Search (all sections)
Output format
DragonFly logo
[printable version]

sc::GaussianBasisSet(3)		     MPQC	       sc::GaussianBasisSet(3)

NAME
       sc::GaussianBasisSet - The GaussianBasisSet class is used describe a
       basis set composed of atomic gaussian orbitals.

SYNOPSIS
       #include <gaussbas.h>

       Inherits sc::SavableState.

   Classes
       class ValueData
	   This holds scratch data needed to compute basis function values.

   Public Types
       enum UnitType { Unit } This can be given to a CTOR to construct a unit
	   basis function. "

   Public Member Functions
       GaussianBasisSet (const Ref< KeyVal > &)
	   The KeyVal constructor.
       GaussianBasisSet (UnitType)
	   This can be given GaussianBasisSet::Unit to construct a basis set
	   with a single basis function that is one everywhere.
       GaussianBasisSet (StateIn &)
       Ref< GaussianBasisSet > operator+ (const Ref< GaussianBasisSet > &B)
	   Returns a GaussianBasisSet object that consists of the basis
	   functions for each atom in this followed by the basis functions in
	   B for the corresponding atom.
       void save_data_state (StateOut &)
	   Save the base classes (with save_data_state) and the members in the
	   same order that the StateIn CTOR initializes them.
       const char * name () const
	   Return the name of the basis set (is nonnull only if keyword 'name'
	   was provided)
       const char * label () const
	   Return the label of the basis set.
       Ref< Molecule > molecule () const
	   Return the Molecule object.
       Ref< SCMatrixKit > matrixkit ()
	   Returns the SCMatrixKit that is to be used for AO bases.
       Ref< SCMatrixKit > so_matrixkit ()
	   Returns the SCMatrixKit that is to be used for SO bases.
       RefSCDimension basisdim ()
	   Returns the SCDimension object for the dimension.
       int ncenter () const
	   Return the number of centers.
       int nshell () const
	   Return the number of shells.
       int nshell_on_center (int icenter) const
	   Return the number of shells on the given center.
       int shell_on_center (int icenter, int shell) const
	   Return an overall shell number, given a center and the shell number
	   on that center.
       int shell_to_center (int ishell) const
	   Return the center on which the given shell is located.
       int shell_to_primitive (int ishell) const
	   Return the overall index of the first primitive from the given
	   shell.
       int nbasis () const
	   Return the number of basis functions.
       int nbasis_on_center (int icenter) const
	   Return the number of basis functions on the given center.
       int nprimitive () const
	   Return the number of primitive Gaussians.
       int has_pure () const
	   Return true if basis contains solid harmonics Gaussians.
       int max_nfunction_in_shell () const
	   Return the maximum number of functions that any shell has.
       int max_ncartesian_in_shell (int aminc=0) const
	   Return the maximum number of Cartesian functions that any shell
	   has.
       int max_nprimitive_in_shell () const
	   Return the maximum number of primitive Gaussian that any shell has.
       int max_angular_momentum () const
	   Return the highest angular momentum in any shell.
       int max_ncontraction () const
	   Return the maximum number of Gaussians in a contraction in any
	   shell.
       int max_am_for_contraction (int con) const
	   Return the maximum angular momentum found in the given contraction
	   number for any shell.
       int max_cartesian () const
	   Return the maximum number of Cartesian functions in any shell.
       int shell_to_function (int i) const
	   Return the number of the first function in the given shell.
       int function_to_shell (int i) const
	   Return the shell to which the given function belongs.
       const GaussianShell & operator() (int i) const
	   Return a reference to GaussianShell number i.
       GaussianShell & operator() (int i)
	   Return a reference to GaussianShell number i.
       const GaussianShell & operator[] (int i) const
	   Return a reference to GaussianShell number i.
       GaussianShell & operator[] (int i)
	   Return a reference to GaussianShell number i.
       const GaussianShell & shell (int i) const
	   Return a reference to GaussianShell number i.
       GaussianShell & shell (int i)
	   Return a reference to GaussianShell number i.
       const GaussianShell & operator() (int icenter, int ishell) const
	   Return a reference to GaussianShell number ishell on center
	   icenter.
       GaussianShell & operator() (int icenter, int ishell)
	   Return a reference to GaussianShell number ishell on center
	   icenter.
       const GaussianShell & shell (int i, int j) const
	   Return a reference to GaussianShell number j on center i.
       GaussianShell & shell (int i, int j)
	   Return a reference to GaussianShell number j on center i.
       double r (int icenter, int xyz) const
	   The location of center icenter.
       int values (const SCVector3 &r, ValueData *, double *basis_values)
	   const
	   Compute the values for this basis set at position r.
       int grad_values (const SCVector3 &r, ValueData *, double *g_values,
	   double *basis_values=0) const
	   Like values(...), but computes gradients of the basis function
	   values, too.
       int hessian_values (const SCVector3 &r, ValueData *, double *h_values,
	   double *g_values=0, double *basis_values=0) const
	   Like values(...), but computes first and second derivatives of the
	   basis function values, too.
       int shell_values (const SCVector3 &r, int sh, ValueData *, double
	   *basis_values) const
	   Compute the values for the given shell functions at position r.
       int grad_shell_values (const SCVector3 &r, int sh, ValueData *, double
	   *g_values, double *basis_values=0) const
	   Like values(...), but computes gradients of the shell function
	   values, too.
       int hessian_shell_values (const SCVector3 &r, int sh, ValueData *,
	   double *h_values, double *g_values=0, double *basis_values=0) const
	   Like values(...), but computes first and second derivatives of the
	   shell function values, too.
       int equiv (const Ref< GaussianBasisSet > &b)
	   Returns true if this and the argument are equivalent.
       void print_brief (std::ostream &=ExEnv::out0()) const
	   Print a brief description of the basis set.
       void print (std::ostream &=ExEnv::out0()) const
	   Print a detailed description of the basis set.

   Protected Member Functions
       GaussianBasisSet (const GaussianBasisSet &)
       virtual void set_matrixkit (const Ref< SCMatrixKit > &)

   Additional Inherited Members
Detailed Description
       The GaussianBasisSet class is used describe a basis set composed of
       atomic gaussian orbitals.

       Inputs for common basis sets are included in the MPQC distribution.
       They have been obtained from the EMSL Basis Set Database and translated
       into the MPQC format. The citation for this database is below. The
       technical citation for each basis set is listed in the individual basis
       set data files, in MPQC's lib/basis directory.

       Following is a table with available basis sets listing the supported
       elements for each basis and the number of basis functions for H, $n_0$,
       first row, $n_1$, and second row, $n_2$, atoms. Basis sets with non-
       alpha-numerical characters in their name must be given in quotes.

       Basis SetElements$n_0$$n_1$$n_2$ STO-2GH-Ca159 STO-3GH-Kr159 STO-3G*H-
       Ar1514 STO-6GH-Kr159 MINI (Huzinaga)H-Ca159 MINI (Scaled)H-Ca159 MIDI
       (Huzinaga)H-Na, Al-K2913 DZ (Dunning)H, Li, B-Ne, Al-Cl21018 DZP
       (Dunning)H, Li, B-Ne, Al-Cl51624 DZP + Diffuse (Dunning)H, B-
       Ne6193-21GH-Kr2913 3-21G*H-Ar2919 3-21++GH-Ar31317 3-21++G*H-Ar31323
       4-31GH-Ne, P-Cl2913 6-31GH-Zn2913 6-31G*H-Zn21519 6-31G**H-Zn51519
       6-31+G*H-Ar21923 6-31++GH-Ca31317 6-31++G*H-Ar31923 6-31++G**H-Ar61923
       6-311GH-Ca, Ga-Kr31321 6-311G*H-Ca, Ga-Kr31826 6-311G**H-Ca, Ga-Kr61826
       6-311G(2df,2pd)H-Ne, K, Ca14306-311++G**H-Ne7226-311++G(2d,2p)H-
       Ca102735 6-311++G(3df,3pd)H-Ar183947 cc-pVDZH-Ar, Ca, Ga-Kr51418 cc-
       pVTZH-Ar, Ca, Ga-Kr143034 cc-pVQZH-Ar, Ca, Ga-Kr305559 cc-pV5ZH-Ar, Ca,
       Ga-Kr559195 cc-pV6ZH, He, B-Ne, Al-Ar91140144 aug-cc-pVDZH, He, B-Ne,
       Al-Ar, Ga-Kr92327 aug-cc-pVTZH, He, B-Ne, Al-Ar, Ga-Kr234650 aug-cc-
       pVQZH, He, B-Ne, Al-Ar, Ga-Kr468084 aug-cc-pV5ZH, He, B-Ne, Al-Ar, Ga-
       Kr80127131 aug-cc-pV6ZH, He, B-Ne, Al-Ar127189193 cc-pCVDZLi, B-Ar1827
       cc-pCVTZLi, B-Ar4359 cc-pCVQZLi, B-Ar84109 cc-pCV5ZB-Ne145aug-cc-
       pCVDZB-F, Al-Ar2736 aug-cc-pCVTZB-Ne, Al-Ar5975 aug-cc-pCVQZB-Ne, Al-
       Ar109134 aug-cc-pCV5ZB-F181NASA Ames ANOH, B-Ne, Al, P, Ti, Fe,
       Ni305559 pc-0H, C-F, Si-Cl2913 pc-1H, C-F, Si-Cl51418 pc-2H, C-F, Si-
       Cl143034 pc-3H, C-F, Si-Cl346464 pc-4H, C-F, Si-Cl63109105 pc-0-augH,
       C-F, Si-Cl31317 pc-1-augH, C-F, Si-Cl92327 pc-2-augH, C-F, Si-Cl234650
       pc-3-augH, C-F, Si-Cl508989 pc-4-augH, C-F, Si-Cl88145141

       All basis sets except for the pc-n and pc-n-aug basis sets were
       obtained from the Extensible Computational Chemistry Environment Basis
       Set Database, Version 12/03/03, as developed and distributed by the
       Molecular Science Computing Facility, Environmental and Molecular
       Sciences Laboratory which is part of the Pacific Northwest Laboratory,
       P.O. Box 999, Richland, Washington 99352, USA, and funded by the U.S.
       Department of Energy. The Pacific Northwest Laboratory is a multi-
       program laboratory operated by Battelle Memorial Institute for the U.S.
       Department of Energy under contract DE-AC06-76RLO 1830. Contact David
       Feller or Karen Schuchardt for further information.

       The pc-n and pc-n-aug basis sets are the polarization consistent basis
       sets of Frank Jensen. See J. Chem. Phys. 115 (2001) 9113; J. Chem.
       Phys. 116 (2002) 7372; J. Chem. Phys. 117 (2002) 9234; and J. Chem.
       Phys. 121 (2004) 3463.

Constructor & Destructor Documentation
   sc::GaussianBasisSet::GaussianBasisSet (const Ref< KeyVal > &)
       The KeyVal constructor.

       molecule
	   The gives a Molecule object. The is no default.

       puream
	   If this boolean parameter is true then 5D, 7F, etc. will be used.
	   Otherwise all cartesian functions will be used. The default depends
	   on the particular basis set.

       name
	   This is a string giving the name of the basis set. The above table
	   of basis sets gives some of the recognized basis set names. It may
	   be necessary to put the name in double quotes. There is no default.

       basis
	   This is a vector of basis set names that can give a different basis
	   set to each atom in the molecule. If the element vector is given,
	   then it gives different basis sets to different elements. The
	   default is to give every atom the basis set specified in name.

       element
	   This is a vector of elements. If it is given then it must have the
	   same number of entries as the basis vector.

       basisdir
	   A string giving a directory where basis set data files are to be
	   sought. See the text below for a complete description of what
	   directories are consulted.

       basisfiles
	   Each keyword in this vector of files is appended to the directory
	   specified with basisdir and basis set data is read from them.

       matrixkit
	   Specifies a SCMatrixKit object. It is usually not necessary to give
	   this keyword, as the default action should get the correct
	   SCMatrixKit.

       Several files in various directories are checked for basis set data.
       First, basis sets can be given by the user in the basis section at the
       top level of the main input file. Next, if a path is given with the
       basisdir keyword, then all of the files given with the basisfiles
       keyword are read in after appending their names to the value of
       basisdir. Basis sets can be given in these files in the basis section
       at the top level as well. If the named basis set still cannot be found,
       then GaussianBasisSet will try convert the basis set name to a file
       name and check first in the directory given by basisdir. Next it checks
       for the environment variable SCLIBDIR. If it is set it will look for
       the basis file in $SCLIBDIR/basis. Otherwise it will look in the source
       code distribution in the directory SC/lib/basis. If the executable has
       changed machines or the source code has be moved, then it may be
       necessary to copy the library files to your machine and set the
       SCLIBDIR environmental variable.

       The basis set itself is also given in the ParsedKeyVal format. There
       are two recognized formats for basis sets:

       array of shells
	   One must specify the keyword :basis: followed by the lowercase
	   atomic name followed by : followed by the basis set name (which may
	   need to be placed inside double quotes). The value for the keyword
	   is an array of shells. Each shell reads the following keywords:

       type
	   This is a vector that describes each component of this shell. For
	   each element the following two keywords are read:

       am  The angular momentum of the component. This can be given as the
	   letter designation, s, p, d, etc. There is no default.

       puream
	   If this boolean parameter is true then 5D, 7F, etc. shells are
	   used. The default is false. This parameter can be overridden in the
	   GaussianBasisSet specification.

       exp
	   This is a vector giving the exponents of the primitive Gaussian
	   functions.

       coef
	   This is a matrix giving the coeffients of the primitive Gaussian
	   functions. The first index gives the component number of the shell
	   and the second gives the primitive number.

	   An example might be easier to understand. This is a basis set
	   specificition for STO-2G carbon:

       basis: (
	carbon: 'STO-2G': [
	 (type: [(am = s)]
	  {	 exp	  coef:0 } = {
	     27.38503303 0.43012850
	      4.87452205 0.67891353
	  })
	 (type: [(am = p) (am = s)]
	  {	exp	 coef:1	    coef:0 } = {
	      1.13674819 0.04947177 0.51154071
	      0.28830936 0.96378241 0.61281990
	  })
	]
       )

       basis set of even-tempered primitive Gaussians
	   Such basis set format is given as a group of keywords. The name of
	   the group is :basis: followed by the lowercase atomic name followed
	   by : followed by the basis set name (which may need to be placed
	   inside double quotes). The group of keywords must contain vectors
	   am and nprim, which specify the angular momentum and the number of
	   shells in each block of even-tempered primitives. In addition, one
	   must provide any two of the following vectors:

       first_exp
	   The exponent of the 'tightest' primitive Gaussian in the block.

       last_exp
	   The exponent of the most 'diffuse' primitive Gaussian in the block.

       exp_ratio
	   The ratio of exponents of consecutive primitive Gaussians in the
	   block.

	   Note that the dimensions of each vector must be the same.

       Here's an example of a basis set composed of 2 blocks of even-tempered
       s-functions and 1 block of even-tempered p-functions.

       basis: (
	neon: '20s5s13p':(

	  am = [ 0 0 1 ]
	  nprim = [ 20 5 13 ]
	  first_exp = [ 1000.0 0.1  70.0 ]
	  last_exp =  [	   1.0 0.01  0.1 ]

	)
       )

   sc::GaussianBasisSet::GaussianBasisSet (UnitType)
       This can be given GaussianBasisSet::Unit to construct a basis set with
       a single basis function that is one everywhere. This can be used with
       integral evaluators to compute certain classes of integrals, with
       limitations.

Member Function Documentation
   int sc::GaussianBasisSet::grad_shell_values (const SCVector3 & r, int sh,
       ValueData *, double * g_values, double * basis_values = 0) const
       Like values(...), but computes gradients of the shell function values,
       too. See the other grad_values(...) members for more information.

   int sc::GaussianBasisSet::grad_values (const SCVector3 & r, ValueData *,
       double * g_values, double * basis_values = 0) const
       Like values(...), but computes gradients of the basis function values,
       too. The g_values argument must be vector of length 3*nbasis. The data
       will be written in the order bf1_x, bf1_y, bf1_z, ...

   int sc::GaussianBasisSet::hessian_shell_values (const SCVector3 & r, int
       sh, ValueData *, double * h_values, double * g_values = 0, double *
       basis_values = 0) const
       Like values(...), but computes first and second derivatives of the
       shell function values, too. See the other hessian_values(...) members
       for more information.

   int sc::GaussianBasisSet::hessian_values (const SCVector3 & r, ValueData *,
       double * h_values, double * g_values = 0, double * basis_values = 0)
       const
       Like values(...), but computes first and second derivatives of the
       basis function values, too. h_values must be vector of length 6*nbasis.
       The data will be written in the order bf1_xx, bf1_yx, bf1_yy, bf1_zx,
       bf1_zy, bf1_zz, ...

   const char* sc::GaussianBasisSet::label () const [inline]
       Return the label of the basis set. label() return the same string as
       name() if keyword 'name' was provided, otherwise it is a unique
       descriptive string which can be arbitrarily long.

       References name().

   int sc::GaussianBasisSet::max_am_for_contraction (int con) const
       Return the maximum angular momentum found in the given contraction
       number for any shell.

   int sc::GaussianBasisSet::max_ncartesian_in_shell (int aminc = 0) const
       Return the maximum number of Cartesian functions that any shell has.
       The optional argument is an angular momentum increment.

   Ref<GaussianBasisSet> sc::GaussianBasisSet::operator+ (const Ref<
       GaussianBasisSet > & B)
       Returns a GaussianBasisSet object that consists of the basis functions
       for each atom in this followed by the basis functions in B for the
       corresponding atom. The Molecule object for the two basis sets must be
       identical.

   double sc::GaussianBasisSet::r (int icenter, int xyz) const
       The location of center icenter. The xyz argument is 0 for x, 1 for y,
       and 2 for z.

   void sc::GaussianBasisSet::save_data_state (StateOut &) [virtual]
       Save the base classes (with save_data_state) and the members in the
       same order that the StateIn CTOR initializes them. This must be
       implemented by the derived class if the class has data.

       Reimplemented from sc::SavableState.

   int sc::GaussianBasisSet::shell_on_center (int icenter, int shell) const
       Return an overall shell number, given a center and the shell number on
       that center.

   int sc::GaussianBasisSet::shell_values (const SCVector3 & r, int sh,
       ValueData *, double * basis_values) const
       Compute the values for the given shell functions at position r. See the
       other values(...) members for more information.

   int sc::GaussianBasisSet::values (const SCVector3 & r, ValueData *, double
       * basis_values) const
       Compute the values for this basis set at position r. The basis_values
       argument must be vector of length nbasis.

Author
       Generated automatically by Doxygen for MPQC from the source code.

Version 2.3.1			Fri Feb 19 2016	       sc::GaussianBasisSet(3)
[top]

List of man pages available for DragonFly

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net