Skip to content

mod_generic_interface

Lines: 60 | Visibility: private

Generic interface to predict the energy, atomic forces, and the stress tensor for a single structure author: Moritz R. Schaefer

Dependencies

Uses

module~~mod_generic_interface~~UsesGraph module~mod_generic_interface mod_generic_interface module~mod_feature_map_neighborlist mod_feature_map_neighborlist module~mod_generic_interface->module~mod_feature_map_neighborlist module~mod_mpi mod_mpi module~mod_generic_interface->module~mod_mpi module~mod_precision mod_precision module~mod_generic_interface->module~mod_precision module~mod_predict_single_structure mod_predict_single_structure module~mod_generic_interface->module~mod_predict_single_structure module~mod_runner_interface mod_runner_interface module~mod_generic_interface->module~mod_runner_interface module~mod_settings mod_settings module~mod_generic_interface->module~mod_settings module~mod_structures mod_structures module~mod_generic_interface->module~mod_structures module~mod_throw mod_throw module~mod_generic_interface->module~mod_throw module~mod_timer mod_timer module~mod_generic_interface->module~mod_timer module~mod_feature_map_neighborlist->module~mod_mpi 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_timer module~mod_abstract_cutoff_function mod_abstract_cutoff_function 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_io mod_io module~mod_feature_map_neighborlist->module~mod_io module~mod_neighborlist mod_neighborlist module~mod_feature_map_neighborlist->module~mod_neighborlist module~mod_mpi->module~mod_precision mpi_f08 mpi_f08 module~mod_mpi->mpi_f08 iso_c_binding iso_c_binding module~mod_precision->iso_c_binding iso_fortran_env iso_fortran_env module~mod_precision->iso_fortran_env module~mod_predict_single_structure->module~mod_feature_map_neighborlist module~mod_predict_single_structure->module~mod_mpi module~mod_predict_single_structure->module~mod_settings module~mod_predict_single_structure->module~mod_structures module~mod_abstract_charge_equilibration mod_abstract_charge_equilibration module~mod_predict_single_structure->module~mod_abstract_charge_equilibration module~mod_abstract_electrostatics mod_abstract_electrostatics module~mod_predict_single_structure->module~mod_abstract_electrostatics module~mod_abstract_property_model mod_abstract_property_model module~mod_predict_single_structure->module~mod_abstract_property_model module~mod_calc_atomic_properties mod_calc_atomic_properties module~mod_predict_single_structure->module~mod_calc_atomic_properties module~mod_ee4g_feature_calculator mod_ee4g_feature_calculator module~mod_predict_single_structure->module~mod_ee4g_feature_calculator module~mod_extrapolation_warning mod_extrapolation_warning module~mod_predict_single_structure->module~mod_extrapolation_warning module~mod_feature_calculator mod_feature_calculator module~mod_predict_single_structure->module~mod_feature_calculator module~mod_get_max_num_output_properties mod_get_max_num_output_properties module~mod_predict_single_structure->module~mod_get_max_num_output_properties module~mod_global_feature_statistics mod_global_feature_statistics module~mod_predict_single_structure->module~mod_global_feature_statistics module~mod_hirshfeld_vdw mod_hirshfeld_vdw module~mod_predict_single_structure->module~mod_hirshfeld_vdw module~mod_post_processing_wrapper_single_structure mod_post_processing_wrapper_single_structure module~mod_predict_single_structure->module~mod_post_processing_wrapper_single_structure module~mod_two_body mod_two_body module~mod_predict_single_structure->module~mod_two_body module~mod_runner_interface->module~mod_feature_map_neighborlist module~mod_runner_interface->module~mod_mpi module~mod_runner_interface->module~mod_precision module~mod_runner_interface->module~mod_settings module~mod_runner_interface->module~mod_structures module~mod_runner_interface->module~mod_throw module~mod_runner_interface->iso_c_binding module~mod_runner_interface->module~mod_abstract_charge_equilibration module~mod_runner_interface->module~mod_abstract_electrostatics module~mod_runner_interface->module~mod_abstract_property_model module~mod_cutoff_function mod_cutoff_function module~mod_runner_interface->module~mod_cutoff_function module~mod_runner_interface->module~mod_ee4g_feature_calculator module~mod_runner_interface->module~mod_feature_calculator module~mod_runner_interface->module~mod_global_feature_statistics module~mod_runner_interface->module~mod_hirshfeld_vdw module~mod_periodic_table mod_periodic_table module~mod_runner_interface->module~mod_periodic_table module~mod_structures_helper mod_structures_helper module~mod_runner_interface->module~mod_structures_helper module~mod_runner_interface->module~mod_two_body 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_settings->module~mod_io module~mod_settings->module~mod_periodic_table module~mod_structures->module~mod_mpi module~mod_structures->module~mod_precision module~mod_structures->module~mod_throw module~mod_array_helpers mod_array_helpers 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_periodic_table module~mod_structures->module~mod_structures_helper module~mod_throw->module~mod_mpi module~mod_throw->module~mod_precision module~mod_throw->iso_c_binding module~mod_throw->iso_fortran_env module~mod_throw->module~mod_io module~mod_sort mod_sort module~mod_throw->module~mod_sort module~mod_timer->module~mod_precision module~mod_timer->module~mod_throw ieee_arithmetic ieee_arithmetic module~mod_timer->ieee_arithmetic module~mod_timer->module~mod_io module~mod_optional_args mod_optional_args module~mod_timer->module~mod_optional_args module~mod_abstract_charge_equilibration->module~mod_precision module~mod_abstract_charge_equilibration->module~mod_structures module~mod_abstract_charge_equilibration->module~mod_abstract_electrostatics module~mod_abstract_charge_equilibration->module~mod_periodic_table module~mod_abstract_cutoff_function->module~mod_precision module~mod_abstract_electrostatics->module~mod_precision module~mod_abstract_electrostatics->module~mod_structures module~mod_abstract_property_model->module~mod_precision module~mod_abstract_property_model->module~mod_settings module~mod_abstract_property_model->module~mod_throw module~mod_abstract_property_model->module~mod_array_helpers module~mod_abstract_property_model->module~mod_io module~mod_initialize_array mod_initialize_array module~mod_abstract_property_model->module~mod_initialize_array module~mod_random mod_random module~mod_abstract_property_model->module~mod_random module~mod_array_helpers->module~mod_precision module~mod_array_helpers->module~mod_throw module~mod_calc_atomic_properties->module~mod_feature_map_neighborlist module~mod_calc_atomic_properties->module~mod_mpi module~mod_calc_atomic_properties->module~mod_precision module~mod_calc_atomic_properties->module~mod_throw module~mod_calc_atomic_properties->module~mod_timer module~mod_calc_atomic_properties->module~mod_abstract_property_model module~mod_calc_atomic_properties->module~mod_feature_calculator module~mod_calc_atomic_properties->module~mod_periodic_table module~mod_forward_batched mod_forward_batched module~mod_calc_atomic_properties->module~mod_forward_batched module~mod_set_integer mod_set_integer module~mod_calc_atomic_properties->module~mod_set_integer module~mod_constants->module~mod_precision module~mod_constants->iso_c_binding module~mod_cpu_vendor->iso_c_binding module~mod_cutoff_function->module~mod_precision module~mod_cutoff_function->module~mod_throw module~mod_cutoff_function->module~mod_abstract_cutoff_function module~mod_cutoff_function->module~mod_io 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_ee4g_feature_calculator->module~mod_feature_map_neighborlist module~mod_ee4g_feature_calculator->module~mod_precision module~mod_ee4g_feature_calculator->module~mod_settings module~mod_ee4g_feature_calculator->module~mod_structures module~mod_ee4g_feature_calculator->module~mod_throw module~mod_ee4g_feature_calculator->module~mod_constants module~mod_ee4g_feature_calculator->module~mod_io module~mod_ee4g_feature_calculator->module~mod_periodic_table module~mod_ee4g_feature_calculator->module~mod_sort module~mod_global_feature_calculator mod_global_feature_calculator module~mod_ee4g_feature_calculator->module~mod_global_feature_calculator module~mod_inputnn mod_inputnn module~mod_ee4g_feature_calculator->module~mod_inputnn module~mod_outer_product mod_outer_product module~mod_ee4g_feature_calculator->module~mod_outer_product module~mod_path mod_path module~mod_ee4g_feature_calculator->module~mod_path module~mod_extrapolation_warning->module~mod_precision module~mod_extrapolation_warning->module~mod_throw module~mod_extrapolation_warning->iso_c_binding module~mod_extrapolation_warning->module~mod_periodic_table module~mod_abstract_warning mod_abstract_warning module~mod_extrapolation_warning->module~mod_abstract_warning module~mod_feature_calculator->module~mod_feature_map_neighborlist module~mod_feature_calculator->module~mod_mpi 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_timer module~mod_feature_calculator->module~mod_array_helpers module~mod_feature_calculator->module~mod_cutoff_function module~mod_feature_calculator->module~mod_extrapolation_warning module~mod_feature_calculator->module~mod_io module~mod_feature_calculator->module~mod_optional_args module~mod_feature_calculator->module~mod_periodic_table 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_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_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_feature_calculator->module~mod_set_integer module~mod_get_max_num_output_properties->module~mod_mpi module~mod_get_max_num_output_properties->module~mod_abstract_property_model module~mod_global_feature_statistics->module~mod_precision module~mod_global_feature_statistics->module~mod_throw module~mod_global_feature_statistics->module~mod_io module~mod_global_feature_statistics->module~mod_periodic_table module~mod_free mod_free module~mod_global_feature_statistics->module~mod_free module~mod_statistics_container mod_statistics_container module~mod_global_feature_statistics->module~mod_statistics_container module~mod_statisticsfile mod_statisticsfile module~mod_global_feature_statistics->module~mod_statisticsfile module~mod_hirshfeld_vdw->module~mod_feature_map_neighborlist module~mod_hirshfeld_vdw->module~mod_mpi module~mod_hirshfeld_vdw->module~mod_precision module~mod_hirshfeld_vdw->module~mod_throw module~mod_hirshfeld_vdw->module~mod_io module~mod_hirshfeld_vdw->module~mod_periodic_table module~mod_io->module~mod_precision module~mod_io->iso_fortran_env module~mod_io->module~mod_optional_args 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_neighborlist->module~mod_mpi 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_io 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_periodic_table->module~mod_precision module~mod_periodic_table->module~mod_throw module~mod_periodic_table->module~mod_array_helpers module~mod_periodic_table->module~mod_constants module~mod_periodic_table->module~mod_io module~mod_post_processing_wrapper_single_structure->module~mod_feature_map_neighborlist module~mod_post_processing_wrapper_single_structure->module~mod_mpi module~mod_post_processing_wrapper_single_structure->module~mod_settings module~mod_post_processing_wrapper_single_structure->module~mod_structures module~mod_post_processing_wrapper_single_structure->module~mod_throw module~mod_post_processing_wrapper_single_structure->module~mod_timer module~mod_post_processing_wrapper_single_structure->module~mod_abstract_charge_equilibration module~mod_post_processing_wrapper_single_structure->module~mod_abstract_electrostatics module~mod_post_processing_wrapper_single_structure->module~mod_abstract_property_model module~mod_post_processing_wrapper_single_structure->module~mod_calc_atomic_properties module~mod_post_processing_wrapper_single_structure->module~mod_ee4g_feature_calculator module~mod_post_processing_wrapper_single_structure->module~mod_feature_calculator module~mod_post_processing_wrapper_single_structure->module~mod_global_feature_statistics module~mod_post_processing_wrapper_single_structure->module~mod_hirshfeld_vdw module~mod_post_processing_wrapper_single_structure->module~mod_periodic_table module~mod_post_processing_wrapper_single_structure->module~mod_two_body module~mod_dataset_storage mod_dataset_storage module~mod_post_processing_wrapper_single_structure->module~mod_dataset_storage module~mod_evaluate_4g_single_structure mod_evaluate_4g_single_structure module~mod_post_processing_wrapper_single_structure->module~mod_evaluate_4g_single_structure module~mod_post_processing_wrapper_single_structure->module~mod_free module~mod_global_features_helper mod_global_features_helper module~mod_post_processing_wrapper_single_structure->module~mod_global_features_helper module~mod_post_processing_2g_single_structure mod_post_processing_2g_single_structure module~mod_post_processing_wrapper_single_structure->module~mod_post_processing_2g_single_structure module~mod_post_processing_3g_single_structure mod_post_processing_3g_single_structure module~mod_post_processing_wrapper_single_structure->module~mod_post_processing_3g_single_structure module~mod_post_processing_4g_single_structure mod_post_processing_4g_single_structure module~mod_post_processing_wrapper_single_structure->module~mod_post_processing_4g_single_structure module~mod_post_processing_vdw_hirshfeld_single_structure mod_post_processing_vdw_hirshfeld_single_structure module~mod_post_processing_wrapper_single_structure->module~mod_post_processing_vdw_hirshfeld_single_structure module~mod_store_atomic_property_single_structure mod_store_atomic_property_single_structure module~mod_post_processing_wrapper_single_structure->module~mod_store_atomic_property_single_structure module~mod_sort->module~mod_precision module~mod_structures_helper->module~mod_precision module~mod_structures_helper->module~mod_linalg module~mod_two_body->module~mod_feature_map_neighborlist module~mod_two_body->module~mod_precision module~mod_two_body->module~mod_settings module~mod_two_body->module~mod_structures module~mod_two_body->module~mod_throw module~mod_two_body->module~mod_cutoff_function module~mod_two_body->module~mod_io module~mod_two_body->module~mod_periodic_table module~mod_dataloader_file mod_dataloader_file module~mod_two_body->module~mod_dataloader_file module~mod_two_body->module~mod_dataset_storage module~cublas_wrapper->module~mod_settings module~cublas_wrapper->iso_c_binding module~mod_angular_symmetry_function_3->module~mod_feature_map_neighborlist 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_cutoff_function module~mod_angular_symmetry_function_3->module~mod_periodic_table 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_fastmath mod_fastmath module~mod_angular_symmetry_function_3->module~mod_fastmath module~mod_hash mod_hash module~mod_angular_symmetry_function_3->module~mod_hash module~mod_angular_symmetry_function_8->module~mod_feature_map_neighborlist 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_cutoff_function module~mod_angular_symmetry_function_8->module~mod_periodic_table 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_feature_map_neighborlist 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_cutoff_function module~mod_angular_symmetry_function_9->module~mod_periodic_table 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_fastmath 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_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_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_data_container->module~mod_precision module~mod_data_container->module~mod_throw module~mod_data_container->module~mod_io module~mod_dataloader_file->module~mod_feature_map_neighborlist module~mod_dataloader_file->module~mod_mpi module~mod_dataloader_file->module~mod_precision module~mod_dataloader_file->module~mod_structures module~mod_dataloader_file->module~mod_throw module~mod_dataloader_file->module~mod_cutoff_function module~mod_dataloader_file->module~mod_feature_calculator module~mod_dataloader_file->module~mod_io module~mod_dataloader_file->module~mod_optional_args module~mod_dataloader_file->module~mod_periodic_table 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_memory_estimation mod_memory_estimation module~mod_dataloader_file->module~mod_memory_estimation module~mod_split_and_assign mod_split_and_assign module~mod_dataloader_file->module~mod_split_and_assign module~mod_dataset_storage->module~mod_mpi module~mod_dataset_storage->module~mod_sort mod_property_list mod_property_list module~mod_dataset_storage->mod_property_list module~mod_storage_container mod_storage_container module~mod_dataset_storage->module~mod_storage_container module~mod_dynamic_double_array->module~mod_precision module~mod_dynamic_double_array->module~mod_throw module~mod_element->module~mod_mpi module~mod_element->module~mod_precision module~mod_element->module~mod_throw module~mod_element->module~mod_constants module~mod_element->module~mod_cutoff_function module~mod_element->module~mod_io module~mod_element->module~mod_optional_args module~mod_element->module~mod_periodic_table 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_evaluate_4g_single_structure->module~mod_feature_map_neighborlist module~mod_evaluate_4g_single_structure->module~mod_mpi module~mod_evaluate_4g_single_structure->module~mod_precision module~mod_evaluate_4g_single_structure->module~mod_structures module~mod_evaluate_4g_single_structure->module~mod_throw module~mod_evaluate_4g_single_structure->module~mod_timer module~mod_evaluate_4g_single_structure->module~mod_abstract_charge_equilibration module~mod_evaluate_4g_single_structure->module~mod_ee4g_feature_calculator module~mod_evaluate_4g_single_structure->module~mod_feature_calculator module~mod_evaluate_4g_single_structure->module~mod_optional_args module~mod_evaluate_4g_single_structure->module~mod_periodic_table module~mod_evaluate_4g_single_structure->module~mod_structures_helper module~mod_chain_features mod_chain_features module~mod_evaluate_4g_single_structure->module~mod_chain_features module~mod_feature_map->module~mod_feature_map_neighborlist 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_cutoff_function module~mod_feature_map->module~mod_io module~mod_feature_map->module~mod_hash module~mod_sanitize mod_sanitize module~mod_feature_map->module~mod_sanitize module~mod_forward_batched->module~mod_mpi module~mod_forward_batched->module~mod_precision module~mod_forward_batched->module~mod_throw module~mod_forward_batched->module~mod_abstract_property_model module~mod_forward_batched->module~mod_periodic_table module~mod_forward_batched->module~mod_databatcher module~mod_free->module~mod_precision module~mod_global_feature_calculator->module~mod_precision module~mod_global_feature_calculator->module~mod_structures module~mod_global_feature_calculator->module~mod_throw module~mod_global_feature_calculator->module~mod_global_feature_statistics module~mod_global_feature_calculator->module~mod_io module~mod_global_feature_calculator->module~mod_optional_args module~mod_global_feature_calculator->module~mod_periodic_table module~mod_global_feature_calculator->module~mod_data_container module~mod_global_feature_calculator->module~mod_free module~mod_global_feature_calculator->module~mod_statistics_container module~mod_global_atomic_descriptor mod_global_atomic_descriptor module~mod_global_feature_calculator->module~mod_global_atomic_descriptor module~mod_training_charge_equilibration mod_training_charge_equilibration module~mod_global_feature_calculator->module~mod_training_charge_equilibration module~mod_global_features_helper->module~mod_precision module~mod_global_features_helper->module~mod_structures module~mod_global_features_helper->module~mod_extrapolation_warning module~mod_global_features_helper->module~mod_feature_calculator module~mod_global_features_helper->module~mod_global_feature_statistics module~mod_global_features_helper->module~mod_global_feature_calculator module~mod_initialize_array->module~mod_mpi module~mod_initialize_array->module~mod_precision module~mod_initialize_array->module~mod_throw module~mod_initialize_array->module~mod_io module~mod_initialize_array->module~mod_random module~mod_parameter_file mod_parameter_file module~mod_initialize_array->module~mod_parameter_file module~mod_inputnn->module~mod_mpi module~mod_inputnn->module~mod_throw module~mod_inputnn->module~mod_io module~mod_abstract_broadcast_file mod_abstract_broadcast_file module~mod_inputnn->module~mod_abstract_broadcast_file module~mod_neighbor_grid->module~mod_mpi module~mod_neighbor_grid->module~mod_precision 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_mpi module~mod_neighborlist_helper->module~mod_precision module~mod_neighborlist_helper->module~mod_linalg module~mod_outer_product->module~mod_precision module~mod_outer_product->module~mod_linalg 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_cutoff_function module~mod_overlap_matrix->module~mod_feature_map module~mod_path->module~mod_io module~mod_post_processing_2g_single_structure->module~mod_feature_map_neighborlist module~mod_post_processing_2g_single_structure->module~mod_mpi module~mod_post_processing_2g_single_structure->module~mod_precision module~mod_post_processing_2g_single_structure->module~mod_structures module~mod_post_processing_2g_single_structure->module~mod_timer module~mod_post_processing_2g_single_structure->module~mod_feature_calculator module~mod_post_processing_2g_single_structure->module~mod_periodic_table module~mod_post_processing_2g_single_structure->module~mod_chain_features module~mod_post_processing_3g_single_structure->module~mod_feature_map_neighborlist module~mod_post_processing_3g_single_structure->module~mod_mpi module~mod_post_processing_3g_single_structure->module~mod_precision module~mod_post_processing_3g_single_structure->module~mod_structures module~mod_post_processing_3g_single_structure->module~mod_abstract_electrostatics module~mod_post_processing_3g_single_structure->module~mod_feature_calculator module~mod_calc_screening mod_calc_screening module~mod_post_processing_3g_single_structure->module~mod_calc_screening module~mod_evaluate_electrostatics_3g_single_structure mod_evaluate_electrostatics_3g_single_structure module~mod_post_processing_3g_single_structure->module~mod_evaluate_electrostatics_3g_single_structure module~mod_post_processing_4g_single_structure->module~mod_feature_map_neighborlist module~mod_post_processing_4g_single_structure->module~mod_mpi module~mod_post_processing_4g_single_structure->module~mod_precision module~mod_post_processing_4g_single_structure->module~mod_structures module~mod_post_processing_4g_single_structure->module~mod_throw module~mod_post_processing_4g_single_structure->module~mod_abstract_charge_equilibration module~mod_post_processing_4g_single_structure->module~mod_ee4g_feature_calculator module~mod_post_processing_4g_single_structure->module~mod_feature_calculator module~mod_post_processing_4g_single_structure->module~mod_optional_args module~mod_post_processing_4g_single_structure->module~mod_evaluate_4g_single_structure module~mod_post_processing_4g_single_structure->module~mod_calc_screening module~mod_post_processing_vdw_hirshfeld_single_structure->module~mod_feature_map_neighborlist module~mod_post_processing_vdw_hirshfeld_single_structure->module~mod_mpi module~mod_post_processing_vdw_hirshfeld_single_structure->module~mod_precision module~mod_post_processing_vdw_hirshfeld_single_structure->module~mod_feature_calculator module~mod_post_processing_vdw_hirshfeld_single_structure->module~mod_hirshfeld_vdw module~mod_post_processing_vdw_hirshfeld_single_structure->module~mod_chain_features module~mod_radial_symmetry_function_1->module~mod_feature_map_neighborlist 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_cutoff_function 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_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_feature_map_neighborlist 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_cutoff_function module~mod_radial_symmetry_function_2->module~mod_periodic_table 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_statistics_container->module~mod_mpi module~mod_statistics_container->module~mod_precision module~mod_statistics_container->module~mod_throw module~mod_statistics_container->module~mod_constants module~mod_statistics_container->module~mod_io module~mod_statistics_container->module~mod_periodic_table module~mod_table mod_table module~mod_statistics_container->module~mod_table module~mod_statisticsfile->module~mod_mpi module~mod_statisticsfile->module~mod_statistics_container module~mod_statisticsfile->module~mod_abstract_broadcast_file module~mod_store_atomic_property_single_structure->module~mod_precision module~mod_store_atomic_property_single_structure->module~mod_settings module~mod_store_atomic_property_single_structure->module~mod_structures module~mod_store_atomic_property_single_structure->module~mod_dataset_storage module~mod_abstract_angular_symmetry_function->module~mod_feature_map_neighborlist 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_periodic_table module~mod_abstract_angular_symmetry_function->module~mod_abstract_symmetry_function module~mod_abstract_broadcast_file->module~mod_mpi module~mod_abstract_broadcast_file->module~mod_throw module~mod_abstract_broadcast_file->module~mod_io module~mod_abstract_broadcast_file->module~mod_sanitize module~mod_genericfile mod_genericfile module~mod_abstract_broadcast_file->module~mod_genericfile 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_structure_data_file->module~mod_mpi module~mod_abstract_structure_data_file->module~mod_structures module~mod_abstract_structure_data_file->module~mod_periodic_table module~mod_abstract_structure_data_file->module~mod_dataset_storage module~mod_abstract_structure_data_file->module~mod_genericfile module~mod_abstract_symmetry_function->module~mod_feature_map_neighborlist 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_io 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_calc_screening->module~mod_feature_map_neighborlist module~mod_calc_screening->module~mod_precision module~mod_calc_screening->module~mod_structures module~mod_calc_screening->module~mod_constants module~mod_chain_features->module~mod_feature_map_neighborlist module~mod_chain_features->module~mod_precision module~mod_chain_features->module~mod_feature_calculator module~mod_databatcher->module~mod_mpi module~mod_databatcher->module~mod_precision module~mod_databatcher->module~mod_throw module~mod_databatcher->module~mod_array_helpers module~mod_databatcher->module~mod_random module~mod_decorations->module~mod_precision module~mod_decorations->module~mod_throw module~mod_decorations->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_io 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_evaluate_electrostatics_3g_single_structure->module~mod_feature_map_neighborlist module~mod_evaluate_electrostatics_3g_single_structure->module~mod_mpi module~mod_evaluate_electrostatics_3g_single_structure->module~mod_precision module~mod_evaluate_electrostatics_3g_single_structure->module~mod_throw module~mod_evaluate_electrostatics_3g_single_structure->module~mod_timer module~mod_evaluate_electrostatics_3g_single_structure->module~mod_abstract_electrostatics module~mod_evaluate_electrostatics_3g_single_structure->module~mod_feature_calculator module~mod_evaluate_electrostatics_3g_single_structure->module~mod_chain_features module~mod_fastmath->module~mod_precision module~mod_global_atomic_descriptor->module~mod_precision module~mod_global_atomic_descriptor->module~mod_optional_args module~mod_hash->module~mod_precision module~mod_hash->module~mod_io module~mod_hash->module~mod_periodic_table module~mod_memory_estimation->module~mod_feature_map_neighborlist module~mod_memory_estimation->module~mod_mpi 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_io module~mod_memory_estimation->module~mod_periodic_table module~mod_memory_estimation->module~mod_table module~mod_parameter_file->module~mod_precision module~mod_parameter_file->module~mod_throw module~mod_parameter_file->module~mod_io module~mod_parameter_file->module~mod_abstract_broadcast_file module~mod_nan_check mod_nan_check module~mod_parameter_file->module~mod_nan_check module~mod_sanitize->module~mod_throw module~mod_set_character->module~mod_throw module~mod_split_and_assign->module~mod_mpi module~mod_split_and_assign->module~mod_precision module~mod_split_and_assign->module~mod_throw module~mod_storage_container->module~mod_mpi module~mod_storage_container->module~mod_io module~mod_storage_container->module~mod_sort module~mod_storage_container->module~mod_dynamic_int_array module~mod_storage_container->mod_property_list module~mod_abstract_property_list mod_abstract_property_list module~mod_storage_container->module~mod_abstract_property_list module~mod_string mod_string module~mod_storage_container->module~mod_string module~mod_table->module~mod_precision module~mod_table->module~mod_throw module~mod_table->module~mod_io module~mod_table->module~mod_decorations module~mod_training_charge_equilibration->module~mod_precision module~mod_training_charge_equilibration->module~mod_structures module~mod_training_charge_equilibration->module~mod_abstract_electrostatics module~mod_training_charge_equilibration->module~mod_linalg module~mod_training_charge_equilibration->module~mod_optional_args module~mod_training_charge_equilibration->module~mod_data_container module~mod_cross_matrix mod_cross_matrix module~mod_training_charge_equilibration->module~mod_cross_matrix module~mod_ewald_summation mod_ewald_summation module~mod_training_charge_equilibration->module~mod_ewald_summation module~mod_pair_electrostatics mod_pair_electrostatics module~mod_training_charge_equilibration->module~mod_pair_electrostatics module~mod_abstract_property_list->module~mod_mpi module~mod_abstract_property_list->module~mod_throw 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_cross_matrix->module~mod_precision module~mod_cross_matrix->module~mod_linalg 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_ewald_summation->module~mod_precision module~mod_ewald_summation->module~mod_abstract_electrostatics module~mod_ewald_summation->module~mod_constants module~mod_ewald_summation->module~mod_linalg module~mod_ewald_summation->module~mod_neighbor_grid module~mod_ewald_summation->module~mod_neighborlist_helper module~mod_ewald_summation->module~mod_outer_product module~mod_ewald_summation->module~mod_pair_electrostatics module~mod_genericfile->module~mod_mpi module~mod_genericfile->module~mod_throw module~mod_genericfile->module~mod_io module~mod_nan_check->module~mod_precision module~mod_nan_check->module~mod_throw module~mod_nan_check->ieee_arithmetic module~mod_nan_check->module~mod_io module~mod_pair_electrostatics->module~mod_precision module~mod_pair_electrostatics->module~mod_throw module~mod_pair_electrostatics->module~mod_abstract_electrostatics module~mod_pair_electrostatics->module~mod_constants module~mod_spin_prefactor->module~mod_feature_map_neighborlist module~mod_spin_prefactor->module~mod_precision module~mod_string->module~mod_precision module~mod_dynamic_int_array_2d->module~mod_mpi module~mod_dynamic_string_array->module~mod_string

Used By

module~~mod_generic_interface~~UsedByGraph module~mod_generic_interface mod_generic_interface module~mod_feature_calc_interface mod_feature_calc_interface module~mod_feature_calc_interface->module~mod_generic_interface

Module Variables

  • API_VERSION : integer

Procedures Summary

Name Type Description
runner_generic_interface_api_version Function communiactes API version to catch incompatibilites
predict_structure_interface Subroutine This subroutine is the main entry point for predicting the energy and optionally atomic...
build_structure_neighborlists_feature_calculators Subroutine

Procedure Details

function runner_generic_interface_api_version

function runner_generic_interface_api_version()

communiactes API version to catch incompatibilites


subroutine predict_structure_interface

subroutine predict_structure_interface( &
    num_atoms, &
    xyz_coordinates, &
    atomic_numbers, &
    energy, &
    forces, &
    total_charge, &
    lattice, &
    stress &
)

This subroutine is the main entry point for predicting the energy and optionally atomic forces and the stress tensor for a single structure. runner_interface_init MUST BE CALLED BEFORE THIS SUBROUTINE!

NOTE Row-major vs. column-major storage: Fortran is column-major. This means that the first index is the fastest changing index/contiguous in memory. While this is the opposite of C/(default)numpy, this is just a convention. The memory layout is what matters. So if you have a C- or numpy-array and the x/y/z coordinates of each atom are stored in contiguous memory, then you should not transpose the array. This is most likely the case. So again if your C-array seems to have flipped dimensions then it is correct and you should not transpose the array. NOTE types: DP is a C-"double", CINT is a C "int". While C-double technically means that it has at least 64 bits, its in practice always 64 bits and hence the same as REAL(REAL64) from iso_fortran_env, which in turn is in practice most likely the same as "double precision" or "real(8)" in Fortran. CINT is a C integer, which again technically only means it has to have at least 32 bits but in practice always has 32 bits and is hence the same as Fortran's default integer. NOTE units: Everything is assumed to be in atomic units (Hartree/Bohr) but if you choose the cutoff accordingly, you can use other units. It should not matter.

Arguments

  • num_atoms : integer(CINT) [in]– Number of atoms in the structure
  • xyz_coordinates : real(DP) (dim: (3,num_atoms)) [in]– Cartesian coordinates of the atoms in Bohr. Since Fortran is column-major and the first index is the x/y/z coordinate, make sure that x/y/z coordinates of each atom are stored in contiguous memory. See explanation in the main description.
  • atomic_numbers : integer(CINT) (dim: (num_atoms)) [in]– Atomic numbers of the atoms. I.e. Hydrogen = 1, Helium = 2, ...
  • energy : real(DP) (dim: (global_settings%num_committee_members)) [out]– On return, the predicted potential energy (V) of the structure in Hartree
  • forces : real(DP) (dim: (3,num_atoms,global_settings%num_committee_members)) [out]– On return, predicted forces on each atoms in Hartree/Bohr. Only computed if `calculate_forces` is set in your input file. See also explanation in the main description.
  • total_charge : real(DP) [in]– Total charge of the structure in electrons, if not provided, the charge is assumed to be zero this is only meaningful if the model supports it. Hence 2G-NN models will ignore this argument.
  • lattice : real(DP) (dim: (3,3)) [in]– Lattice vectors of the structure in bohr, if not provided, the structure is assumed to be in vacuum. Note Depending on which side you are, we either use the "correct" or "wrong" convention for the lattice vectors. If you think we are "wrong" transpose your your "correct" input.
  • stress : real(DP) (dim: (3,3,global_settings%num_committee_members)) [out]– Predicted macroscopic stress tensor of the structure in Hartree/Bohr^3, only returned if lattice is provided. Only computed if `calculate_stress` is set in your input file. Note that there are multiple conventions for the stress tensor. We use the macroscopic stress tensor: the strain derivative of the energy per unit cell volume. This is contrast to what LAMMPS calls the stress tensor (not normalized per volume and opposite sign).

subroutine build_structure_neighborlists_feature_calculators

subroutine build_structure_neighborlists_feature_calculators( &
    num_atoms, &
    xyz_coordinates, &
    atomic_numbers, &
    total_charge, &
    lattice &
)

Arguments

  • num_atoms : integer(CINT) [in]– Number of atoms in the structure
  • xyz_coordinates : real(DP) (dim: (3,num_atoms)) [in]– Cartesian coordinates of the atoms in Bohr. Since Fortran is column-major and the first index is the x/y/z coordinate, make sure that x/y/z coordinates of each atom are stored in contiguous memory. See explanation in the main description.
  • atomic_numbers : integer(CINT) (dim: (num_atoms)) [in]– Atomic numbers of the atoms. I.e. Hydrogen = 1, Helium = 2, ...
  • total_charge : real(DP) [in]– Total charge of the structure in electrons, if not provided, the charge is assumed to be zero this is only meaningful if the model supports it. Hence 2G-NN models will ignore this argument.
  • lattice : real(DP) (dim: (3,3)) [in]– Lattice vectors of the structure in bohr, if not provided, the structure is assumed to be in vacuum. Note Depending on which side you are, we either use the "correct" or "wrong" convention for the lattice vectors. If you think we are "wrong" transpose your your "correct" input.

Called By

proc~~build_structure_neighborlists_feature_calculators~~CalledByGraph proc~build_structure_neighborlists_feature_calculators mod_generic_interface::build_structure_neighborlists_feature_calculators proc~predict_structure_interface mod_generic_interface::predict_structure_interface proc~predict_structure_interface->proc~build_structure_neighborlists_feature_calculators proc~prepare_feature_calculator_get_neighbor_list_info mod_feature_calc_interface::prepare_feature_calculator_get_neighbor_list_info proc~prepare_feature_calculator_get_neighbor_list_info->proc~build_structure_neighborlists_feature_calculators