CP2K 2.4 (Revision 12889)
Classes | Functions | Variables

atom_types Namespace Reference

Define the atom type and its sub types. More...

Classes

struct  atom_basis_type
 Provides all information about a basis set. More...
struct  atom_gthpot_type
 Provides all information about a pseudopotential. More...
struct  atom_potential_type
struct  atom_state
 Provides all information on states and occupation. More...
struct  eri
 Holds atomic integrals. More...
struct  atom_integrals
struct  atom_orbitals
 Holds atomic orbitals and energies. More...
struct  opmat_type
 Operator matrices. More...
struct  opgrid_type
 Operator grids. More...
struct  atom_energy_type
 All energies. More...
struct  atom_optimization_type
 Information on optimization procedure. More...
struct  atom_type
 Provides all information about an atomic kind. More...
struct  atom_p_type

Functions

subroutine, public init_atom_basis (basis, basis_section, zval, btyp, error)
 Initialize the basis for the atomic code.
subroutine, public release_atom_basis (basis, error)
subroutine, public create_atom_type (atom, error)
subroutine, public release_atom_type (atom, error)
subroutine, public set_atom (atom, basis, state, integrals, orbitals, potential, zcore, pp_calc, method_type, relativistic, coulomb_integral_type, exchange_integral_type, error)
subroutine, public create_atom_orbs (orbs, mbas, mo, error)
subroutine, public release_atom_orbs (orbs, error)
subroutine, public create_opmat (opmat, n, error)
subroutine, public release_opmat (opmat, error)
subroutine, public create_opgrid (opgrid, grid, error)
subroutine, public release_opgrid (opgrid, error)
subroutine, public Clementi_geobas (zval, cval, aval, ngto, ival, error)
subroutine read_basis_set (element_symbol, basis, basis_set_name, basis_set_file, basis_section, error)
subroutine, public read_atom_opt_section (optimization, opt_section, error)
subroutine, public init_atom_potential (potential, potential_section, zval, error)
subroutine, public release_atom_potential (potential, error)
subroutine read_gth_potential (element_symbol, potential, pseudo_name, pseudo_file, potential_section, error)

Variables

CHARACTER(len=*), parameter,
private 
moduleN = 'atom_types'
INTEGER, parameter, public GTO_BASIS = 100
INTEGER, parameter, public CGTO_BASIS = 101
INTEGER, parameter, public STO_BASIS = 102
INTEGER, parameter, public NUM_BASIS = 103
INTEGER, parameter, public NO_PSEUDO = 0
INTEGER, parameter, public GTH_PSEUDO = 1

Detailed Description

Define the atom type and its sub types.

Author:
jgh
Date:
03.03.2008
Version:
1.0

Function Documentation

subroutine,public atom_types::Clementi_geobas ( INTEGER,intent(in)  zval,
REAL(dp),intent(out)  cval,
REAL(dp),intent(out)  aval,
INTEGER,dimension(0:3),intent(out)  ngto,
INTEGER,dimension(0:3),intent(out)  ival,
TYPE(cp_error_type),intent(inout)  error 
)

Definition at line 1031 of file atom_types.f90.

Referenced by atom_kind_orbitals::calculate_atomic_density(), and init_atom_basis().

Here is the caller graph for this function:

subroutine,public atom_types::create_atom_orbs ( TYPE(atom_orbitals),pointer  orbs,
INTEGER,intent(in)  mbas,
INTEGER,intent(in)  mo,
TYPE(cp_error_type),intent(inout)  error 
)
subroutine,public atom_types::create_atom_type ( TYPE(atom_type),pointer  atom,
TYPE(cp_error_type),intent(inout)  error 
)
subroutine,public atom_types::create_opgrid ( TYPE(opgrid_type),pointer  opgrid,
TYPE(grid_atom_type),pointer  grid,
TYPE(cp_error_type),intent(inout)  error 
)
subroutine,public atom_types::create_opmat ( TYPE(opmat_type),pointer  opmat,
INTEGER,dimension(0:3),intent(in)  n,
TYPE(cp_error_type),intent(inout)  error 
)

Definition at line 936 of file atom_types.f90.

References CPPostcondition.

Referenced by atom_electronic_structure::calculate_atom_restricted(), and atom_electronic_structure::calculate_atom_unrestricted().

Here is the caller graph for this function:

subroutine,public atom_types::init_atom_basis ( TYPE(atom_basis_type),intent(inout)  basis,
TYPE(section_vals_type),pointer  basis_section,
INTEGER,intent(in)  zval,
CHARACTER(LEN=2)  btyp,
TYPE(cp_error_type),intent(inout)  error 
)

Initialize the basis for the atomic code.

Note:
Highly accurate relativistic universal Gaussian basis set: Dirac-Fock-Coulomb calculations for atomic systems up to nobelium J. Chem. Phys. 101, 6829 (1994); DOI:10.1063/1.468311 G. L. Malli and A. B. F. Da Silva Department of Chemistry, Simon Fraser University, Burnaby, B.C., Canada Yasuyuki Ishikawa Department of Chemistry, University of Puerto Rico, San Juan, Puerto Rico

A universal Gaussian basis set is developed that leads to relativistic Dirac-Fock SCF energies of comparable accuracy as that obtained by the accurate numerical finite-difference method (GRASP2 package) [J. Phys. B 25, 1 (1992)]. The Gaussian-type functions of our universal basis set satisfy the relativistic boundary conditions associated with the finite nuclear model for a finite speed of light and conform to the so-called kinetic balance at the nonrelativistic limit. We attribute the exceptionally high accuracy obtained in our calculations to the fact that the representation of the relativistic dynamics of an electron in a spherical ball finite nucleus near the origin in terms of our universal Gaussian basis set is as accurate as that provided by the numerical finite-difference method. Results of the Dirac-Fock-Coulomb energies for a number of atoms up to No (Z=102) and some negative ions are presented and compared with the recent results obtained with the numerical finite-difference method and geometrical Gaussian basis sets by Parpia, Mohanty, and Clementi [J. Phys. B 25, 1 (1992)]. The accuracy of our calculations is estimated to be within a few parts in 109 for all the atomic systems studied.

Definition at line 286 of file atom_types.f90.

References qs_grid_atom::allocate_grid_atom(), CGTO_BASIS, Clementi_geobas(), input_constants::contracted_gto, CPAssert, CPPostcondition, GTO_BASIS, NUM_BASIS, periodic_table::ptable, read_basis_set(), and STO_BASIS.

Referenced by atom_basis::atom_basis_opt(), atom_energy::atom_energy_opt(), and atom_pseudo::atom_pseudo_opt().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine,public atom_types::init_atom_potential ( TYPE(atom_potential_type),intent(inout)  potential,
TYPE(section_vals_type),pointer  potential_section,
INTEGER,intent(in)  zval,
TYPE(cp_error_type),intent(inout)  error 
)

Definition at line 2028 of file atom_types.f90.

References CPPostcondition, periodic_table::ptable, and read_gth_potential().

Referenced by atom_basis::atom_basis_opt(), atom_energy::atom_energy_opt(), and atom_pseudo::atom_pseudo_opt().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine,public atom_types::read_atom_opt_section ( TYPE(atom_optimization_type),intent(inout)  optimization,
TYPE(section_vals_type),pointer  opt_section,
TYPE(cp_error_type),intent(inout)  error 
)

Definition at line 2002 of file atom_types.f90.

Referenced by atom_basis::atom_basis_opt(), atom_energy::atom_energy_opt(), and atom_pseudo::atom_pseudo_opt().

Here is the caller graph for this function:

subroutine atom_types::read_basis_set ( CHARACTER(LEN=*),intent(in)  element_symbol,
TYPE(atom_basis_type),intent(inout)  basis,
CHARACTER(LEN=*),intent(in)  basis_set_name,
CHARACTER(LEN=*),intent(in)  basis_set_file,
TYPE(section_vals_type),pointer  basis_section,
TYPE(cp_error_type),intent(inout)  error 
) [private]

Definition at line 1787 of file atom_types.f90.

References cp_linked_list_val::cp_sll_val_next(), CPPostcondition, mathconstants::dfac, error, string_utilities::remove_word(), input_section_types::section_vals_get(), and input_val_types::val_get().

Referenced by init_atom_basis().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine atom_types::read_gth_potential ( CHARACTER(LEN=*),intent(in)  element_symbol,
TYPE(atom_gthpot_type),intent(inout)  potential,
CHARACTER(LEN=*),intent(in)  pseudo_name,
CHARACTER(LEN=*),intent(in)  pseudo_file,
TYPE(section_vals_type),pointer  potential_section,
TYPE(cp_error_type),intent(inout)  error 
) [private]

Definition at line 2100 of file atom_types.f90.

References cp_linked_list_val::cp_sll_val_next(), CPPostcondition, error, cp_parser_methods::parser_get_next_line(), string_utilities::remove_word(), input_section_types::section_vals_get(), and input_val_types::val_get().

Referenced by init_atom_potential().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine,public atom_types::release_atom_basis ( TYPE(atom_basis_type),intent(inout)  basis,
TYPE(cp_error_type),intent(inout)  error 
)
subroutine,public atom_types::release_atom_orbs ( TYPE(atom_orbitals),pointer  orbs,
TYPE(cp_error_type),intent(inout)  error 
)

Definition at line 844 of file atom_types.f90.

References CPAssert, and CPPostcondition.

Referenced by release_atom_type().

Here is the caller graph for this function:

subroutine,public atom_types::release_atom_potential ( TYPE(atom_potential_type),intent(inout)  potential,
TYPE(cp_error_type),intent(inout)  error 
)
subroutine,public atom_types::release_atom_type ( TYPE(atom_type),pointer  atom,
TYPE(cp_error_type),intent(inout)  error 
)

Definition at line 711 of file atom_types.f90.

References CPAssert, CPPostcondition, and release_atom_orbs().

Referenced by atom_basis::atom_basis_opt(), atom_energy::atom_energy_opt(), atom_pseudo::atom_pseudo_opt(), atom_kind_orbitals::calculate_atomic_density(), and atom_kind_orbitals::calculate_atomic_orbitals().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine,public atom_types::release_opgrid ( TYPE(opgrid_type),pointer  opgrid,
TYPE(cp_error_type),intent(inout)  error 
)
subroutine,public atom_types::release_opmat ( TYPE(opmat_type),pointer  opmat,
TYPE(cp_error_type),intent(inout)  error 
)

Definition at line 961 of file atom_types.f90.

References CPPostcondition.

Referenced by atom_electronic_structure::calculate_atom_restricted(), and atom_electronic_structure::calculate_atom_unrestricted().

Here is the caller graph for this function:

subroutine,public atom_types::set_atom ( TYPE(atom_type),pointer  atom,
TYPE(atom_basis_type),optional,pointer  basis,
TYPE(atom_state),optional,pointer  state,
TYPE(atom_integrals),optional,pointer  integrals,
TYPE(atom_orbitals),optional,pointer  orbitals,
TYPE(atom_potential_type),optional,pointer  potential,
INTEGER,intent(in),optional  zcore,
LOGICAL,intent(in),optional  pp_calc,
INTEGER,intent(in),optional  method_type,
INTEGER,intent(in),optional  relativistic,
INTEGER,intent(in),optional  coulomb_integral_type,
INTEGER,intent(in),optional  exchange_integral_type,
TYPE(cp_error_type),intent(inout)  error 
)

Variable Documentation

INTEGER,parameter,public atom_types::CGTO_BASIS = 101
INTEGER,parameter,public atom_types::GTH_PSEUDO = 1
INTEGER,parameter,public atom_types::GTO_BASIS = 100
CHARACTER(len=*),parameter,private atom_types::moduleN = 'atom_types'

Definition at line 54 of file atom_types.f90.

INTEGER,parameter,public atom_types::NO_PSEUDO = 0
INTEGER,parameter,public atom_types::NUM_BASIS = 103
INTEGER,parameter,public atom_types::STO_BASIS = 102