mqc_calculation_interface Module

Provides a clean interface for computing energies and forces that can be used by optimization algorithms, MD integrators, and MC samplers


Uses

  • module~~mqc_calculation_interface~~UsesGraph module~mqc_calculation_interface mqc_calculation_interface module~mqc_calc_types mqc_calc_types module~mqc_calculation_interface->module~mqc_calc_types module~mqc_config_parser mqc_config_parser module~mqc_calculation_interface->module~mqc_config_parser module~mqc_physical_fragment mqc_physical_fragment module~mqc_calculation_interface->module~mqc_physical_fragment module~mqc_resources mqc_resources module~mqc_calculation_interface->module~mqc_resources module~mqc_result_types mqc_result_types module~mqc_calculation_interface->module~mqc_result_types pic_logger pic_logger module~mqc_calculation_interface->pic_logger pic_mpi_lib pic_mpi_lib module~mqc_calculation_interface->pic_mpi_lib pic_types pic_types module~mqc_calculation_interface->pic_types module~mqc_calc_types->pic_types module~mqc_config_parser->module~mqc_calc_types module~mqc_config_parser->module~mqc_physical_fragment module~mqc_config_parser->pic_types module~mqc_calculation_defaults mqc_calculation_defaults module~mqc_config_parser->module~mqc_calculation_defaults module~mqc_error mqc_error module~mqc_config_parser->module~mqc_error module~mqc_geometry mqc_geometry module~mqc_config_parser->module~mqc_geometry module~mqc_method_types mqc_method_types module~mqc_config_parser->module~mqc_method_types module~mqc_physical_fragment->pic_types module~mqc_cgto mqc_cgto module~mqc_physical_fragment->module~mqc_cgto module~mqc_elements mqc_elements module~mqc_physical_fragment->module~mqc_elements module~mqc_physical_fragment->module~mqc_error module~mqc_physical_fragment->module~mqc_geometry module~mqc_physical_constants mqc_physical_constants module~mqc_physical_fragment->module~mqc_physical_constants module~mqc_xyz_reader mqc_xyz_reader module~mqc_physical_fragment->module~mqc_xyz_reader module~mqc_mpi_comms mqc_mpi_comms module~mqc_resources->module~mqc_mpi_comms module~mqc_result_types->pic_mpi_lib module~mqc_result_types->pic_types module~mqc_result_types->module~mqc_error module~mqc_calculation_defaults->pic_types module~mqc_cgto->pic_types module~mqc_elements->pic_types pic_ascii pic_ascii module~mqc_elements->pic_ascii module~mqc_geometry->pic_types module~mqc_method_types->pic_types module~mqc_mpi_comms->pic_mpi_lib module~mqc_physical_constants->pic_types module~mqc_xyz_reader->pic_types module~mqc_xyz_reader->module~mqc_error module~mqc_xyz_reader->module~mqc_geometry

Subroutines

public subroutine compute_energy_and_forces(sys_geom, driver_config, resources, energy, gradient, hessian, bonds)

Compute energy and forces for current geometry This is the main interface for optimization/dynamics codes

Read more…

Arguments

Type IntentOptional Attributes Name
type(system_geometry_t), intent(inout) :: sys_geom
type(driver_config_t), intent(in) :: driver_config
type(resources_t), intent(in) :: resources
real(kind=dp), intent(out) :: energy
real(kind=dp), intent(out), optional :: gradient(:,:)

(3, total_atoms)

real(kind=dp), intent(out), optional :: hessian(:,:)

(3total_atoms, 3total_atoms)

type(bond_t), intent(in), optional :: bonds(:)

public subroutine sync_geometry_to_workers(sys_geom, comm)

Synchronize geometry coordinates from master rank to all worker ranks This is needed when master rank updates coordinates for optimization/dynamics

Read more…

Arguments

Type IntentOptional Attributes Name
type(system_geometry_t), intent(inout) :: sys_geom
type(comm_t), intent(in) :: comm