Loading changelog.md +1 −1 Original line number Diff line number Diff line Loading @@ -29,7 +29,7 @@ - Orbital localization (Edmiston-Ruedenberg & Foster-Boys localization). eT-program/eT!1274, eT-program/eT!1472 - Added IPs for CC3. eT-program/eT!1260 - Added XPS for coupled cluster methods up to the CC3 level. eT-program/eT!1260 - CPHF shielding tensors are now available. eT-program/eT!1189, eT-program/eT!1281, eT-program/eT!1331, eT-program/eT!1473 - CPHF shielding tensors are now available. eT-program/eT!1189, eT-program/eT!1281, eT-program/eT!1331, eT-program/eT!1473, eT-program/eT!1533 - Added damped response (CPP) solver. Used for CCSD/CCS damped polarizabilities. eT-program/eT!1430, eT-program/eT!1459 - Added dyson orbitals for coupled cluster methods up to the CC3 level. eT-program/eT!1263 - Added molecular gradient for QED-HF. eT-program/eT!1183 Loading cmake/TestseT.cmake +2 −2 Original line number Diff line number Diff line Loading @@ -588,8 +588,8 @@ endif() # if (OEI_LIBRARY STREQUAL "libcint" AND ERI_LIBRARY STREQUAL "libcint") # add_eT_runtest(cphf_shielding_tensor "eT;short;shielding;hf") add_eT_runtest(cphf_shielding_tensor_restart "eT;short;shielding;restart;hf") add_eT_runtest(hf_shielding_tensor "eT;short;shielding;hf") add_eT_runtest(restart_hf_shielding_tensor "eT;short;shielding;restart;hf") # endif() # Loading cmake/eT_sources.cmake +10 −9 Original line number Diff line number Diff line Loading @@ -50,7 +50,7 @@ set(eT_fortran_sources # src/engines/hf/hf_engine_class.F90 src/engines/hf/hf_gs_engine_class.F90 src/engines/hf/cphf_shielding_engine_class.F90 src/engines/hf/hf_magnetic_properties_engine_class.F90 src/engines/hf/tdhf_es_engine_class.F90 src/engines/hf/tdhf_polarizability_engine_class.F90 # Loading @@ -60,8 +60,8 @@ set(eT_fortran_sources src/engines/hf/tasks/sad_generation_task_class.F90 src/engines/hf/tasks/scf_task_class.F90 src/engines/hf/tasks/hf_mean_value_task_class.F90 src/engines/hf/tasks/hf_magnetic_properties_task_class.F90 src/engines/hf/tasks/hf_visualization_task_class.F90 src/engines/hf/tasks/cphf_shielding_task_class.F90 src/engines/hf/tasks/tdhf_es_task_class.F90 src/engines/hf/tasks/tdhf_polarizability_task_class.F90 # Loading Loading @@ -296,11 +296,11 @@ set(eT_fortran_sources src/solver_tools/hf/hf_hessian_preconditioner_getter_class.F90 src/solver_tools/hf/hf_redundant_rotation_projection_tool_class.F90 src/solver_tools/hf/tamm_dancoff_transformation_class.F90 src/solver_tools/hf/cphf_start_vector_tool_class.F90 src/solver_tools/hf/cphf_rhs_tool_class.F90 src/solver_tools/hf/cphf_transformation_tool_class.F90 src/solver_tools/hf/cphf_preconditioner_getter_class.F90 src/solver_tools/hf/cphf_linear_equation_storage_tool_class.F90 src/solver_tools/hf/hf_magnetic_properties_start_vector_tool_class.F90 src/solver_tools/hf/hf_magnetic_properties_rhs_tool_class.F90 src/solver_tools/hf/hf_magnetic_properties_transformation_tool_class.F90 src/solver_tools/hf/hf_magnetic_properties_preconditioner_getter_class.F90 src/solver_tools/hf/hf_magnetic_properties_linear_equation_storage_tool_class.F90 src/solver_tools/hf/tamm_dancoff_preconditioner_getter_class.F90 src/solver_tools/hf/tamm_dancoff_eigen_storage_tool_class.F90 src/solver_tools/hf/rpa_transformation_class.F90 Loading @@ -318,7 +318,7 @@ set(eT_fortran_sources src/solver_tools/hf/hf_orbitals_updater_class.F90 src/solver_tools/hf/scf_print_tool_class.F90 # src/solver_tools/factories/cphf_solver_factory_class.F90 src/solver_tools/factories/hf_magnetic_properties_solver_factory_class.F90 src/solver_tools/factories/tdhf_solver_factory_class.F90 src/solver_tools/factories/hf_solver_factory_class.F90 src/solver_tools/factories/fci_solver_factory_class.F90 Loading Loading @@ -480,7 +480,8 @@ set(eT_fortran_sources src/wavefunctions/hf/file_handling_hf.F90 src/wavefunctions/hf/hessian_transformation_hf.F90 src/wavefunctions/hf/tdhf_transformation_hf.F90 src/wavefunctions/hf/cphf_transformation_hf.F90 src/wavefunctions/hf/magnetic_properties_transformation_hf.F90 src/wavefunctions/hf/magnetic_properties_hf.F90 # src/wavefunctions/cuhf/cuhf_class.F90 # Loading src/engines/hf/cphf_shielding_engine_class.F90→src/engines/hf/hf_magnetic_properties_engine_class.F90 +15 −16 Original line number Diff line number Diff line ! eT - a coupled cluster program ! Copyright (C) 2016-2024 the authors of eT ! Loading @@ -17,34 +16,34 @@ ! along with this program. If not, see <https://www.gnu.org/licenses/>. module cphf_shielding_engine_class module hf_magnetic_properties_engine_class !! !! CPHF shielding engine class !! Written by Alberto Barlini, October 2022 !! HF magnetic properties engine class !! Written by Alberto Barlini, Feb 2023 !! use hf_engine_class, only: hf_engine use hf_class, only: hf use cphf_shielding_task_class, only: cphf_shielding_task use hf_magnetic_properties_task_class, only: hf_magnetic_properties_task implicit none type, extends(hf_engine) :: cphf_shielding_engine type, extends(hf_engine) :: hf_magnetic_properties_engine type(cphf_shielding_task), allocatable, private :: cphf type(hf_magnetic_properties_task), allocatable, private :: hf_magnetic_properties contains procedure, public :: ignite => ignite_hf_shielding_engine procedure, public :: ignite => ignite_hf_magnetic_properties_engine end type cphf_shielding_engine end type hf_magnetic_properties_engine contains subroutine ignite_hf_shielding_engine(this, wf) subroutine ignite_hf_magnetic_properties_engine(this, wf) !! !! Written by Alberto Barlini, October 2022 !! Loading @@ -52,18 +51,18 @@ contains implicit none class(cphf_shielding_engine), intent(inout) :: this class(hf), intent(inout) :: wf class(hf_magnetic_properties_engine), intent(inout) :: this type(hf_gs_engine), allocatable :: gs_engine gs_engine = hf_gs_engine() call gs_engine%ignite(wf) this%cphf = cphf_shielding_task() call this%cphf%execute(wf) this%hf_magnetic_properties = hf_magnetic_properties_task() call this%hf_magnetic_properties%execute(wf) end subroutine ignite_hf_shielding_engine end subroutine ignite_hf_magnetic_properties_engine end module cphf_shielding_engine_class end module hf_magnetic_properties_engine_class src/engines/hf/tasks/cphf_shielding_task_class.F90→src/engines/hf/tasks/hf_magnetic_properties_task_class.F90 +21 −25 Original line number Diff line number Diff line ! eT - a coupled cluster program ! Copyright (C) 2016-2024 the authors of eT ! Loading @@ -17,10 +15,10 @@ ! along with this program. If not, see <https://www.gnu.org/licenses/>. module cphf_shielding_task_class module hf_magnetic_properties_task_class !! !! CPHF shielding task class !! HF magnetic properties task class !! Written by Alberto Barlini, October 2022. !! Loading @@ -29,72 +27,70 @@ module cphf_shielding_task_class implicit none type, extends(hf_task) :: cphf_shielding_task type, extends(hf_task) :: hf_magnetic_properties_task contains procedure, public :: execute & => execute_cphf_shielding_task => execute_hf_magnetic_properties_task end type cphf_shielding_task end type hf_magnetic_properties_task interface cphf_shielding_task interface hf_magnetic_properties_task procedure :: new_cphf_shielding_task procedure :: new_hf_magnetic_properties_task end interface cphf_shielding_task end interface hf_magnetic_properties_task contains function new_cphf_shielding_task() result(this) function new_hf_magnetic_properties_task() result(this) !! !! Written by Alberto Barlini, October 2022 !! implicit none type(cphf_shielding_task) :: this type(hf_magnetic_properties_task) :: this this%name_ = 'Calculating HF shielding tensors' this%name_ = 'Determining HF magnetic properties' end function new_cphf_shielding_task end function new_hf_magnetic_properties_task subroutine execute_cphf_shielding_task(this, wf) subroutine execute_hf_magnetic_properties_task(this, wf) !! !! Written by Alberto Barlini, October 2022 !! use linear_davidson_solver_class, only: linear_davidson_solver use cphf_solver_factory_class, only: cphf_solver_factory use hf_magnetic_properties_solver_factory_class, only: hf_magnetic_properties_solver_factory implicit none class(cphf_shielding_task), intent(inout) :: this class(hf_magnetic_properties_task), intent(inout) :: this class(hf), target, intent(inout) :: wf class(linear_davidson_solver), allocatable :: solver type(cphf_solver_factory) :: solver_factory type(hf_magnetic_properties_solver_factory) :: solver_factory call this%print_header() call this%start_timer() call solver_factory%create(wf, solver) call wf%initialize_cphf_quantities() call wf%calculate_cphf_rhs() call wf%initialize_magnetic_properties_quantities() call solver%run() call solver%cleanup() call wf%cphf_summary() call wf%nuclear_shielding_tensors_summary() call this%end_timer() end subroutine execute_cphf_shielding_task end subroutine execute_hf_magnetic_properties_task end module cphf_shielding_task_class end module hf_magnetic_properties_task_class Loading
changelog.md +1 −1 Original line number Diff line number Diff line Loading @@ -29,7 +29,7 @@ - Orbital localization (Edmiston-Ruedenberg & Foster-Boys localization). eT-program/eT!1274, eT-program/eT!1472 - Added IPs for CC3. eT-program/eT!1260 - Added XPS for coupled cluster methods up to the CC3 level. eT-program/eT!1260 - CPHF shielding tensors are now available. eT-program/eT!1189, eT-program/eT!1281, eT-program/eT!1331, eT-program/eT!1473 - CPHF shielding tensors are now available. eT-program/eT!1189, eT-program/eT!1281, eT-program/eT!1331, eT-program/eT!1473, eT-program/eT!1533 - Added damped response (CPP) solver. Used for CCSD/CCS damped polarizabilities. eT-program/eT!1430, eT-program/eT!1459 - Added dyson orbitals for coupled cluster methods up to the CC3 level. eT-program/eT!1263 - Added molecular gradient for QED-HF. eT-program/eT!1183 Loading
cmake/TestseT.cmake +2 −2 Original line number Diff line number Diff line Loading @@ -588,8 +588,8 @@ endif() # if (OEI_LIBRARY STREQUAL "libcint" AND ERI_LIBRARY STREQUAL "libcint") # add_eT_runtest(cphf_shielding_tensor "eT;short;shielding;hf") add_eT_runtest(cphf_shielding_tensor_restart "eT;short;shielding;restart;hf") add_eT_runtest(hf_shielding_tensor "eT;short;shielding;hf") add_eT_runtest(restart_hf_shielding_tensor "eT;short;shielding;restart;hf") # endif() # Loading
cmake/eT_sources.cmake +10 −9 Original line number Diff line number Diff line Loading @@ -50,7 +50,7 @@ set(eT_fortran_sources # src/engines/hf/hf_engine_class.F90 src/engines/hf/hf_gs_engine_class.F90 src/engines/hf/cphf_shielding_engine_class.F90 src/engines/hf/hf_magnetic_properties_engine_class.F90 src/engines/hf/tdhf_es_engine_class.F90 src/engines/hf/tdhf_polarizability_engine_class.F90 # Loading @@ -60,8 +60,8 @@ set(eT_fortran_sources src/engines/hf/tasks/sad_generation_task_class.F90 src/engines/hf/tasks/scf_task_class.F90 src/engines/hf/tasks/hf_mean_value_task_class.F90 src/engines/hf/tasks/hf_magnetic_properties_task_class.F90 src/engines/hf/tasks/hf_visualization_task_class.F90 src/engines/hf/tasks/cphf_shielding_task_class.F90 src/engines/hf/tasks/tdhf_es_task_class.F90 src/engines/hf/tasks/tdhf_polarizability_task_class.F90 # Loading Loading @@ -296,11 +296,11 @@ set(eT_fortran_sources src/solver_tools/hf/hf_hessian_preconditioner_getter_class.F90 src/solver_tools/hf/hf_redundant_rotation_projection_tool_class.F90 src/solver_tools/hf/tamm_dancoff_transformation_class.F90 src/solver_tools/hf/cphf_start_vector_tool_class.F90 src/solver_tools/hf/cphf_rhs_tool_class.F90 src/solver_tools/hf/cphf_transformation_tool_class.F90 src/solver_tools/hf/cphf_preconditioner_getter_class.F90 src/solver_tools/hf/cphf_linear_equation_storage_tool_class.F90 src/solver_tools/hf/hf_magnetic_properties_start_vector_tool_class.F90 src/solver_tools/hf/hf_magnetic_properties_rhs_tool_class.F90 src/solver_tools/hf/hf_magnetic_properties_transformation_tool_class.F90 src/solver_tools/hf/hf_magnetic_properties_preconditioner_getter_class.F90 src/solver_tools/hf/hf_magnetic_properties_linear_equation_storage_tool_class.F90 src/solver_tools/hf/tamm_dancoff_preconditioner_getter_class.F90 src/solver_tools/hf/tamm_dancoff_eigen_storage_tool_class.F90 src/solver_tools/hf/rpa_transformation_class.F90 Loading @@ -318,7 +318,7 @@ set(eT_fortran_sources src/solver_tools/hf/hf_orbitals_updater_class.F90 src/solver_tools/hf/scf_print_tool_class.F90 # src/solver_tools/factories/cphf_solver_factory_class.F90 src/solver_tools/factories/hf_magnetic_properties_solver_factory_class.F90 src/solver_tools/factories/tdhf_solver_factory_class.F90 src/solver_tools/factories/hf_solver_factory_class.F90 src/solver_tools/factories/fci_solver_factory_class.F90 Loading Loading @@ -480,7 +480,8 @@ set(eT_fortran_sources src/wavefunctions/hf/file_handling_hf.F90 src/wavefunctions/hf/hessian_transformation_hf.F90 src/wavefunctions/hf/tdhf_transformation_hf.F90 src/wavefunctions/hf/cphf_transformation_hf.F90 src/wavefunctions/hf/magnetic_properties_transformation_hf.F90 src/wavefunctions/hf/magnetic_properties_hf.F90 # src/wavefunctions/cuhf/cuhf_class.F90 # Loading
src/engines/hf/cphf_shielding_engine_class.F90→src/engines/hf/hf_magnetic_properties_engine_class.F90 +15 −16 Original line number Diff line number Diff line ! eT - a coupled cluster program ! Copyright (C) 2016-2024 the authors of eT ! Loading @@ -17,34 +16,34 @@ ! along with this program. If not, see <https://www.gnu.org/licenses/>. module cphf_shielding_engine_class module hf_magnetic_properties_engine_class !! !! CPHF shielding engine class !! Written by Alberto Barlini, October 2022 !! HF magnetic properties engine class !! Written by Alberto Barlini, Feb 2023 !! use hf_engine_class, only: hf_engine use hf_class, only: hf use cphf_shielding_task_class, only: cphf_shielding_task use hf_magnetic_properties_task_class, only: hf_magnetic_properties_task implicit none type, extends(hf_engine) :: cphf_shielding_engine type, extends(hf_engine) :: hf_magnetic_properties_engine type(cphf_shielding_task), allocatable, private :: cphf type(hf_magnetic_properties_task), allocatable, private :: hf_magnetic_properties contains procedure, public :: ignite => ignite_hf_shielding_engine procedure, public :: ignite => ignite_hf_magnetic_properties_engine end type cphf_shielding_engine end type hf_magnetic_properties_engine contains subroutine ignite_hf_shielding_engine(this, wf) subroutine ignite_hf_magnetic_properties_engine(this, wf) !! !! Written by Alberto Barlini, October 2022 !! Loading @@ -52,18 +51,18 @@ contains implicit none class(cphf_shielding_engine), intent(inout) :: this class(hf), intent(inout) :: wf class(hf_magnetic_properties_engine), intent(inout) :: this type(hf_gs_engine), allocatable :: gs_engine gs_engine = hf_gs_engine() call gs_engine%ignite(wf) this%cphf = cphf_shielding_task() call this%cphf%execute(wf) this%hf_magnetic_properties = hf_magnetic_properties_task() call this%hf_magnetic_properties%execute(wf) end subroutine ignite_hf_shielding_engine end subroutine ignite_hf_magnetic_properties_engine end module cphf_shielding_engine_class end module hf_magnetic_properties_engine_class
src/engines/hf/tasks/cphf_shielding_task_class.F90→src/engines/hf/tasks/hf_magnetic_properties_task_class.F90 +21 −25 Original line number Diff line number Diff line ! eT - a coupled cluster program ! Copyright (C) 2016-2024 the authors of eT ! Loading @@ -17,10 +15,10 @@ ! along with this program. If not, see <https://www.gnu.org/licenses/>. module cphf_shielding_task_class module hf_magnetic_properties_task_class !! !! CPHF shielding task class !! HF magnetic properties task class !! Written by Alberto Barlini, October 2022. !! Loading @@ -29,72 +27,70 @@ module cphf_shielding_task_class implicit none type, extends(hf_task) :: cphf_shielding_task type, extends(hf_task) :: hf_magnetic_properties_task contains procedure, public :: execute & => execute_cphf_shielding_task => execute_hf_magnetic_properties_task end type cphf_shielding_task end type hf_magnetic_properties_task interface cphf_shielding_task interface hf_magnetic_properties_task procedure :: new_cphf_shielding_task procedure :: new_hf_magnetic_properties_task end interface cphf_shielding_task end interface hf_magnetic_properties_task contains function new_cphf_shielding_task() result(this) function new_hf_magnetic_properties_task() result(this) !! !! Written by Alberto Barlini, October 2022 !! implicit none type(cphf_shielding_task) :: this type(hf_magnetic_properties_task) :: this this%name_ = 'Calculating HF shielding tensors' this%name_ = 'Determining HF magnetic properties' end function new_cphf_shielding_task end function new_hf_magnetic_properties_task subroutine execute_cphf_shielding_task(this, wf) subroutine execute_hf_magnetic_properties_task(this, wf) !! !! Written by Alberto Barlini, October 2022 !! use linear_davidson_solver_class, only: linear_davidson_solver use cphf_solver_factory_class, only: cphf_solver_factory use hf_magnetic_properties_solver_factory_class, only: hf_magnetic_properties_solver_factory implicit none class(cphf_shielding_task), intent(inout) :: this class(hf_magnetic_properties_task), intent(inout) :: this class(hf), target, intent(inout) :: wf class(linear_davidson_solver), allocatable :: solver type(cphf_solver_factory) :: solver_factory type(hf_magnetic_properties_solver_factory) :: solver_factory call this%print_header() call this%start_timer() call solver_factory%create(wf, solver) call wf%initialize_cphf_quantities() call wf%calculate_cphf_rhs() call wf%initialize_magnetic_properties_quantities() call solver%run() call solver%cleanup() call wf%cphf_summary() call wf%nuclear_shielding_tensors_summary() call this%end_timer() end subroutine execute_cphf_shielding_task end subroutine execute_hf_magnetic_properties_task end module cphf_shielding_task_class end module hf_magnetic_properties_task_class