Skip to content

mod_two_body

Lines: 161 | Visibility: private

Module for two-body potential calculations. author: Alea Tokita (based on Knut Nikolas Lausch implementation of dispersion corrections)

Dependencies

Uses

module~~mod_two_body~~UsesGraph module~mod_two_body mod_two_body module~mod_cutoff_function mod_cutoff_function module~mod_two_body->module~mod_cutoff_function module~mod_dataloader_file mod_dataloader_file module~mod_two_body->module~mod_dataloader_file module~mod_dataset_storage mod_dataset_storage module~mod_two_body->module~mod_dataset_storage module~mod_feature_map_neighborlist mod_feature_map_neighborlist module~mod_two_body->module~mod_feature_map_neighborlist module~mod_io mod_io module~mod_two_body->module~mod_io module~mod_periodic_table mod_periodic_table module~mod_two_body->module~mod_periodic_table module~mod_precision mod_precision module~mod_two_body->module~mod_precision module~mod_settings mod_settings module~mod_two_body->module~mod_settings module~mod_structures mod_structures module~mod_two_body->module~mod_structures module~mod_throw mod_throw module~mod_two_body->module~mod_throw module~mod_cutoff_function->module~mod_io module~mod_cutoff_function->module~mod_precision module~mod_cutoff_function->module~mod_throw module~mod_abstract_cutoff_function mod_abstract_cutoff_function module~mod_cutoff_function->module~mod_abstract_cutoff_function module~mod_cutoff_function_cosine mod_cutoff_function_cosine module~mod_cutoff_function->module~mod_cutoff_function_cosine module~mod_cutoff_function_hard mod_cutoff_function_hard module~mod_cutoff_function->module~mod_cutoff_function_hard module~mod_cutoff_function_hypertangent mod_cutoff_function_hypertangent module~mod_cutoff_function->module~mod_cutoff_function_hypertangent module~mod_cutoff_function_hypertangent_approx mod_cutoff_function_hypertangent_approx module~mod_cutoff_function->module~mod_cutoff_function_hypertangent_approx module~mod_cutoff_function_null mod_cutoff_function_null module~mod_cutoff_function->module~mod_cutoff_function_null module~mod_cutoff_function_polynomial mod_cutoff_function_polynomial module~mod_cutoff_function->module~mod_cutoff_function_polynomial module~mod_cutoff_function_vdw mod_cutoff_function_vdw module~mod_cutoff_function->module~mod_cutoff_function_vdw module~mod_dataloader_file->module~mod_cutoff_function module~mod_dataloader_file->module~mod_feature_map_neighborlist module~mod_dataloader_file->module~mod_io module~mod_dataloader_file->module~mod_periodic_table module~mod_dataloader_file->module~mod_precision module~mod_dataloader_file->module~mod_structures module~mod_dataloader_file->module~mod_throw module~mod_abstract_structure_data_file mod_abstract_structure_data_file module~mod_dataloader_file->module~mod_abstract_structure_data_file module~mod_databatcher mod_databatcher module~mod_dataloader_file->module~mod_databatcher module~mod_feature_calculator mod_feature_calculator module~mod_dataloader_file->module~mod_feature_calculator module~mod_memory_estimation mod_memory_estimation module~mod_dataloader_file->module~mod_memory_estimation module~mod_mpi mod_mpi module~mod_dataloader_file->module~mod_mpi module~mod_optional_args mod_optional_args module~mod_dataloader_file->module~mod_optional_args module~mod_split_and_assign mod_split_and_assign module~mod_dataloader_file->module~mod_split_and_assign mod_property_list mod_property_list module~mod_dataset_storage->mod_property_list module~mod_dataset_storage->module~mod_mpi module~mod_sort mod_sort module~mod_dataset_storage->module~mod_sort module~mod_storage_container mod_storage_container module~mod_dataset_storage->module~mod_storage_container module~mod_feature_map_neighborlist->module~mod_io module~mod_feature_map_neighborlist->module~mod_precision module~mod_feature_map_neighborlist->module~mod_structures module~mod_feature_map_neighborlist->module~mod_throw module~mod_feature_map_neighborlist->module~mod_abstract_cutoff_function module~mod_constants mod_constants module~mod_feature_map_neighborlist->module~mod_constants module~mod_feature_map_neighborlist->module~mod_mpi module~mod_neighborlist mod_neighborlist module~mod_feature_map_neighborlist->module~mod_neighborlist module~mod_timer mod_timer module~mod_feature_map_neighborlist->module~mod_timer module~mod_io->module~mod_precision iso_fortran_env iso_fortran_env module~mod_io->iso_fortran_env module~mod_io->module~mod_optional_args module~mod_periodic_table->module~mod_io module~mod_periodic_table->module~mod_precision module~mod_periodic_table->module~mod_throw module~mod_array_helpers mod_array_helpers module~mod_periodic_table->module~mod_array_helpers module~mod_periodic_table->module~mod_constants iso_c_binding iso_c_binding module~mod_precision->iso_c_binding module~mod_precision->iso_fortran_env module~mod_settings->module~mod_io module~mod_settings->module~mod_periodic_table module~mod_settings->module~mod_precision module~mod_settings->module~mod_throw module~mod_settings->module~mod_constants module~mod_cpu_vendor mod_cpu_vendor module~mod_settings->module~mod_cpu_vendor module~mod_structures->module~mod_periodic_table module~mod_structures->module~mod_precision module~mod_structures->module~mod_throw module~mod_structures->module~mod_array_helpers module~mod_structures->module~mod_constants module~mod_linalg mod_linalg module~mod_structures->module~mod_linalg module~mod_structures->module~mod_mpi module~mod_structures_helper mod_structures_helper module~mod_structures->module~mod_structures_helper module~mod_throw->module~mod_io module~mod_throw->module~mod_precision module~mod_throw->iso_c_binding module~mod_throw->iso_fortran_env module~mod_throw->module~mod_mpi module~mod_throw->module~mod_sort module~mod_abstract_cutoff_function->module~mod_precision module~mod_abstract_structure_data_file->module~mod_dataset_storage module~mod_abstract_structure_data_file->module~mod_periodic_table module~mod_abstract_structure_data_file->module~mod_structures module~mod_abstract_structure_data_file->module~mod_mpi module~mod_genericfile mod_genericfile module~mod_abstract_structure_data_file->module~mod_genericfile module~mod_array_helpers->module~mod_precision module~mod_array_helpers->module~mod_throw module~mod_constants->module~mod_precision module~mod_constants->iso_c_binding module~mod_cpu_vendor->iso_c_binding module~mod_cutoff_function_cosine->module~mod_precision module~mod_cutoff_function_cosine->module~mod_abstract_cutoff_function module~mod_cutoff_function_cosine->module~mod_constants module~mod_cutoff_function_hard->module~mod_precision module~mod_cutoff_function_hard->module~mod_abstract_cutoff_function module~mod_cutoff_function_hypertangent->module~mod_precision module~mod_cutoff_function_hypertangent->module~mod_abstract_cutoff_function module~mod_cutoff_function_hypertangent_approx->module~mod_precision module~mod_cutoff_function_hypertangent_approx->module~mod_abstract_cutoff_function module~mod_cutoff_function_null->module~mod_precision module~mod_cutoff_function_null->module~mod_throw module~mod_cutoff_function_null->module~mod_abstract_cutoff_function module~mod_cutoff_function_polynomial->module~mod_precision module~mod_cutoff_function_polynomial->module~mod_abstract_cutoff_function module~mod_fastmath mod_fastmath module~mod_cutoff_function_polynomial->module~mod_fastmath module~mod_cutoff_function_vdw->module~mod_precision module~mod_cutoff_function_vdw->module~mod_abstract_cutoff_function module~mod_databatcher->module~mod_precision module~mod_databatcher->module~mod_throw module~mod_databatcher->module~mod_array_helpers module~mod_databatcher->module~mod_mpi module~mod_random mod_random module~mod_databatcher->module~mod_random module~mod_feature_calculator->module~mod_cutoff_function module~mod_feature_calculator->module~mod_feature_map_neighborlist module~mod_feature_calculator->module~mod_io module~mod_feature_calculator->module~mod_periodic_table module~mod_feature_calculator->module~mod_precision module~mod_feature_calculator->module~mod_settings module~mod_feature_calculator->module~mod_structures module~mod_feature_calculator->module~mod_throw module~mod_feature_calculator->module~mod_array_helpers module~mod_feature_calculator->module~mod_mpi module~mod_feature_calculator->module~mod_optional_args module~mod_feature_calculator->module~mod_timer module~mod_angular_symmetry_function_3 mod_angular_symmetry_function_3 module~mod_feature_calculator->module~mod_angular_symmetry_function_3 module~mod_angular_symmetry_function_8 mod_angular_symmetry_function_8 module~mod_feature_calculator->module~mod_angular_symmetry_function_8 module~mod_angular_symmetry_function_9 mod_angular_symmetry_function_9 module~mod_feature_calculator->module~mod_angular_symmetry_function_9 module~mod_atomic_descriptor mod_atomic_descriptor module~mod_feature_calculator->module~mod_atomic_descriptor module~mod_data_container mod_data_container module~mod_feature_calculator->module~mod_data_container module~mod_element mod_element module~mod_feature_calculator->module~mod_element module~mod_extrapolation_warning mod_extrapolation_warning module~mod_feature_calculator->module~mod_extrapolation_warning module~mod_feature_map mod_feature_map module~mod_feature_calculator->module~mod_feature_map module~mod_overlap_matrix mod_overlap_matrix module~mod_feature_calculator->module~mod_overlap_matrix module~mod_path mod_path module~mod_feature_calculator->module~mod_path module~mod_radial_symmetry_function_1 mod_radial_symmetry_function_1 module~mod_feature_calculator->module~mod_radial_symmetry_function_1 module~mod_radial_symmetry_function_2 mod_radial_symmetry_function_2 module~mod_feature_calculator->module~mod_radial_symmetry_function_2 module~mod_set_integer mod_set_integer module~mod_feature_calculator->module~mod_set_integer module~mod_linalg->module~mod_precision module~mod_linalg->module~mod_settings module~mod_linalg->module~mod_throw module~cublas_wrapper cublas_wrapper module~mod_linalg->module~cublas_wrapper module~mod_memory_estimation->module~mod_feature_map_neighborlist module~mod_memory_estimation->module~mod_io module~mod_memory_estimation->module~mod_periodic_table module~mod_memory_estimation->module~mod_precision module~mod_memory_estimation->module~mod_settings module~mod_memory_estimation->module~mod_structures module~mod_memory_estimation->module~mod_throw module~mod_memory_estimation->module~mod_feature_calculator module~mod_memory_estimation->module~mod_mpi module~mod_table mod_table module~mod_memory_estimation->module~mod_table module~mod_mpi->module~mod_precision mpi_f08 mpi_f08 module~mod_mpi->mpi_f08 module~mod_neighborlist->module~mod_io module~mod_neighborlist->module~mod_precision module~mod_neighborlist->module~mod_settings module~mod_neighborlist->module~mod_structures module~mod_neighborlist->module~mod_throw module~mod_neighborlist->module~mod_mpi module~mod_dynamic_double_array mod_dynamic_double_array module~mod_neighborlist->module~mod_dynamic_double_array module~mod_dynamic_int_array mod_dynamic_int_array module~mod_neighborlist->module~mod_dynamic_int_array module~mod_neighbor_grid mod_neighbor_grid module~mod_neighborlist->module~mod_neighbor_grid module~mod_neighborlist_helper mod_neighborlist_helper module~mod_neighborlist->module~mod_neighborlist_helper module~mod_sort->module~mod_precision module~mod_split_and_assign->module~mod_precision module~mod_split_and_assign->module~mod_throw module~mod_split_and_assign->module~mod_mpi module~mod_storage_container->module~mod_io module~mod_storage_container->mod_property_list module~mod_storage_container->module~mod_mpi module~mod_storage_container->module~mod_sort module~mod_abstract_property_list mod_abstract_property_list module~mod_storage_container->module~mod_abstract_property_list module~mod_storage_container->module~mod_dynamic_int_array module~mod_string mod_string module~mod_storage_container->module~mod_string module~mod_structures_helper->module~mod_precision module~mod_structures_helper->module~mod_linalg module~mod_timer->module~mod_io module~mod_timer->module~mod_precision module~mod_timer->module~mod_throw module~mod_timer->module~mod_optional_args ieee_arithmetic ieee_arithmetic module~mod_timer->ieee_arithmetic module~cublas_wrapper->module~mod_settings module~cublas_wrapper->iso_c_binding module~mod_abstract_property_list->module~mod_throw module~mod_abstract_property_list->module~mod_mpi module~mod_abstract_property_list->module~mod_optional_args module~mod_abstract_property_list->module~mod_dynamic_int_array module~mod_abstract_property_list->module~mod_string module~mod_dynamic_int_array_2d mod_dynamic_int_array_2d module~mod_abstract_property_list->module~mod_dynamic_int_array_2d module~mod_dynamic_string_array mod_dynamic_string_array module~mod_abstract_property_list->module~mod_dynamic_string_array module~mod_angular_symmetry_function_3->module~mod_cutoff_function module~mod_angular_symmetry_function_3->module~mod_feature_map_neighborlist module~mod_angular_symmetry_function_3->module~mod_periodic_table module~mod_angular_symmetry_function_3->module~mod_precision module~mod_angular_symmetry_function_3->module~mod_structures module~mod_angular_symmetry_function_3->module~mod_throw module~mod_angular_symmetry_function_3->module~mod_constants module~mod_angular_symmetry_function_3->module~mod_fastmath module~mod_angular_symmetry_function_3->module~mod_feature_map module~mod_abstract_angular_symmetry_function mod_abstract_angular_symmetry_function module~mod_angular_symmetry_function_3->module~mod_abstract_angular_symmetry_function module~mod_abstract_symmetry_function mod_abstract_symmetry_function module~mod_angular_symmetry_function_3->module~mod_abstract_symmetry_function module~mod_hash mod_hash module~mod_angular_symmetry_function_3->module~mod_hash module~mod_angular_symmetry_function_8->module~mod_cutoff_function module~mod_angular_symmetry_function_8->module~mod_feature_map_neighborlist module~mod_angular_symmetry_function_8->module~mod_periodic_table module~mod_angular_symmetry_function_8->module~mod_precision module~mod_angular_symmetry_function_8->module~mod_structures module~mod_angular_symmetry_function_8->module~mod_throw module~mod_angular_symmetry_function_8->module~mod_constants module~mod_angular_symmetry_function_8->module~mod_feature_map module~mod_angular_symmetry_function_8->module~mod_abstract_angular_symmetry_function module~mod_angular_symmetry_function_8->module~mod_abstract_symmetry_function module~mod_angular_symmetry_function_8->module~mod_hash module~mod_angular_symmetry_function_9->module~mod_cutoff_function module~mod_angular_symmetry_function_9->module~mod_feature_map_neighborlist module~mod_angular_symmetry_function_9->module~mod_periodic_table module~mod_angular_symmetry_function_9->module~mod_precision module~mod_angular_symmetry_function_9->module~mod_structures module~mod_angular_symmetry_function_9->module~mod_throw module~mod_angular_symmetry_function_9->module~mod_constants module~mod_angular_symmetry_function_9->module~mod_fastmath module~mod_angular_symmetry_function_9->module~mod_feature_map module~mod_angular_symmetry_function_9->module~mod_abstract_angular_symmetry_function module~mod_angular_symmetry_function_9->module~mod_abstract_symmetry_function module~mod_angular_symmetry_function_9->module~mod_hash module~mod_atomic_descriptor->module~mod_precision module~mod_atomic_descriptor->module~mod_structures module~mod_atomic_descriptor->module~mod_element module~mod_data_container->module~mod_io module~mod_data_container->module~mod_precision module~mod_data_container->module~mod_throw module~mod_dynamic_double_array->module~mod_precision module~mod_dynamic_double_array->module~mod_throw module~mod_element->module~mod_cutoff_function module~mod_element->module~mod_io module~mod_element->module~mod_periodic_table module~mod_element->module~mod_precision module~mod_element->module~mod_throw module~mod_element->module~mod_constants module~mod_element->module~mod_mpi module~mod_element->module~mod_optional_args module~mod_element->module~mod_angular_symmetry_function_3 module~mod_element->module~mod_angular_symmetry_function_9 module~mod_element->module~mod_feature_map module~mod_element->module~mod_radial_symmetry_function_2 module~mod_element->module~mod_set_integer module~mod_arrays_init mod_arrays_init module~mod_element->module~mod_arrays_init module~mod_decorations mod_decorations module~mod_element->module~mod_decorations module~mod_dubious_feature_map_handler mod_dubious_feature_map_handler module~mod_element->module~mod_dubious_feature_map_handler module~mod_element->module~mod_hash module~mod_set_character mod_set_character module~mod_element->module~mod_set_character module~mod_extrapolation_warning->module~mod_periodic_table module~mod_extrapolation_warning->module~mod_precision module~mod_extrapolation_warning->module~mod_throw module~mod_extrapolation_warning->iso_c_binding module~mod_abstract_warning mod_abstract_warning module~mod_extrapolation_warning->module~mod_abstract_warning module~mod_fastmath->module~mod_precision module~mod_feature_map->module~mod_cutoff_function module~mod_feature_map->module~mod_feature_map_neighborlist module~mod_feature_map->module~mod_io module~mod_feature_map->module~mod_precision module~mod_feature_map->module~mod_structures module~mod_feature_map->module~mod_throw module~mod_feature_map->module~mod_hash module~mod_sanitize mod_sanitize module~mod_feature_map->module~mod_sanitize module~mod_genericfile->module~mod_io module~mod_genericfile->module~mod_throw module~mod_genericfile->module~mod_mpi module~mod_neighbor_grid->module~mod_precision module~mod_neighbor_grid->module~mod_mpi module~mod_neighbor_grid->module~mod_structures_helper module~mod_neighbor_grid->module~mod_dynamic_int_array module~mod_neighbor_grid->module~mod_neighborlist_helper module~mod_neighborlist_helper->module~mod_precision module~mod_neighborlist_helper->module~mod_linalg module~mod_neighborlist_helper->module~mod_mpi module~mod_overlap_matrix->module~mod_cutoff_function module~mod_overlap_matrix->module~mod_feature_map_neighborlist module~mod_overlap_matrix->module~mod_precision module~mod_overlap_matrix->module~mod_structures module~mod_overlap_matrix->module~mod_feature_map module~mod_path->module~mod_io module~mod_radial_symmetry_function_1->module~mod_cutoff_function module~mod_radial_symmetry_function_1->module~mod_feature_map_neighborlist module~mod_radial_symmetry_function_1->module~mod_io module~mod_radial_symmetry_function_1->module~mod_periodic_table module~mod_radial_symmetry_function_1->module~mod_precision module~mod_radial_symmetry_function_1->module~mod_structures module~mod_radial_symmetry_function_1->module~mod_throw module~mod_radial_symmetry_function_1->module~mod_feature_map module~mod_abstract_radial_symmetry_function mod_abstract_radial_symmetry_function module~mod_radial_symmetry_function_1->module~mod_abstract_radial_symmetry_function module~mod_radial_symmetry_function_1->module~mod_hash module~mod_radial_symmetry_function_2->module~mod_cutoff_function module~mod_radial_symmetry_function_2->module~mod_feature_map_neighborlist module~mod_radial_symmetry_function_2->module~mod_periodic_table module~mod_radial_symmetry_function_2->module~mod_precision module~mod_radial_symmetry_function_2->module~mod_structures module~mod_radial_symmetry_function_2->module~mod_throw module~mod_radial_symmetry_function_2->module~mod_feature_map module~mod_radial_symmetry_function_2->module~mod_abstract_radial_symmetry_function module~mod_radial_symmetry_function_2->module~mod_abstract_symmetry_function module~mod_radial_symmetry_function_2->module~mod_hash module~mod_random->module~mod_precision module~mod_random->module~mod_constants module~mod_set_integer->module~mod_throw module~mod_string->module~mod_precision module~mod_table->module~mod_io module~mod_table->module~mod_precision module~mod_table->module~mod_throw module~mod_table->module~mod_decorations module~mod_abstract_angular_symmetry_function->module~mod_feature_map_neighborlist module~mod_abstract_angular_symmetry_function->module~mod_periodic_table module~mod_abstract_angular_symmetry_function->module~mod_precision module~mod_abstract_angular_symmetry_function->module~mod_structures module~mod_abstract_angular_symmetry_function->module~mod_abstract_symmetry_function module~mod_abstract_radial_symmetry_function->module~mod_feature_map_neighborlist module~mod_abstract_radial_symmetry_function->module~mod_precision module~mod_abstract_radial_symmetry_function->module~mod_structures module~mod_abstract_radial_symmetry_function->module~mod_abstract_symmetry_function module~mod_abstract_symmetry_function->module~mod_feature_map_neighborlist module~mod_abstract_symmetry_function->module~mod_io module~mod_abstract_symmetry_function->module~mod_precision module~mod_abstract_symmetry_function->module~mod_structures module~mod_abstract_symmetry_function->module~mod_throw module~mod_abstract_symmetry_function->module~mod_feature_map module~mod_electric_field_prefactor mod_electric_field_prefactor module~mod_abstract_symmetry_function->module~mod_electric_field_prefactor module~mod_spin_prefactor mod_spin_prefactor module~mod_abstract_symmetry_function->module~mod_spin_prefactor module~mod_arrays_init->module~mod_precision module~mod_decorations->module~mod_io module~mod_decorations->module~mod_precision module~mod_decorations->module~mod_throw module~mod_dubious_feature_map_handler->module~mod_io module~mod_dubious_feature_map_handler->module~mod_precision module~mod_dubious_feature_map_handler->module~mod_throw module~mod_dubious_feature_map_handler->module~mod_dynamic_double_array module~mod_dubious_feature_map_handler->module~mod_dynamic_int_array module~mod_dubious_feature_map_handler->module~mod_decorations module~mod_dynamic_line_array mod_dynamic_line_array module~mod_dubious_feature_map_handler->module~mod_dynamic_line_array module~mod_dynamic_int_array_2d->module~mod_mpi module~mod_dynamic_string_array->module~mod_string module~mod_hash->module~mod_io module~mod_hash->module~mod_periodic_table module~mod_hash->module~mod_precision module~mod_sanitize->module~mod_throw module~mod_set_character->module~mod_throw module~mod_electric_field_prefactor->module~mod_feature_map_neighborlist module~mod_electric_field_prefactor->module~mod_precision module~mod_electric_field_prefactor->module~mod_settings module~mod_spin_prefactor->module~mod_feature_map_neighborlist module~mod_spin_prefactor->module~mod_precision

Used By

module~~mod_two_body~~UsedByGraph module~mod_two_body mod_two_body module~mod_initialize mod_initialize module~mod_initialize->module~mod_two_body module~mod_post_processing_wrapper_single_structure mod_post_processing_wrapper_single_structure module~mod_post_processing_wrapper_single_structure->module~mod_two_body module~mod_predict_all_chunks mod_predict_all_chunks module~mod_predict_all_chunks->module~mod_two_body module~mod_predict_multiple_structures mod_predict_multiple_structures module~mod_predict_all_chunks->module~mod_predict_multiple_structures module~mod_predict_mode mod_predict_mode module~mod_predict_mode->module~mod_two_body module~mod_predict_mode->module~mod_initialize module~mod_predict_mode->module~mod_predict_multiple_structures module~mod_write_outfiles mod_write_outfiles module~mod_predict_mode->module~mod_write_outfiles module~mod_predict_multiple_structures->module~mod_two_body module~mod_predict_multiple_structures->module~mod_post_processing_wrapper_single_structure module~mod_predict_single_structure mod_predict_single_structure module~mod_predict_single_structure->module~mod_two_body module~mod_predict_single_structure->module~mod_post_processing_wrapper_single_structure module~mod_runner_interface mod_runner_interface module~mod_runner_interface->module~mod_two_body module~mod_runner_interface_bindings mod_runner_interface_bindings module~mod_runner_interface_bindings->module~mod_two_body module~mod_runner_interface_bindings->module~mod_initialize module~mod_runner_interface_bindings->module~mod_runner_interface module~mod_train_mode mod_train_mode module~mod_train_mode->module~mod_two_body module~mod_train_mode->module~mod_initialize module~mod_train_mode->module~mod_predict_all_chunks module~mod_train_loop_4g_charges mod_train_loop_4g_charges module~mod_train_mode->module~mod_train_loop_4g_charges module~mod_train_loop_atomic_property mod_train_loop_atomic_property module~mod_train_mode->module~mod_train_loop_atomic_property module~mod_train_loop_short_range mod_train_loop_short_range module~mod_train_mode->module~mod_train_loop_short_range module~mod_write_outfiles_training mod_write_outfiles_training module~mod_train_mode->module~mod_write_outfiles_training program~runner RuNNer program~runner->module~mod_two_body program~runner->module~mod_initialize program~runner->module~mod_predict_mode program~runner->module~mod_train_mode module~mod_feature_calc_interface mod_feature_calc_interface module~mod_feature_calc_interface->module~mod_runner_interface module~mod_generic_interface mod_generic_interface module~mod_feature_calc_interface->module~mod_generic_interface module~mod_generic_interface->module~mod_predict_single_structure module~mod_generic_interface->module~mod_runner_interface module~mod_lammps_interface mod_lammps_interface module~mod_lammps_interface->module~mod_runner_interface module~mod_lammps_interface->module~mod_runner_interface_bindings module~mod_output_files_and_cost mod_output_files_and_cost module~mod_output_files_and_cost->module~mod_predict_multiple_structures module~mod_cost_calculator mod_cost_calculator module~mod_output_files_and_cost->module~mod_cost_calculator module~mod_train_energy_multiple_structures mod_train_energy_multiple_structures module~mod_train_energy_multiple_structures->module~mod_initialize module~mod_train_forces_multiple_structures mod_train_forces_multiple_structures module~mod_train_forces_multiple_structures->module~mod_initialize module~mod_train_forces_multiple_structures->module~mod_train_energy_multiple_structures module~mod_train_loop_4g_charges->module~mod_initialize module~mod_train_loop_4g_charges->module~mod_cost_calculator module~mod_output_files_and_cost_4g_charges mod_output_files_and_cost_4g_charges module~mod_train_loop_4g_charges->module~mod_output_files_and_cost_4g_charges module~mod_train_loop_atomic_property->module~mod_initialize module~mod_train_loop_atomic_property->module~mod_output_files_and_cost module~mod_train_loop_atomic_property->module~mod_cost_calculator module~mod_train_loop_short_range->module~mod_initialize module~mod_train_loop_short_range->module~mod_output_files_and_cost module~mod_train_loop_short_range->module~mod_train_energy_multiple_structures module~mod_train_loop_short_range->module~mod_train_forces_multiple_structures module~mod_train_loop_short_range->module~mod_cost_calculator module~mod_output_files_and_cost_4g_short_range mod_output_files_and_cost_4g_short_range module~mod_train_loop_short_range->module~mod_output_files_and_cost_4g_short_range module~mod_write_outfiles->module~mod_initialize module~mod_write_outfiles_training->module~mod_write_outfiles module~mod_cost_calculator->module~mod_write_outfiles_training module~mod_output_files_and_cost_4g_charges->module~mod_cost_calculator module~mod_output_files_and_cost_4g_short_range->module~mod_cost_calculator

Derived Types Summary

Name Description
TwoBodyCalculator

Procedures Summary

Name Type Description
constructor_two_body Function
calc_screening Function Calculate the ZBL screening function. Parameter are taken from J.F. Ziegler, J. P. Biersack and...
deriv_calc_screening Function Calculate the derivative of the ZBL screening function. Parameter are taken from J.F. Ziegler,...
calculate_two_body_potential Subroutine Main two-body calculation routine.
predict_two_body_all_chunks Subroutine
calc_zbl_energy_forces Subroutine Calculate the ZBL energy and forces for a pair of atoms.

Derived Types Details

type TwoBodyCalculator

Components

  • neighbor_list_idx : integer
  • element_index : integer (dim: (MAX_ELEM_NUM))
  • energy : real(DP)
  • force : real(DP) (dim: (:,:))
  • d_energy_d_strain : real(DP) (dim: (3,3))
  • type_two_body : character

Type-Bound Procedures

Name Attributes Binding
calculate public ⇒ calculate_two_body_potential
predict_two_body_all_chunks public ⇒ predict_two_body_all_chunks

Inherited By

type~~twobodycalculator~~InheritedByGraph type~twobodycalculator TwoBodyCalculator type~runnerinterface RuNNerInterface type~runnerinterface->type~twobodycalculator two_body_calc

Interface Details

interface TwoBodyCalculator


Procedure Details

function constructor_two_body

function constructor_two_body( &
    atomic_numbers, &
    neighbor_list_idx, &
    type_two_body &
)

Arguments

  • atomic_numbers : integer (dim: (:)) [in]
  • neighbor_list_idx : integer [in]
  • type_two_body : character [in]

Called By

proc~~constructor_two_body~~CalledByGraph proc~constructor_two_body mod_two_body::constructor_two_body interface~twobodycalculator mod_two_body::TwoBodyCalculator interface~twobodycalculator->proc~constructor_two_body

function calc_screening

function calc_screening( &
    x &
)

Calculate the ZBL screening function. Parameter are taken from J.F. Ziegler, J. P. Biersack and U. Littmark, “The Stopping and Range of Ions in Matter”, Volume 1, Pergamon, 1985.

Arguments

  • x : real(DP) [in]

Called By

proc~~calc_screening~2~~CalledByGraph proc~calc_screening~2 mod_two_body::calc_screening proc~calc_zbl_energy_forces mod_two_body::calc_zbl_energy_forces proc~calc_zbl_energy_forces->proc~calc_screening~2 proc~calculate_two_body_potential mod_two_body::TwoBodyCalculator%calculate_two_body_potential proc~calculate_two_body_potential->proc~calc_zbl_energy_forces proc~post_processing_wrapper_single_structure mod_post_processing_wrapper_single_structure::post_processing_wrapper_single_structure proc~post_processing_wrapper_single_structure->proc~calculate_two_body_potential proc~predict_two_body_all_chunks mod_two_body::TwoBodyCalculator%predict_two_body_all_chunks proc~predict_two_body_all_chunks->proc~calculate_two_body_potential proc~runner_interface_two_body mod_runner_interface_bindings::runner_interface_two_body proc~runner_interface_two_body->proc~calculate_two_body_potential proc~predict_multiple_structures mod_predict_multiple_structures::predict_multiple_structures proc~predict_multiple_structures->proc~post_processing_wrapper_single_structure proc~predict_single_structure mod_predict_single_structure::predict_single_structure proc~predict_single_structure->proc~post_processing_wrapper_single_structure proc~train_mode mod_train_mode::train_mode proc~train_mode->proc~predict_two_body_all_chunks proc~predict_all_chunks mod_predict_all_chunks::predict_all_chunks proc~train_mode->proc~predict_all_chunks proc~train_loop_atomic_property mod_train_loop_atomic_property::train_loop_atomic_property proc~train_mode->proc~train_loop_atomic_property proc~train_loop_short_range mod_train_loop_short_range::train_loop_short_range proc~train_mode->proc~train_loop_short_range proc~output_files_and_cost mod_output_files_and_cost::output_files_and_cost proc~output_files_and_cost->proc~predict_multiple_structures proc~predict_all_chunks->proc~predict_multiple_structures proc~predict_mode mod_predict_mode::predict_mode proc~predict_mode->proc~predict_multiple_structures proc~predict_structure_interface mod_generic_interface::predict_structure_interface proc~predict_structure_interface->proc~predict_single_structure program~runner RuNNer program~runner->proc~train_mode program~runner->proc~predict_mode proc~train_loop_atomic_property->proc~output_files_and_cost proc~train_loop_short_range->proc~output_files_and_cost

function deriv_calc_screening

function deriv_calc_screening( &
    x &
)

Calculate the derivative of the ZBL screening function. Parameter are taken from J.F. Ziegler, J. P. Biersack and U. Littmark, “The Stopping and Range of Ions in Matter”, Volume 1, Pergamon, 1985.

Arguments

  • x : real(DP) [in]

Called By

proc~~deriv_calc_screening~~CalledByGraph proc~deriv_calc_screening mod_two_body::deriv_calc_screening proc~calc_zbl_energy_forces mod_two_body::calc_zbl_energy_forces proc~calc_zbl_energy_forces->proc~deriv_calc_screening proc~calculate_two_body_potential mod_two_body::TwoBodyCalculator%calculate_two_body_potential proc~calculate_two_body_potential->proc~calc_zbl_energy_forces proc~post_processing_wrapper_single_structure mod_post_processing_wrapper_single_structure::post_processing_wrapper_single_structure proc~post_processing_wrapper_single_structure->proc~calculate_two_body_potential proc~predict_two_body_all_chunks mod_two_body::TwoBodyCalculator%predict_two_body_all_chunks proc~predict_two_body_all_chunks->proc~calculate_two_body_potential proc~runner_interface_two_body mod_runner_interface_bindings::runner_interface_two_body proc~runner_interface_two_body->proc~calculate_two_body_potential proc~predict_multiple_structures mod_predict_multiple_structures::predict_multiple_structures proc~predict_multiple_structures->proc~post_processing_wrapper_single_structure proc~predict_single_structure mod_predict_single_structure::predict_single_structure proc~predict_single_structure->proc~post_processing_wrapper_single_structure proc~train_mode mod_train_mode::train_mode proc~train_mode->proc~predict_two_body_all_chunks proc~predict_all_chunks mod_predict_all_chunks::predict_all_chunks proc~train_mode->proc~predict_all_chunks proc~train_loop_atomic_property mod_train_loop_atomic_property::train_loop_atomic_property proc~train_mode->proc~train_loop_atomic_property proc~train_loop_short_range mod_train_loop_short_range::train_loop_short_range proc~train_mode->proc~train_loop_short_range proc~output_files_and_cost mod_output_files_and_cost::output_files_and_cost proc~output_files_and_cost->proc~predict_multiple_structures proc~predict_all_chunks->proc~predict_multiple_structures proc~predict_mode mod_predict_mode::predict_mode proc~predict_mode->proc~predict_multiple_structures proc~predict_structure_interface mod_generic_interface::predict_structure_interface proc~predict_structure_interface->proc~predict_single_structure program~runner RuNNer program~runner->proc~train_mode program~runner->proc~predict_mode proc~train_loop_atomic_property->proc~output_files_and_cost proc~train_loop_short_range->proc~output_files_and_cost

subroutine calculate_two_body_potential

subroutine calculate_two_body_potential( &
    self, &
    num_atoms, &
    num_local_atoms, &
    atomic_numbers, &
    idx_list, &
    atom_offset_on_process, &
    neighbor_lists, &
    calculate_d_energy_d_strain &
)

Main two-body calculation routine.

Arguments

  • self : class(TwoBodyCalculator) [inout]
  • num_atoms : integer [in]
  • num_local_atoms : integer [in]
  • atomic_numbers : integer (dim: (num_atoms)) [in]
  • idx_list : integer (dim: (num_local_atoms)) [in]– indices of atoms in structure for which 2_body potential should be evaluated. This is necessary for the LAMMPS interface where only local atoms need to be evaluated.
  • atom_offset_on_process : integer [in]
  • neighbor_lists : type(FeatureMapNeighborList) (dim: (:)) [in]
  • calculate_d_energy_d_strain : logical [in]

Called By

proc~~calculate_two_body_potential~~CalledByGraph proc~calculate_two_body_potential mod_two_body::TwoBodyCalculator%calculate_two_body_potential proc~post_processing_wrapper_single_structure mod_post_processing_wrapper_single_structure::post_processing_wrapper_single_structure proc~post_processing_wrapper_single_structure->proc~calculate_two_body_potential proc~predict_two_body_all_chunks mod_two_body::TwoBodyCalculator%predict_two_body_all_chunks proc~predict_two_body_all_chunks->proc~calculate_two_body_potential proc~runner_interface_two_body mod_runner_interface_bindings::runner_interface_two_body proc~runner_interface_two_body->proc~calculate_two_body_potential proc~predict_multiple_structures mod_predict_multiple_structures::predict_multiple_structures proc~predict_multiple_structures->proc~post_processing_wrapper_single_structure proc~predict_single_structure mod_predict_single_structure::predict_single_structure proc~predict_single_structure->proc~post_processing_wrapper_single_structure proc~train_mode mod_train_mode::train_mode proc~train_mode->proc~predict_two_body_all_chunks proc~predict_all_chunks mod_predict_all_chunks::predict_all_chunks proc~train_mode->proc~predict_all_chunks proc~train_loop_atomic_property mod_train_loop_atomic_property::train_loop_atomic_property proc~train_mode->proc~train_loop_atomic_property proc~train_loop_short_range mod_train_loop_short_range::train_loop_short_range proc~train_mode->proc~train_loop_short_range proc~output_files_and_cost mod_output_files_and_cost::output_files_and_cost proc~output_files_and_cost->proc~predict_multiple_structures proc~predict_all_chunks->proc~predict_multiple_structures proc~predict_mode mod_predict_mode::predict_mode proc~predict_mode->proc~predict_multiple_structures proc~predict_structure_interface mod_generic_interface::predict_structure_interface proc~predict_structure_interface->proc~predict_single_structure program~runner RuNNer program~runner->proc~train_mode program~runner->proc~predict_mode proc~train_loop_atomic_property->proc~output_files_and_cost proc~train_loop_short_range->proc~output_files_and_cost

subroutine predict_two_body_all_chunks

subroutine predict_two_body_all_chunks( &
    self, &
    data_loader, &
    num_samples_train_test, &
    ids_train_test, &
    cutoff_functions, &
    lresults, &
    results_pred, &
    calculate_forces, &
    calculate_stress &
)

Arguments

  • self : class(TwoBodyCalculator) [inout]
  • data_loader : class(FileDataLoader) [inout]– The data loader used to compute the structure batches. It is necessary to use the `FileDataLoader`, since it conveniently stores the maximum number of atoms in a structure.
  • num_samples_train_test : integer (dim: (:)) [in]
  • ids_train_test : integer (dim: (:,:)) [in]– Array of structures which should be precalculated.
  • cutoff_functions : type(CutoffFunctionPtr) (dim: (:)) [in]– The cutoff functions for the neighbor lists.
  • lresults : logical [in]
  • results_pred : type(DatasetStorage) (dim: (:)) [inout]
  • calculate_forces : logical [in]
  • calculate_stress : logical [in]

Called By

proc~~predict_two_body_all_chunks~~CalledByGraph proc~predict_two_body_all_chunks mod_two_body::TwoBodyCalculator%predict_two_body_all_chunks proc~train_mode mod_train_mode::train_mode proc~train_mode->proc~predict_two_body_all_chunks program~runner RuNNer program~runner->proc~train_mode

subroutine calc_zbl_energy_forces

subroutine calc_zbl_energy_forces( &
    an_a, &
    an_b, &
    r, &
    ab_coord, &
    fc, &
    fc_deriv, &
    zbl_energy_pair, &
    zbl_force &
)

Calculate the ZBL energy and forces for a pair of atoms.

Arguments

  • an_a : real(DP) [in]
  • an_b : real(DP) [in]
  • r : real(DP) [in]
  • ab_coord : real(DP) (dim: (3)) [in]
  • fc : real(DP) [in]
  • fc_deriv : real(DP) (dim: (3)) [in]
  • zbl_energy_pair : real(DP) [inout]
  • zbl_force : real(DP) (dim: (3)) [inout]

Called By

proc~~calc_zbl_energy_forces~~CalledByGraph proc~calc_zbl_energy_forces mod_two_body::calc_zbl_energy_forces proc~calculate_two_body_potential mod_two_body::TwoBodyCalculator%calculate_two_body_potential proc~calculate_two_body_potential->proc~calc_zbl_energy_forces proc~post_processing_wrapper_single_structure mod_post_processing_wrapper_single_structure::post_processing_wrapper_single_structure proc~post_processing_wrapper_single_structure->proc~calculate_two_body_potential proc~predict_two_body_all_chunks mod_two_body::TwoBodyCalculator%predict_two_body_all_chunks proc~predict_two_body_all_chunks->proc~calculate_two_body_potential proc~runner_interface_two_body mod_runner_interface_bindings::runner_interface_two_body proc~runner_interface_two_body->proc~calculate_two_body_potential proc~predict_multiple_structures mod_predict_multiple_structures::predict_multiple_structures proc~predict_multiple_structures->proc~post_processing_wrapper_single_structure proc~predict_single_structure mod_predict_single_structure::predict_single_structure proc~predict_single_structure->proc~post_processing_wrapper_single_structure proc~train_mode mod_train_mode::train_mode proc~train_mode->proc~predict_two_body_all_chunks proc~predict_all_chunks mod_predict_all_chunks::predict_all_chunks proc~train_mode->proc~predict_all_chunks proc~train_loop_atomic_property mod_train_loop_atomic_property::train_loop_atomic_property proc~train_mode->proc~train_loop_atomic_property proc~train_loop_short_range mod_train_loop_short_range::train_loop_short_range proc~train_mode->proc~train_loop_short_range proc~output_files_and_cost mod_output_files_and_cost::output_files_and_cost proc~output_files_and_cost->proc~predict_multiple_structures proc~predict_all_chunks->proc~predict_multiple_structures proc~predict_mode mod_predict_mode::predict_mode proc~predict_mode->proc~predict_multiple_structures proc~predict_structure_interface mod_generic_interface::predict_structure_interface proc~predict_structure_interface->proc~predict_single_structure program~runner RuNNer program~runner->proc~train_mode program~runner->proc~predict_mode proc~train_loop_atomic_property->proc~output_files_and_cost proc~train_loop_short_range->proc~output_files_and_cost