1! 2! Dalton, a molecular electronic structure program 3! Copyright (C) by the authors of Dalton. 4! 5! This program is free software; you can redistribute it and/or 6! modify it under the terms of the GNU Lesser General Public 7! License version 2.1 as published by the Free Software Foundation. 8! 9! This program is distributed in the hope that it will be useful, 10! but WITHOUT ANY WARRANTY; without even the implied warranty of 11! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12! Lesser General Public License for more details. 13! 14! If a copy of the GNU LGPL v2.1 was not distributed with this 15! code, you can obtain one at https://www.gnu.org/licenses/old-licenses/lgpl-2.1.en.html. 16! 17! 18module mlcc3_data 19! 20! 21! mlcc3 types 22! Authors Henrik Koch and Rolf H. Myhre 23! December 2014 24! 25! Purpose: Store variables required througout MLCC3 26! 27 use mlcc_typedef 28! 29 implicit none 30! 31! 32! Model variable from old Dalton 33 character(10) :: model ='CCSD ' 34! 35! Energy or response vector 36 logical :: resp_option = .false. 37 real(dp) :: freq 38! 39! Integer variables 40 integer :: n_orbitals, n_basis, n_lambda, n_occ, n_vir 41 integer :: n_t1am, n_t2am, n_t2am_pack 42 integer :: n_v_2, n_v_3, n_basis_2, n_basis_2_pack, n_bas_orb 43 integer :: n_ao_ints 44! 45! Info read from file 46 real(dp) :: nuclear_potential,scf_energy 47! 48 integer :: print_mlcc3 = 1 49! 50! Basic variable 51 logical :: mlcc3_active 52 logical :: mlcc3_nrg_spa 53 logical :: mlcc3_nrg_gen 54 integer :: n_active, n_general 55 integer :: n_occ_inp,n_vir_inp 56 integer :: n_gen_o_inp,n_gen_v_inp 57 logical :: set = .false. 58! 59! Various pointers 60! 61! Packed Omega vectors from CCSD 62 real(dp), dimension(:), pointer :: omega1 => null() 63 real(dp), dimension(:), pointer :: omega2 => null() 64! 65! T1 and T2 amplitudes, T2 packed 66 real(dp), dimension(:), pointer :: t1am => null() 67 real(dp), dimension(:), pointer :: t2am => null() 68! 69! T1 and T2 amplitudes, T2 packed 70 real(dp), dimension(:), pointer :: c1am => null() 71 real(dp), dimension(:), pointer :: c2am => null() 72! 73! HF orbital coefficients and fock diagonal elements 74 real(dp), dimension(:), pointer :: orb_coefficients => null() 75 real(dp), dimension(:), pointer :: Fock_diagonal => null() 76! 77! The MO Fock matrix, standard and T1- and C1-transformed 78 real(dp), dimension(:), pointer :: mo_fock_mat => null() 79 real(dp), dimension(:), pointer :: mo_fock_mat_t1 => null() 80 real(dp), dimension(:), pointer :: mo_fock_mat_c1 => null() 81! 82! Lambda matrices 83 real(dp), dimension(:), pointer :: lambda_hole => null() 84 real(dp), dimension(:), pointer :: lambda_part => null() 85! 86 real(dp), dimension(:), pointer :: lambda_hole_resp => null() 87 real(dp), dimension(:), pointer :: lambda_part_resp => null() 88! 89! AO density matrices, standard and T1- and C1-transformed 90 real(dp), dimension(:), pointer :: ao_density => null() 91 real(dp), dimension(:), pointer :: ao_density_t1 => null() 92 real(dp), dimension(:), pointer :: ao_density_c1 => null() 93! 94! File names 95! 96! MO integrals 97 character(len=12) :: bDck_file_name = "bDck_mo_ints" 98 character(len=12) :: Dbkc_file_name = 'Dbkc_mo_ints' 99 character(len=12) :: Ljck_file_name = 'Ljck_mo_ints' 100 character(len=12) :: jLkc_file_name = 'jLkc_mo_ints' 101 character(len=12) :: jbkc_file_name = 'jbkc_mo_ints' 102! 103! response MO integrals 104 character(len=12) :: bDck_resp_name = "bDck_mo_resp" 105 character(len=12) :: Dbkc_resp_name = 'Dbkc_mo_resp' 106 character(len=12) :: Ljck_resp_name = 'Ljck_mo_resp' 107 character(len=12) :: jLkc_resp_name = 'jLkc_mo_resp' 108! 109! 110end module mlcc3_data 111