|
CP2K 2.4 (Revision 12889)
|
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 |
Define the atom type and its sub types.
| 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 | ||
| ) |
Definition at line 784 of file atom_types.f90.
References CPAssert, and CPPostcondition.
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 caller graph for this function:| subroutine,public atom_types::create_atom_type | ( | TYPE(atom_type),pointer | atom, |
| TYPE(cp_error_type),intent(inout) | error | ||
| ) |
Definition at line 690 of file atom_types.f90.
References CPAssert, and CPPostcondition.
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 caller graph for this function:| subroutine,public atom_types::create_opgrid | ( | TYPE(opgrid_type),pointer | opgrid, |
| TYPE(grid_atom_type),pointer | grid, | ||
| TYPE(cp_error_type),intent(inout) | error | ||
| ) |
Definition at line 983 of file atom_types.f90.
References CPPostcondition.
Referenced by atom_fit::atom_fit_density(), 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::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.
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 | ||
| ) |
Definition at line 648 of file atom_types.f90.
References CPPostcondition.
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 caller graph for this function:| 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 | ||
| ) |
Definition at line 2089 of file atom_types.f90.
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 caller graph for this function:| 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 | ||
| ) |
Definition at line 1009 of file atom_types.f90.
References CPPostcondition.
Referenced by atom_fit::atom_fit_density(), 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::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 | ||
| ) |
Definition at line 742 of file atom_types.f90.
References CPAssert, and error.
Referenced by atom_basis::atom_basis_opt(), atom_energy::atom_energy_opt(), atom_pseudo::atom_pseudo_opt(), atom_fit::basis_fit(), atom_kind_orbitals::calculate_atomic_density(), atom_kind_orbitals::calculate_atomic_orbitals(), and atom_fit::pseudo_fit().
Here is the caller graph for this function:| INTEGER,parameter,public atom_types::CGTO_BASIS = 101 |
Definition at line 56 of file atom_types.f90.
Referenced by atom_operators::atom_int_setup(), atom_operators::atom_ppint_setup(), atom_output::atom_print_basis(), atom_output::atom_print_basis_file(), atom_operators::atom_relint_setup(), atom_kind_orbitals::calculate_atomic_orbitals(), atom_utils::coulomb_potential_analytic(), atom_operators::dkh_integrals(), init_atom_basis(), and atom_utils::potential_analytic().
| INTEGER,parameter,public atom_types::GTH_PSEUDO = 1 |
Definition at line 60 of file atom_types.f90.
Referenced by atom_operators::atom_ppint_setup(), atom_output::atom_print_potential(), atom_energy::atom_write_upf(), atom_electronic_structure::calculate_atom_restricted(), atom_electronic_structure::calculate_atom_unrestricted(), and atom_xc::calculate_atom_vxc_lda().
| INTEGER,parameter,public atom_types::GTO_BASIS = 100 |
Definition at line 56 of file atom_types.f90.
Referenced by atom_fit::atom_fit_basis(), atom_operators::atom_int_setup(), atom_operators::atom_ppint_setup(), atom_output::atom_print_basis(), atom_output::atom_print_basis_file(), atom_operators::atom_relint_setup(), atom_kind_orbitals::calculate_atomic_density(), atom_operators::dkh_integrals(), and init_atom_basis().
| 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 |
Definition at line 56 of file atom_types.f90.
Referenced by atom_operators::atom_int_setup(), atom_operators::atom_ppint_setup(), atom_output::atom_print_basis(), atom_output::atom_print_basis_file(), atom_operators::atom_relint_setup(), atom_operators::dkh_integrals(), and init_atom_basis().
| INTEGER,parameter,public atom_types::STO_BASIS = 102 |
Definition at line 56 of file atom_types.f90.
Referenced by atom_fit::atom_fit_basis(), atom_operators::atom_int_setup(), atom_operators::atom_ppint_setup(), atom_output::atom_print_basis(), atom_output::atom_print_basis_file(), atom_operators::atom_relint_setup(), atom_operators::dkh_integrals(), and init_atom_basis().
1.7.3