Loading changelog.md +1 −0 Original line number Diff line number Diff line Loading @@ -226,6 +226,7 @@ some roots were converged and others below the linear dependence threshold. eT-p - Updated README description of PCMSolver installation. eT-program/eT!1491 - Removed u_aibj from coupled cluster wavefunctions. eT-program/eT!1502 - Removed ``construct_right_transition_density_doubles``. eT-program/eT!1507 - Improve input keywords for (TD) HF response/es calculation to be consistent with CC and to allow for new keywords. eT-program/eT!1534 ### Optimization - Optimized CCSD Jacobian for triplet, dd7. eT-program/eT!/1209 Loading src/engines/hf/tasks/tdhf_es_task_class.F90 +1 −1 Original line number Diff line number Diff line Loading @@ -85,7 +85,7 @@ contains call wf%set_n_tdhf_parameters() tamm_dancoff = .false. tamm_dancoff = input%is_keyword_present('tamm-dancoff', 'solver tdhf es') tamm_dancoff = input%is_keyword_present('tamm-dancoff', 'solver hf es') call solver_factory%create(wf, solver, tamm_dancoff) Loading src/engines/hf/tasks/tdhf_polarizability_task_class.F90 +8 −8 Original line number Diff line number Diff line Loading @@ -137,7 +137,7 @@ contains do f = 1, this%n_frequencies if (.not. input%is_keyword_present('print iterations', 'solver tdhf response')) & if (.not. input%is_keyword_present('print iterations', 'solver hf response')) & call output%mute() do k = 1, 3 Loading @@ -154,7 +154,7 @@ contains enddo if (.not. input%is_keyword_present('print iterations', 'solver tdhf response')) & if (.not. input%is_keyword_present('print iterations', 'solver hf response')) & call output%unmute() do k = 1, 3 Loading @@ -181,11 +181,11 @@ contains class(tdhf_polarizability_task), intent(inout) :: this if (input%is_keyword_present('frequencies', 'solver tdhf response')) then if (input%is_keyword_present('frequencies', 'solver hf response')) then this%n_frequencies = input%get_n_elements_for_keyword('frequencies', 'solver tdhf response') this%n_frequencies = input%get_n_elements_for_keyword('frequencies', 'solver hf response') call mem%alloc(this%frequencies, this%n_frequencies) call input%get_array_for_keyword('frequencies', 'solver tdhf response', this%n_frequencies, this%frequencies) call input%get_array_for_keyword('frequencies', 'solver hf response', this%n_frequencies, this%frequencies) else Loading @@ -196,13 +196,13 @@ contains endif this%threshold = 1.0d-3 call input%get_keyword('residual threshold', 'solver tdhf response', this%threshold) call input%get_keyword('residual threshold', 'solver hf response', this%threshold) this%max_dim_red = 100 call input%get_keyword('max reduced dimension', 'solver tdhf response', this%max_dim_red) call input%get_keyword('max reduced dimension', 'solver hf response', this%max_dim_red) this%max_iterations = 100 call input%get_keyword('max iterations', 'solver tdhf response', this%max_iterations) call input%get_keyword('max iterations', 'solver hf response', this%max_iterations) end subroutine read_polarizability_settings Loading src/io/input/input_tool_class.F90 +19 −24 Original line number Diff line number Diff line Loading @@ -189,6 +189,7 @@ contains type(section) :: grid_info type(section) :: harmonic_frequencies type(section) :: hf_mean_value type(section) :: hf_response type(section) :: integrals type(section) :: lanczos type(section) :: memory Loading @@ -206,14 +207,13 @@ contains type(section) :: solver_cc_response type(section) :: solver_cholesky type(section) :: solver_ci type(section) :: solver_cphf type(section) :: solver_cpp type(section) :: solver_fft_dipole_moment type(section) :: solver_fft_electric_field type(section) :: solver_geoopt type(section) :: solver_scf type(section) :: solver_tdhf_es type(section) :: solver_tdhf_response type(section) :: solver_hf_es type(section) :: solver_hf_response type(section) :: system type(section) :: visualization Loading Loading @@ -305,13 +305,11 @@ contains 'ground state', & 'geometry optimization', & 'harmonic frequencies', & 'tdhf response', & 'tdhf excited state', & 'excited state', & 'response', & 'mean value', & 'real time', & 'shielding', & 'restart']) Loading Loading @@ -423,6 +421,12 @@ contains 'molecular gradient', & 'quadrupole']) hf_response = section(name_ = 'hf response', & required = .false., & allowed_keywords = [character(len=30) :: & 'shielding', & 'polarizabilities']) integrals = section(name_ = 'integrals', & required = .false., & Loading Loading @@ -650,17 +654,6 @@ contains 'states', & 'storage']) solver_cphf = section(name_ = 'solver cphf', & required = .false., & allowed_keywords = [character(len=30) :: & 'max iterations', & 'max reduced dimension', & 'residual threshold', & 'restart', & 'storage']) solver_fft_dipole_moment = section(name_ = 'solver fft dipole moment', & required = .false., & allowed_keywords = [character(len=30) :: & Loading Loading @@ -725,7 +718,7 @@ contains 'write molden']) solver_tdhf_es = section(name_ = 'solver tdhf es', & solver_hf_es = section(name_ = 'solver hf es', & required = .false., & allowed_keywords = [character(len=30) :: & 'energy threshold', & Loading @@ -738,14 +731,16 @@ contains 'tamm-dancoff']) solver_tdhf_response = section(name_ = 'solver tdhf response', & solver_hf_response = section(name_ = 'solver hf response', & required = .false., & allowed_keywords = [character(len=30) :: & 'frequencies', & 'max iterations', & 'max reduced dimension', & 'print iterations', & 'residual threshold']) 'residual threshold', & 'restart', & 'storage']) system = section(name_ = 'system', & Loading Loading @@ -795,6 +790,7 @@ contains grid_info, & harmonic_frequencies, & hf_mean_value, & hf_response, & integrals, & lanczos, & memory, & Loading @@ -812,14 +808,13 @@ contains solver_cc_response, & solver_cholesky, & solver_ci, & solver_cphf, & solver_cpp, & solver_fft_dipole_moment, & solver_fft_electric_field, & solver_geoopt, & solver_scf, & solver_tdhf_es, & solver_tdhf_response, & solver_hf_es, & solver_hf_response, & system, & visualization] Loading src/program/reference_engine_factory_class.F90 +6 −3 Original line number Diff line number Diff line Loading @@ -55,15 +55,18 @@ contains class(hf_engine), allocatable, intent(out) :: engine if (input%is_keyword_present('tdhf excited state', 'do')) then if (input%is_keyword_present('excited state', 'do') .and. & input%is_section_present('solver hf es')) then engine = tdhf_es_engine() elseif (input%is_keyword_present('tdhf response', 'do')) then elseif (input%is_keyword_present('response', 'do') .and. & input%is_keyword_present('polarizabilities', 'hf response')) then engine = tdhf_polarizability_engine() elseif (input%is_keyword_present('shielding', 'do')) then elseif (input%is_keyword_present('response', 'do') .and. & input%is_keyword_present('shielding', 'hf response')) then engine = cphf_shielding_engine() Loading Loading
changelog.md +1 −0 Original line number Diff line number Diff line Loading @@ -226,6 +226,7 @@ some roots were converged and others below the linear dependence threshold. eT-p - Updated README description of PCMSolver installation. eT-program/eT!1491 - Removed u_aibj from coupled cluster wavefunctions. eT-program/eT!1502 - Removed ``construct_right_transition_density_doubles``. eT-program/eT!1507 - Improve input keywords for (TD) HF response/es calculation to be consistent with CC and to allow for new keywords. eT-program/eT!1534 ### Optimization - Optimized CCSD Jacobian for triplet, dd7. eT-program/eT!/1209 Loading
src/engines/hf/tasks/tdhf_es_task_class.F90 +1 −1 Original line number Diff line number Diff line Loading @@ -85,7 +85,7 @@ contains call wf%set_n_tdhf_parameters() tamm_dancoff = .false. tamm_dancoff = input%is_keyword_present('tamm-dancoff', 'solver tdhf es') tamm_dancoff = input%is_keyword_present('tamm-dancoff', 'solver hf es') call solver_factory%create(wf, solver, tamm_dancoff) Loading
src/engines/hf/tasks/tdhf_polarizability_task_class.F90 +8 −8 Original line number Diff line number Diff line Loading @@ -137,7 +137,7 @@ contains do f = 1, this%n_frequencies if (.not. input%is_keyword_present('print iterations', 'solver tdhf response')) & if (.not. input%is_keyword_present('print iterations', 'solver hf response')) & call output%mute() do k = 1, 3 Loading @@ -154,7 +154,7 @@ contains enddo if (.not. input%is_keyword_present('print iterations', 'solver tdhf response')) & if (.not. input%is_keyword_present('print iterations', 'solver hf response')) & call output%unmute() do k = 1, 3 Loading @@ -181,11 +181,11 @@ contains class(tdhf_polarizability_task), intent(inout) :: this if (input%is_keyword_present('frequencies', 'solver tdhf response')) then if (input%is_keyword_present('frequencies', 'solver hf response')) then this%n_frequencies = input%get_n_elements_for_keyword('frequencies', 'solver tdhf response') this%n_frequencies = input%get_n_elements_for_keyword('frequencies', 'solver hf response') call mem%alloc(this%frequencies, this%n_frequencies) call input%get_array_for_keyword('frequencies', 'solver tdhf response', this%n_frequencies, this%frequencies) call input%get_array_for_keyword('frequencies', 'solver hf response', this%n_frequencies, this%frequencies) else Loading @@ -196,13 +196,13 @@ contains endif this%threshold = 1.0d-3 call input%get_keyword('residual threshold', 'solver tdhf response', this%threshold) call input%get_keyword('residual threshold', 'solver hf response', this%threshold) this%max_dim_red = 100 call input%get_keyword('max reduced dimension', 'solver tdhf response', this%max_dim_red) call input%get_keyword('max reduced dimension', 'solver hf response', this%max_dim_red) this%max_iterations = 100 call input%get_keyword('max iterations', 'solver tdhf response', this%max_iterations) call input%get_keyword('max iterations', 'solver hf response', this%max_iterations) end subroutine read_polarizability_settings Loading
src/io/input/input_tool_class.F90 +19 −24 Original line number Diff line number Diff line Loading @@ -189,6 +189,7 @@ contains type(section) :: grid_info type(section) :: harmonic_frequencies type(section) :: hf_mean_value type(section) :: hf_response type(section) :: integrals type(section) :: lanczos type(section) :: memory Loading @@ -206,14 +207,13 @@ contains type(section) :: solver_cc_response type(section) :: solver_cholesky type(section) :: solver_ci type(section) :: solver_cphf type(section) :: solver_cpp type(section) :: solver_fft_dipole_moment type(section) :: solver_fft_electric_field type(section) :: solver_geoopt type(section) :: solver_scf type(section) :: solver_tdhf_es type(section) :: solver_tdhf_response type(section) :: solver_hf_es type(section) :: solver_hf_response type(section) :: system type(section) :: visualization Loading Loading @@ -305,13 +305,11 @@ contains 'ground state', & 'geometry optimization', & 'harmonic frequencies', & 'tdhf response', & 'tdhf excited state', & 'excited state', & 'response', & 'mean value', & 'real time', & 'shielding', & 'restart']) Loading Loading @@ -423,6 +421,12 @@ contains 'molecular gradient', & 'quadrupole']) hf_response = section(name_ = 'hf response', & required = .false., & allowed_keywords = [character(len=30) :: & 'shielding', & 'polarizabilities']) integrals = section(name_ = 'integrals', & required = .false., & Loading Loading @@ -650,17 +654,6 @@ contains 'states', & 'storage']) solver_cphf = section(name_ = 'solver cphf', & required = .false., & allowed_keywords = [character(len=30) :: & 'max iterations', & 'max reduced dimension', & 'residual threshold', & 'restart', & 'storage']) solver_fft_dipole_moment = section(name_ = 'solver fft dipole moment', & required = .false., & allowed_keywords = [character(len=30) :: & Loading Loading @@ -725,7 +718,7 @@ contains 'write molden']) solver_tdhf_es = section(name_ = 'solver tdhf es', & solver_hf_es = section(name_ = 'solver hf es', & required = .false., & allowed_keywords = [character(len=30) :: & 'energy threshold', & Loading @@ -738,14 +731,16 @@ contains 'tamm-dancoff']) solver_tdhf_response = section(name_ = 'solver tdhf response', & solver_hf_response = section(name_ = 'solver hf response', & required = .false., & allowed_keywords = [character(len=30) :: & 'frequencies', & 'max iterations', & 'max reduced dimension', & 'print iterations', & 'residual threshold']) 'residual threshold', & 'restart', & 'storage']) system = section(name_ = 'system', & Loading Loading @@ -795,6 +790,7 @@ contains grid_info, & harmonic_frequencies, & hf_mean_value, & hf_response, & integrals, & lanczos, & memory, & Loading @@ -812,14 +808,13 @@ contains solver_cc_response, & solver_cholesky, & solver_ci, & solver_cphf, & solver_cpp, & solver_fft_dipole_moment, & solver_fft_electric_field, & solver_geoopt, & solver_scf, & solver_tdhf_es, & solver_tdhf_response, & solver_hf_es, & solver_hf_response, & system, & visualization] Loading
src/program/reference_engine_factory_class.F90 +6 −3 Original line number Diff line number Diff line Loading @@ -55,15 +55,18 @@ contains class(hf_engine), allocatable, intent(out) :: engine if (input%is_keyword_present('tdhf excited state', 'do')) then if (input%is_keyword_present('excited state', 'do') .and. & input%is_section_present('solver hf es')) then engine = tdhf_es_engine() elseif (input%is_keyword_present('tdhf response', 'do')) then elseif (input%is_keyword_present('response', 'do') .and. & input%is_keyword_present('polarizabilities', 'hf response')) then engine = tdhf_polarizability_engine() elseif (input%is_keyword_present('shielding', 'do')) then elseif (input%is_keyword_present('response', 'do') .and. & input%is_keyword_present('shielding', 'hf response')) then engine = cphf_shielding_engine() Loading