Skip to content

mod_runner_interface_bindings

Lines: 474 | Visibility: private

Type and routines that can be used to interface RuNNer with other programs.

Dependencies

Uses

module~~mod_runner_interface_bindings~~UsesGraph module~mod_runner_interface_bindings mod_runner_interface_bindings iso_c_binding iso_c_binding module~mod_runner_interface_bindings->iso_c_binding module~mod_calc_atomic_properties mod_calc_atomic_properties module~mod_runner_interface_bindings->module~mod_calc_atomic_properties module~mod_calc_screening mod_calc_screening module~mod_runner_interface_bindings->module~mod_calc_screening module~mod_cutoff_function mod_cutoff_function module~mod_runner_interface_bindings->module~mod_cutoff_function module~mod_enforce_reading mod_enforce_reading module~mod_runner_interface_bindings->module~mod_enforce_reading module~mod_evaluate_4g_single_structure mod_evaluate_4g_single_structure module~mod_runner_interface_bindings->module~mod_evaluate_4g_single_structure module~mod_evaluate_electrostatics_3g_single_structure mod_evaluate_electrostatics_3g_single_structure module~mod_runner_interface_bindings->module~mod_evaluate_electrostatics_3g_single_structure module~mod_extrapolation_warning mod_extrapolation_warning module~mod_runner_interface_bindings->module~mod_extrapolation_warning module~mod_feature_calculator mod_feature_calculator module~mod_runner_interface_bindings->module~mod_feature_calculator module~mod_feature_calculator_statistics mod_feature_calculator_statistics module~mod_runner_interface_bindings->module~mod_feature_calculator_statistics module~mod_free mod_free module~mod_runner_interface_bindings->module~mod_free module~mod_get_max_num_output_properties mod_get_max_num_output_properties module~mod_runner_interface_bindings->module~mod_get_max_num_output_properties module~mod_global_features_helper mod_global_features_helper module~mod_runner_interface_bindings->module~mod_global_features_helper module~mod_hirshfeld_vdw mod_hirshfeld_vdw module~mod_runner_interface_bindings->module~mod_hirshfeld_vdw module~mod_initialize mod_initialize module~mod_runner_interface_bindings->module~mod_initialize module~mod_inputnn mod_inputnn module~mod_runner_interface_bindings->module~mod_inputnn module~mod_io mod_io module~mod_runner_interface_bindings->module~mod_io module~mod_mpi mod_mpi module~mod_runner_interface_bindings->module~mod_mpi module~mod_path mod_path module~mod_runner_interface_bindings->module~mod_path module~mod_periodic_table mod_periodic_table module~mod_runner_interface_bindings->module~mod_periodic_table module~mod_post_processing_2g_single_structure mod_post_processing_2g_single_structure module~mod_runner_interface_bindings->module~mod_post_processing_2g_single_structure module~mod_post_processing_vdw_hirshfeld_single_structure mod_post_processing_vdw_hirshfeld_single_structure module~mod_runner_interface_bindings->module~mod_post_processing_vdw_hirshfeld_single_structure module~mod_precision mod_precision module~mod_runner_interface_bindings->module~mod_precision module~mod_qeq_feature_calculator mod_qeq_feature_calculator module~mod_runner_interface_bindings->module~mod_qeq_feature_calculator module~mod_runner_interface mod_runner_interface module~mod_runner_interface_bindings->module~mod_runner_interface module~mod_settings mod_settings module~mod_runner_interface_bindings->module~mod_settings module~mod_structures_helper mod_structures_helper module~mod_runner_interface_bindings->module~mod_structures_helper module~mod_throw mod_throw module~mod_runner_interface_bindings->module~mod_throw module~mod_timer mod_timer module~mod_runner_interface_bindings->module~mod_timer module~mod_two_body mod_two_body module~mod_runner_interface_bindings->module~mod_two_body module~mod_calc_atomic_properties->module~mod_feature_calculator module~mod_calc_atomic_properties->module~mod_mpi module~mod_calc_atomic_properties->module~mod_periodic_table 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_abstract_property_model mod_abstract_property_model module~mod_calc_atomic_properties->module~mod_abstract_property_model module~mod_feature_map_neighborlist mod_feature_map_neighborlist module~mod_calc_atomic_properties->module~mod_feature_map_neighborlist 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_calc_screening->module~mod_precision module~mod_constants mod_constants module~mod_calc_screening->module~mod_constants module~mod_calc_screening->module~mod_feature_map_neighborlist module~mod_structures mod_structures module~mod_calc_screening->module~mod_structures 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_enforce_reading->module~mod_feature_calculator module~mod_enforce_reading->module~mod_settings module~mod_enforce_reading->module~mod_abstract_property_model module~mod_global_feature_calculator mod_global_feature_calculator module~mod_enforce_reading->module~mod_global_feature_calculator module~mod_global_warning mod_global_warning module~mod_enforce_reading->module~mod_global_warning module~mod_evaluate_4g_single_structure->module~mod_feature_calculator module~mod_evaluate_4g_single_structure->module~mod_mpi module~mod_evaluate_4g_single_structure->module~mod_periodic_table module~mod_evaluate_4g_single_structure->module~mod_precision module~mod_evaluate_4g_single_structure->module~mod_structures_helper module~mod_evaluate_4g_single_structure->module~mod_throw module~mod_evaluate_4g_single_structure->module~mod_timer module~mod_abstract_charge_equilibration mod_abstract_charge_equilibration module~mod_evaluate_4g_single_structure->module~mod_abstract_charge_equilibration module~mod_chain_features mod_chain_features module~mod_evaluate_4g_single_structure->module~mod_chain_features module~mod_ee4g_feature_calculator mod_ee4g_feature_calculator module~mod_evaluate_4g_single_structure->module~mod_ee4g_feature_calculator module~mod_evaluate_4g_single_structure->module~mod_feature_map_neighborlist module~mod_optional_args mod_optional_args module~mod_evaluate_4g_single_structure->module~mod_optional_args module~mod_evaluate_4g_single_structure->module~mod_structures module~mod_evaluate_electrostatics_3g_single_structure->module~mod_feature_calculator 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_abstract_electrostatics mod_abstract_electrostatics module~mod_evaluate_electrostatics_3g_single_structure->module~mod_abstract_electrostatics module~mod_evaluate_electrostatics_3g_single_structure->module~mod_chain_features module~mod_evaluate_electrostatics_3g_single_structure->module~mod_feature_map_neighborlist module~mod_extrapolation_warning->iso_c_binding module~mod_extrapolation_warning->module~mod_periodic_table module~mod_extrapolation_warning->module~mod_precision module~mod_extrapolation_warning->module~mod_throw module~mod_abstract_warning mod_abstract_warning module~mod_extrapolation_warning->module~mod_abstract_warning 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_mpi module~mod_feature_calculator->module~mod_path 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_throw 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_array_helpers mod_array_helpers module~mod_feature_calculator->module~mod_array_helpers 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_feature_calculator->module~mod_feature_map_neighborlist module~mod_feature_calculator->module~mod_optional_args module~mod_overlap_matrix mod_overlap_matrix module~mod_feature_calculator->module~mod_overlap_matrix 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_feature_calculator->module~mod_structures module~mod_feature_calculator_statistics->module~mod_feature_calculator module~mod_feature_calculator_statistics->module~mod_mpi module~mod_feature_calculator_statistics->module~mod_path module~mod_feature_calculator_statistics->module~mod_settings module~mod_dubious_feature_map_handler mod_dubious_feature_map_handler module~mod_feature_calculator_statistics->module~mod_dubious_feature_map_handler module~mod_feature_calculator_statistics->module~mod_feature_map_neighborlist module~mod_scalingdata mod_scalingdata module~mod_feature_calculator_statistics->module~mod_scalingdata module~mod_feature_calculator_statistics->module~mod_structures module~mod_free->module~mod_precision 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_features_helper->module~mod_extrapolation_warning module~mod_global_features_helper->module~mod_feature_calculator module~mod_global_features_helper->module~mod_precision module~mod_global_features_helper->module~mod_global_feature_calculator module~mod_global_feature_statistics mod_global_feature_statistics module~mod_global_features_helper->module~mod_global_feature_statistics module~mod_global_features_helper->module~mod_structures module~mod_hirshfeld_vdw->module~mod_io module~mod_hirshfeld_vdw->module~mod_mpi module~mod_hirshfeld_vdw->module~mod_periodic_table module~mod_hirshfeld_vdw->module~mod_precision module~mod_hirshfeld_vdw->module~mod_throw module~mod_hirshfeld_vdw->module~mod_feature_map_neighborlist module~mod_initialize->module~mod_cutoff_function module~mod_initialize->module~mod_feature_calculator module~mod_initialize->module~mod_hirshfeld_vdw module~mod_initialize->module~mod_inputnn module~mod_initialize->module~mod_io module~mod_initialize->module~mod_mpi module~mod_initialize->module~mod_path module~mod_initialize->module~mod_periodic_table module~mod_initialize->module~mod_qeq_feature_calculator module~mod_initialize->module~mod_settings module~mod_initialize->module~mod_throw module~mod_initialize->module~mod_two_body module~mod_initialize->module~mod_abstract_charge_equilibration module~mod_initialize->module~mod_abstract_electrostatics module~mod_abstract_property_list mod_abstract_property_list module~mod_initialize->module~mod_abstract_property_list module~mod_initialize->module~mod_abstract_property_model module~mod_abstractoptimizer mod_abstractoptimizer module~mod_initialize->module~mod_abstractoptimizer module~mod_committee_helper mod_committee_helper module~mod_initialize->module~mod_committee_helper module~mod_dataset_storage mod_dataset_storage module~mod_initialize->module~mod_dataset_storage module~mod_direct_charge_equilibration mod_direct_charge_equilibration module~mod_initialize->module~mod_direct_charge_equilibration module~mod_dynamic_int_array mod_dynamic_int_array module~mod_initialize->module~mod_dynamic_int_array module~mod_initialize->module~mod_ee4g_feature_calculator module~mod_initialize->module~mod_element module~mod_elemental_property_model mod_elemental_property_model module~mod_initialize->module~mod_elemental_property_model module~mod_ewald_summation mod_ewald_summation module~mod_initialize->module~mod_ewald_summation module~mod_hdnn mod_hdnn module~mod_initialize->module~mod_hdnn module~mod_iterative_charge_equilibration_cg mod_iterative_charge_equilibration_cg module~mod_initialize->module~mod_iterative_charge_equilibration_cg module~mod_iterative_charge_equilibration_sqnm mod_iterative_charge_equilibration_sqnm module~mod_initialize->module~mod_iterative_charge_equilibration_sqnm module~mod_lossfunctions mod_lossfunctions module~mod_initialize->module~mod_lossfunctions module~mod_optimizers mod_optimizers module~mod_initialize->module~mod_optimizers module~mod_pair_electrostatics mod_pair_electrostatics module~mod_initialize->module~mod_pair_electrostatics module~mod_pppm mod_pppm module~mod_initialize->module~mod_pppm module~mod_pw mod_pw module~mod_initialize->module~mod_pw module~mod_initialize->module~mod_set_integer module~mod_string mod_string module~mod_initialize->module~mod_string module~mod_write_headers mod_write_headers module~mod_initialize->module~mod_write_headers module~mod_inputnn->module~mod_io module~mod_inputnn->module~mod_mpi module~mod_inputnn->module~mod_throw module~mod_abstract_broadcast_file mod_abstract_broadcast_file module~mod_inputnn->module~mod_abstract_broadcast_file 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_mpi->module~mod_precision mpi_f08 mpi_f08 module~mod_mpi->mpi_f08 module~mod_path->module~mod_io module~mod_periodic_table->module~mod_io 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_post_processing_2g_single_structure->module~mod_feature_calculator module~mod_post_processing_2g_single_structure->module~mod_mpi module~mod_post_processing_2g_single_structure->module~mod_periodic_table module~mod_post_processing_2g_single_structure->module~mod_precision module~mod_post_processing_2g_single_structure->module~mod_timer module~mod_post_processing_2g_single_structure->module~mod_chain_features module~mod_post_processing_2g_single_structure->module~mod_feature_map_neighborlist module~mod_post_processing_2g_single_structure->module~mod_structures 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_mpi module~mod_post_processing_vdw_hirshfeld_single_structure->module~mod_precision module~mod_post_processing_vdw_hirshfeld_single_structure->module~mod_chain_features module~mod_post_processing_vdw_hirshfeld_single_structure->module~mod_feature_map_neighborlist module~mod_precision->iso_c_binding module~mod_precision->iso_fortran_env module~mod_qeq_feature_calculator->module~mod_inputnn module~mod_qeq_feature_calculator->module~mod_io module~mod_qeq_feature_calculator->module~mod_path module~mod_qeq_feature_calculator->module~mod_precision module~mod_qeq_feature_calculator->module~mod_settings module~mod_qeq_feature_calculator->module~mod_throw module~mod_qeq_feature_calculator->module~mod_global_feature_calculator module~mod_qeq_feature_calculator->module~mod_structures module~mod_training_charge_equilibration mod_training_charge_equilibration module~mod_qeq_feature_calculator->module~mod_training_charge_equilibration module~mod_runner_interface->iso_c_binding module~mod_runner_interface->module~mod_cutoff_function module~mod_runner_interface->module~mod_feature_calculator module~mod_runner_interface->module~mod_hirshfeld_vdw module~mod_runner_interface->module~mod_mpi module~mod_runner_interface->module~mod_periodic_table module~mod_runner_interface->module~mod_precision module~mod_runner_interface->module~mod_settings module~mod_runner_interface->module~mod_structures_helper module~mod_runner_interface->module~mod_throw module~mod_runner_interface->module~mod_two_body 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_runner_interface->module~mod_ee4g_feature_calculator module~mod_runner_interface->module~mod_feature_map_neighborlist module~mod_runner_interface->module~mod_global_feature_statistics module~mod_runner_interface->module~mod_structures 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_helper->module~mod_precision module~mod_linalg mod_linalg module~mod_structures_helper->module~mod_linalg module~mod_throw->iso_c_binding module~mod_throw->module~mod_io module~mod_throw->module~mod_mpi module~mod_throw->module~mod_precision module~mod_throw->iso_fortran_env module~mod_sort mod_sort module~mod_throw->module~mod_sort module~mod_timer->module~mod_io 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_optional_args 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_two_body->module~mod_precision module~mod_two_body->module~mod_settings module~mod_two_body->module~mod_throw module~mod_dataloader_file mod_dataloader_file module~mod_two_body->module~mod_dataloader_file module~mod_two_body->module~mod_dataset_storage module~mod_two_body->module~mod_feature_map_neighborlist module~mod_two_body->module~mod_structures module~mod_abstract_broadcast_file->module~mod_io module~mod_abstract_broadcast_file->module~mod_mpi module~mod_abstract_broadcast_file->module~mod_throw module~mod_genericfile mod_genericfile module~mod_abstract_broadcast_file->module~mod_genericfile module~mod_sanitize mod_sanitize module~mod_abstract_broadcast_file->module~mod_sanitize module~mod_abstract_charge_equilibration->module~mod_periodic_table module~mod_abstract_charge_equilibration->module~mod_precision module~mod_abstract_charge_equilibration->module~mod_abstract_electrostatics module~mod_abstract_charge_equilibration->module~mod_structures 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_list->module~mod_mpi module~mod_abstract_property_list->module~mod_throw module~mod_abstract_property_list->module~mod_dynamic_int_array module~mod_abstract_property_list->module~mod_optional_args 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_abstract_property_model->module~mod_io 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_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_abstractoptimizer->module~mod_io module~mod_abstractoptimizer->module~mod_mpi module~mod_abstractoptimizer->module~mod_precision module~mod_abstractoptimizer->module~mod_settings module~mod_abstractoptimizer->module~mod_throw module~mod_abstractoptimizer->module~mod_global_warning module~mod_gradient_clipping mod_gradient_clipping module~mod_abstractoptimizer->module~mod_gradient_clipping module~mod_loss_abstract mod_loss_abstract module~mod_abstractoptimizer->module~mod_loss_abstract module~mod_nan_check mod_nan_check module~mod_abstractoptimizer->module~mod_nan_check 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_precision 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_feature_map module~mod_angular_symmetry_function_3->module~mod_feature_map_neighborlist module~mod_angular_symmetry_function_3->module~mod_structures 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_cutoff_function 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_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_feature_map_neighborlist module~mod_angular_symmetry_function_8->module~mod_structures 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_periodic_table module~mod_angular_symmetry_function_9->module~mod_precision 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_feature_map module~mod_angular_symmetry_function_9->module~mod_feature_map_neighborlist module~mod_angular_symmetry_function_9->module~mod_structures 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_array_helpers->module~mod_precision module~mod_array_helpers->module~mod_throw module~mod_atomic_descriptor->module~mod_precision module~mod_atomic_descriptor->module~mod_element module~mod_atomic_descriptor->module~mod_structures module~mod_chain_features->module~mod_feature_calculator module~mod_chain_features->module~mod_precision module~mod_chain_features->module~mod_feature_map_neighborlist module~mod_committee_helper->module~mod_io module~mod_committee_helper->module~mod_settings module~mod_constants->iso_c_binding module~mod_constants->module~mod_precision 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_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_io module~mod_data_container->module~mod_precision module~mod_data_container->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_mpi module~mod_dataloader_file->module~mod_periodic_table module~mod_dataloader_file->module~mod_precision module~mod_dataloader_file->module~mod_throw module~mod_dataloader_file->module~mod_feature_map_neighborlist module~mod_dataloader_file->module~mod_optional_args module~mod_dataloader_file->module~mod_structures 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_direct_charge_equilibration->module~mod_precision module~mod_direct_charge_equilibration->module~mod_abstract_charge_equilibration module~mod_direct_charge_equilibration->module~mod_abstract_electrostatics module~mod_direct_charge_equilibration->module~mod_linalg 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_int_array module~mod_decorations mod_decorations module~mod_dubious_feature_map_handler->module~mod_decorations module~mod_dynamic_double_array mod_dynamic_double_array module~mod_dubious_feature_map_handler->module~mod_dynamic_double_array module~mod_dynamic_line_array mod_dynamic_line_array module~mod_dubious_feature_map_handler->module~mod_dynamic_line_array module~mod_ee4g_feature_calculator->module~mod_inputnn module~mod_ee4g_feature_calculator->module~mod_io module~mod_ee4g_feature_calculator->module~mod_path module~mod_ee4g_feature_calculator->module~mod_periodic_table module~mod_ee4g_feature_calculator->module~mod_precision module~mod_ee4g_feature_calculator->module~mod_settings module~mod_ee4g_feature_calculator->module~mod_throw module~mod_ee4g_feature_calculator->module~mod_constants module~mod_ee4g_feature_calculator->module~mod_feature_map_neighborlist module~mod_ee4g_feature_calculator->module~mod_global_feature_calculator module~mod_ee4g_feature_calculator->module~mod_sort module~mod_ee4g_feature_calculator->module~mod_structures module~mod_outer_product mod_outer_product module~mod_ee4g_feature_calculator->module~mod_outer_product module~mod_element->module~mod_cutoff_function module~mod_element->module~mod_io module~mod_element->module~mod_mpi module~mod_element->module~mod_periodic_table module~mod_element->module~mod_precision module~mod_element->module~mod_throw module~mod_element->module~mod_angular_symmetry_function_3 module~mod_element->module~mod_angular_symmetry_function_9 module~mod_element->module~mod_constants module~mod_element->module~mod_dubious_feature_map_handler module~mod_element->module~mod_feature_map module~mod_element->module~mod_optional_args 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_element->module~mod_decorations module~mod_element->module~mod_hash module~mod_set_character mod_set_character module~mod_element->module~mod_set_character module~mod_elemental_property_model->module~mod_io module~mod_elemental_property_model->module~mod_periodic_table module~mod_elemental_property_model->module~mod_precision module~mod_elemental_property_model->module~mod_throw module~mod_elemental_property_model->module~mod_abstract_property_model module~mod_elemental_property_model->module~mod_array_helpers module~mod_activationfunctions mod_activationfunctions module~mod_elemental_property_model->module~mod_activationfunctions module~mod_elemental_property_model->module~mod_decorations module~mod_elemental_property_model->module~mod_initialize_array module~mod_elemental_property_model->module~mod_random 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_pair_electrostatics module~mod_neighbor_grid mod_neighbor_grid module~mod_ewald_summation->module~mod_neighbor_grid module~mod_neighborlist_helper mod_neighborlist_helper module~mod_ewald_summation->module~mod_neighborlist_helper module~mod_ewald_summation->module~mod_outer_product module~mod_feature_map->module~mod_cutoff_function module~mod_feature_map->module~mod_io module~mod_feature_map->module~mod_precision module~mod_feature_map->module~mod_throw module~mod_feature_map->module~mod_feature_map_neighborlist module~mod_feature_map->module~mod_structures module~mod_feature_map->module~mod_hash module~mod_feature_map->module~mod_sanitize module~mod_feature_map_neighborlist->module~mod_io module~mod_feature_map_neighborlist->module~mod_mpi module~mod_feature_map_neighborlist->module~mod_precision module~mod_feature_map_neighborlist->module~mod_throw module~mod_feature_map_neighborlist->module~mod_timer module~mod_feature_map_neighborlist->module~mod_abstract_cutoff_function module~mod_feature_map_neighborlist->module~mod_constants module~mod_feature_map_neighborlist->module~mod_structures module~mod_neighborlist mod_neighborlist module~mod_feature_map_neighborlist->module~mod_neighborlist module~mod_forward_batched->module~mod_mpi module~mod_forward_batched->module~mod_periodic_table 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_databatcher module~mod_global_feature_calculator->module~mod_free module~mod_global_feature_calculator->module~mod_io module~mod_global_feature_calculator->module~mod_periodic_table module~mod_global_feature_calculator->module~mod_precision module~mod_global_feature_calculator->module~mod_throw module~mod_global_feature_calculator->module~mod_data_container module~mod_global_feature_calculator->module~mod_global_feature_statistics module~mod_global_feature_calculator->module~mod_optional_args module~mod_global_feature_calculator->module~mod_structures module~mod_global_feature_calculator->module~mod_training_charge_equilibration module~mod_global_atomic_descriptor mod_global_atomic_descriptor module~mod_global_feature_calculator->module~mod_global_atomic_descriptor module~mod_statistics_container mod_statistics_container module~mod_global_feature_calculator->module~mod_statistics_container module~mod_global_feature_statistics->module~mod_free module~mod_global_feature_statistics->module~mod_io module~mod_global_feature_statistics->module~mod_periodic_table module~mod_global_feature_statistics->module~mod_precision module~mod_global_feature_statistics->module~mod_throw module~mod_global_feature_statistics->module~mod_statistics_container module~mod_statisticsfile mod_statisticsfile module~mod_global_feature_statistics->module~mod_statisticsfile module~mod_global_warning->module~mod_io module~mod_global_warning->module~mod_throw module~mod_global_warning->module~mod_abstract_warning module~mod_hdnn->module~mod_io module~mod_hdnn->module~mod_periodic_table module~mod_hdnn->module~mod_precision module~mod_hdnn->module~mod_settings module~mod_hdnn->module~mod_throw module~mod_hdnn->module~mod_abstract_property_model module~mod_hdnn->module~mod_array_helpers module~mod_hdnn->module~mod_global_warning module~mod_hdnn->module~mod_decorations module~mod_hdnn->module~mod_initialize_array module~mod_neural_network mod_neural_network module~mod_hdnn->module~mod_neural_network module~mod_hdnn->module~mod_random module~mod_iterative_charge_equilibration_cg->module~mod_precision module~mod_abstract_iterative_charge_equilibration mod_abstract_iterative_charge_equilibration module~mod_iterative_charge_equilibration_cg->module~mod_abstract_iterative_charge_equilibration module~mod_iterative_charge_equilibration_sqnm->module~mod_precision module~mod_iterative_charge_equilibration_sqnm->module~mod_abstract_iterative_charge_equilibration module~sqnm sqnm module~mod_iterative_charge_equilibration_sqnm->module~sqnm 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_lossfunctions->module~mod_io module~mod_lossfunctions->module~mod_throw module~mod_lossfunctions->module~mod_loss_abstract module~mod_loss_mae mod_loss_mae module~mod_lossfunctions->module~mod_loss_mae module~mod_loss_mse mod_loss_mse module~mod_lossfunctions->module~mod_loss_mse module~mod_loss_mse_torch mod_loss_mse_torch module~mod_lossfunctions->module~mod_loss_mse_torch module~mod_loss_rmse mod_loss_rmse module~mod_lossfunctions->module~mod_loss_rmse module~mod_optimizers->module~mod_io module~mod_optimizers->module~mod_throw module~mod_optimizers->module~mod_abstractoptimizer module~mod_adam mod_adam module~mod_optimizers->module~mod_adam module~mod_gradient_descent mod_gradient_descent module~mod_optimizers->module~mod_gradient_descent module~mod_kalman_filter mod_kalman_filter module~mod_optimizers->module~mod_kalman_filter module~mod_kalman_filter_std mod_kalman_filter_std module~mod_optimizers->module~mod_kalman_filter_std module~mod_nada_opt mod_nada_opt module~mod_optimizers->module~mod_nada_opt module~mod_stochastic_gradient_descent mod_stochastic_gradient_descent module~mod_optimizers->module~mod_stochastic_gradient_descent module~mod_overlap_matrix->module~mod_cutoff_function module~mod_overlap_matrix->module~mod_precision module~mod_overlap_matrix->module~mod_feature_map module~mod_overlap_matrix->module~mod_feature_map_neighborlist module~mod_overlap_matrix->module~mod_structures 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_pppm->module~mod_precision module~mod_pppm->module~mod_throw module~mod_pppm->module~mod_abstract_electrostatics module~mod_pppm->module~mod_ewald_summation module~mod_pppm->module~mod_linalg module~mod_pppm->module~mod_pair_electrostatics module~mod_pppm->module~mod_pw module~mod_pppm->module~mod_neighbor_grid module~mod_pppm->module~mod_outer_product module~mod_pw->module~mod_precision module~mod_pw->module~mod_throw module~mod_pw->module~mod_abstract_electrostatics module~mod_fft_potential mod_fft_potential module~mod_pw->module~mod_fft_potential 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_precision module~mod_radial_symmetry_function_1->module~mod_throw module~mod_radial_symmetry_function_1->module~mod_feature_map module~mod_radial_symmetry_function_1->module~mod_feature_map_neighborlist module~mod_radial_symmetry_function_1->module~mod_structures 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_periodic_table module~mod_radial_symmetry_function_2->module~mod_precision 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_feature_map_neighborlist module~mod_radial_symmetry_function_2->module~mod_structures 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_scalingdata->module~mod_feature_calculator module~mod_scalingdata->module~mod_io module~mod_scalingdata->module~mod_mpi module~mod_scalingdata->module~mod_periodic_table module~mod_scalingdata->module~mod_precision module~mod_scalingdata->module~mod_throw module~mod_scalingdata->module~mod_abstract_broadcast_file module~mod_scalingdata->module~mod_element module~mod_set_integer->module~mod_throw module~mod_sort->module~mod_precision module~mod_string->module~mod_precision module~mod_structures->module~mod_mpi module~mod_structures->module~mod_periodic_table module~mod_structures->module~mod_precision module~mod_structures->module~mod_structures_helper module~mod_structures->module~mod_throw module~mod_structures->module~mod_array_helpers module~mod_structures->module~mod_constants module~mod_structures->module~mod_linalg module~mod_training_charge_equilibration->module~mod_precision module~mod_training_charge_equilibration->module~mod_abstract_electrostatics module~mod_training_charge_equilibration->module~mod_data_container module~mod_training_charge_equilibration->module~mod_ewald_summation module~mod_training_charge_equilibration->module~mod_linalg module~mod_training_charge_equilibration->module~mod_optional_args module~mod_training_charge_equilibration->module~mod_pair_electrostatics module~mod_training_charge_equilibration->module~mod_structures module~mod_cross_matrix mod_cross_matrix module~mod_training_charge_equilibration->module~mod_cross_matrix module~mod_write_headers->module~mod_io module~mod_write_headers->module~mod_mpi module~mod_write_headers->module~mod_settings module~mod_write_headers->module~mod_throw module~mod_write_headers->module~mod_timer module~mod_write_headers->module~mod_abstract_property_model module~mod_write_headers->module~mod_abstractoptimizer module~mod_write_headers->module~mod_decorations module~mod_git_info mod_git_info module~mod_write_headers->module~mod_git_info module~mod_version mod_version module~mod_write_headers->module~mod_version module~cublas_wrapper->iso_c_binding module~cublas_wrapper->module~mod_settings 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_feature_map_neighborlist module~mod_abstract_angular_symmetry_function->module~mod_structures module~mod_abstract_angular_symmetry_function->module~mod_abstract_symmetry_function module~mod_abstract_iterative_charge_equilibration->module~mod_io module~mod_abstract_iterative_charge_equilibration->module~mod_precision module~mod_abstract_iterative_charge_equilibration->module~mod_throw module~mod_abstract_iterative_charge_equilibration->module~mod_abstract_charge_equilibration module~mod_abstract_iterative_charge_equilibration->module~mod_abstract_electrostatics module~mod_abstract_iterative_charge_equilibration->module~mod_pair_electrostatics module~mod_abstract_radial_symmetry_function->module~mod_precision module~mod_abstract_radial_symmetry_function->module~mod_feature_map_neighborlist 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_periodic_table module~mod_abstract_structure_data_file->module~mod_dataset_storage module~mod_abstract_structure_data_file->module~mod_structures module~mod_abstract_structure_data_file->module~mod_genericfile module~mod_abstract_symmetry_function->module~mod_io module~mod_abstract_symmetry_function->module~mod_precision module~mod_abstract_symmetry_function->module~mod_throw module~mod_abstract_symmetry_function->module~mod_feature_map module~mod_abstract_symmetry_function->module~mod_feature_map_neighborlist module~mod_abstract_symmetry_function->module~mod_structures 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_activationfunctions->module~mod_throw module~mod_activationfunction_abstract mod_activationfunction_abstract module~mod_activationfunctions->module~mod_activationfunction_abstract module~mod_activationfunction_linear mod_activationfunction_linear module~mod_activationfunctions->module~mod_activationfunction_linear module~mod_activationfunction_relu mod_activationfunction_relu module~mod_activationfunctions->module~mod_activationfunction_relu module~mod_activationfunction_sigmoid mod_activationfunction_sigmoid module~mod_activationfunctions->module~mod_activationfunction_sigmoid module~mod_activationfunction_softplus mod_activationfunction_softplus module~mod_activationfunctions->module~mod_activationfunction_softplus module~mod_activationfunction_square mod_activationfunction_square module~mod_activationfunctions->module~mod_activationfunction_square module~mod_activationfunction_stanh mod_activationfunction_stanh module~mod_activationfunctions->module~mod_activationfunction_stanh module~mod_activationfunction_tanh mod_activationfunction_tanh module~mod_activationfunctions->module~mod_activationfunction_tanh module~mod_adam->module~mod_io module~mod_adam->module~mod_precision module~mod_adam->module~mod_throw module~mod_adam->module~mod_abstractoptimizer module~mod_adam->module~mod_lossfunctions module~mod_adam->module~mod_decorations module~mod_adam->module~mod_loss_mse module~mod_learning_rate mod_learning_rate module~mod_adam->module~mod_learning_rate module~mod_arrays_init->module~mod_precision module~mod_cross_matrix->module~mod_precision module~mod_cross_matrix->module~mod_linalg 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_io module~mod_decorations->module~mod_precision module~mod_decorations->module~mod_throw module~mod_dynamic_double_array->module~mod_precision module~mod_dynamic_double_array->module~mod_throw module~mod_dynamic_int_array_2d->module~mod_mpi module~mod_dynamic_string_array->module~mod_string module~mod_fastmath->module~mod_precision module~mod_fft_potential->iso_c_binding module~mod_fft_potential->module~mod_precision module~mod_fft_potential->module~mod_structures_helper module~mod_fft_potential->module~mod_throw module~mod_fft_potential->module~mod_constants module~mod_fft_potential->module~mod_linalg module~mod_fft_potential->module~mod_neighborlist_helper module~mod_fft mod_fft module~mod_fft_potential->module~mod_fft module~mod_genericfile->module~mod_io module~mod_genericfile->module~mod_mpi module~mod_genericfile->module~mod_throw module~mod_global_atomic_descriptor->module~mod_precision module~mod_global_atomic_descriptor->module~mod_optional_args module~mod_gradient_clipping->module~mod_precision module~mod_gradient_clipping->module~mod_settings module~mod_gradient_descent->module~mod_io module~mod_gradient_descent->module~mod_precision module~mod_gradient_descent->module~mod_throw module~mod_gradient_descent->module~mod_abstractoptimizer module~mod_gradient_descent->module~mod_lossfunctions module~mod_gradient_descent->module~mod_decorations module~mod_gradient_descent->module~mod_loss_mse module~mod_gradient_descent->module~mod_learning_rate module~mod_hash->module~mod_io module~mod_hash->module~mod_periodic_table module~mod_hash->module~mod_precision module~mod_initialize_array->module~mod_io 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_random module~mod_parameter_file mod_parameter_file module~mod_initialize_array->module~mod_parameter_file module~mod_kalman_filter->module~mod_io module~mod_kalman_filter->module~mod_mpi module~mod_kalman_filter->module~mod_precision module~mod_kalman_filter->module~mod_throw module~mod_kalman_filter->module~mod_abstractoptimizer module~mod_abstract_kalman_filter mod_abstract_kalman_filter module~mod_kalman_filter->module~mod_abstract_kalman_filter module~mod_kalman_filter_std->module~mod_io module~mod_kalman_filter_std->module~mod_mpi module~mod_kalman_filter_std->module~mod_precision module~mod_kalman_filter_std->module~mod_throw module~mod_kalman_filter_std->module~mod_abstractoptimizer module~mod_kalman_filter_std->module~mod_abstract_kalman_filter module~mod_parse_logical_keyword mod_parse_logical_keyword module~mod_kalman_filter_std->module~mod_parse_logical_keyword module~mod_loss_abstract->module~mod_mpi module~mod_loss_abstract->module~mod_precision module~mod_loss_mae->module~mod_precision module~mod_loss_mae->module~mod_loss_abstract module~mod_loss_mse->module~mod_precision module~mod_loss_mse->module~mod_loss_abstract module~mod_loss_mse_torch->module~mod_precision module~mod_loss_mse_torch->module~mod_loss_abstract module~mod_loss_rmse->module~mod_precision module~mod_loss_rmse->module~mod_loss_abstract module~mod_memory_estimation->module~mod_feature_calculator module~mod_memory_estimation->module~mod_io module~mod_memory_estimation->module~mod_mpi 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_throw module~mod_memory_estimation->module~mod_feature_map_neighborlist module~mod_memory_estimation->module~mod_structures module~mod_table mod_table module~mod_memory_estimation->module~mod_table module~mod_nada_opt->module~mod_io module~mod_nada_opt->module~mod_precision module~mod_nada_opt->module~mod_throw module~mod_nada_opt->module~mod_abstractoptimizer module~mod_nada_opt->module~mod_lossfunctions module~mod_nada_opt->module~mod_decorations module~mod_nada_opt->module~mod_loss_mse module~mod_nada_opt->module~mod_learning_rate module~mod_nan_check->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_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->module~mod_io module~mod_neighborlist->module~mod_mpi module~mod_neighborlist->module~mod_precision module~mod_neighborlist->module~mod_settings module~mod_neighborlist->module~mod_throw module~mod_neighborlist->module~mod_dynamic_int_array module~mod_neighborlist->module~mod_structures module~mod_neighborlist->module~mod_dynamic_double_array module~mod_neighborlist->module~mod_neighbor_grid module~mod_neighborlist->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_neural_network->module~mod_io module~mod_neural_network->module~mod_precision module~mod_neural_network->module~mod_throw module~mod_neural_network->module~mod_optional_args module~mod_neural_network->module~mod_activationfunctions module~mod_neural_network->module~mod_decorations module~mod_neural_network->module~mod_random module~mod_layers mod_layers module~mod_neural_network->module~mod_layers module~mod_outer_product->module~mod_precision module~mod_outer_product->module~mod_linalg module~mod_random->module~mod_precision module~mod_random->module~mod_constants 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_statistics_container->module~mod_io module~mod_statistics_container->module~mod_mpi module~mod_statistics_container->module~mod_periodic_table 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_table module~mod_statisticsfile->module~mod_mpi module~mod_statisticsfile->module~mod_abstract_broadcast_file module~mod_statisticsfile->module~mod_statistics_container module~mod_stochastic_gradient_descent->module~mod_io module~mod_stochastic_gradient_descent->module~mod_precision module~mod_stochastic_gradient_descent->module~mod_throw module~mod_stochastic_gradient_descent->module~mod_abstractoptimizer module~mod_stochastic_gradient_descent->module~mod_lossfunctions module~mod_stochastic_gradient_descent->module~mod_decorations module~mod_stochastic_gradient_descent->module~mod_loss_mse module~mod_stochastic_gradient_descent->module~mod_learning_rate module~mod_storage_container->module~mod_io module~mod_storage_container->module~mod_mpi module~mod_storage_container->module~mod_abstract_property_list module~mod_storage_container->module~mod_dynamic_int_array module~mod_storage_container->module~mod_sort module~mod_storage_container->module~mod_string module~mod_storage_container->mod_property_list module~sqnm->iso_c_binding module~sqnm->module~mod_precision module~sqnm->module~mod_linalg module~historylist historylist module~sqnm->module~historylist module~historylist->iso_c_binding module~mod_abstract_kalman_filter->module~mod_io module~mod_abstract_kalman_filter->module~mod_mpi module~mod_abstract_kalman_filter->module~mod_path module~mod_abstract_kalman_filter->module~mod_precision module~mod_abstract_kalman_filter->module~mod_throw module~mod_abstract_kalman_filter->module~mod_abstractoptimizer module~mod_abstract_kalman_filter->module~mod_data_container module~mod_abstract_kalman_filter->module~mod_linalg module~mod_abstract_kalman_filter->module~mod_lossfunctions module~mod_abstract_kalman_filter->module~mod_decorations module~mod_abstract_kalman_filter->module~mod_loss_mae module~mod_abstract_kalman_filter->module~mod_parse_logical_keyword module~mod_activationfunction_linear->module~mod_precision module~mod_activationfunction_linear->module~mod_activationfunction_abstract module~mod_activationfunction_relu->module~mod_precision module~mod_activationfunction_relu->module~mod_activationfunction_abstract module~mod_activationfunction_sigmoid->module~mod_precision module~mod_activationfunction_sigmoid->module~mod_activationfunction_abstract module~mod_activationfunction_softplus->module~mod_precision module~mod_activationfunction_softplus->module~mod_activationfunction_abstract module~mod_activationfunction_square->module~mod_precision module~mod_activationfunction_square->module~mod_activationfunction_abstract module~mod_activationfunction_stanh->module~mod_precision module~mod_activationfunction_stanh->module~mod_activationfunction_abstract module~mod_activationfunction_tanh->module~mod_precision module~mod_activationfunction_tanh->module~mod_activationfunction_abstract module~mod_electric_field_prefactor->module~mod_precision module~mod_electric_field_prefactor->module~mod_settings module~mod_electric_field_prefactor->module~mod_feature_map_neighborlist module~mod_fft->iso_c_binding fftw3 fftw3 module~mod_fft->fftw3 module~mod_dense_layer mod_dense_layer module~mod_layers->module~mod_dense_layer module~mod_dense_layer_with_single_activations mod_dense_layer_with_single_activations module~mod_layers->module~mod_dense_layer_with_single_activations module~mod_input_layer mod_input_layer module~mod_layers->module~mod_input_layer module~mod_input_layer_with_activations mod_input_layer_with_activations module~mod_layers->module~mod_input_layer_with_activations module~mod_learning_rate->module~mod_precision module~mod_learning_rate->module~mod_abstractoptimizer module~mod_parameter_file->module~mod_io module~mod_parameter_file->module~mod_precision module~mod_parameter_file->module~mod_throw module~mod_parameter_file->module~mod_abstract_broadcast_file module~mod_parameter_file->module~mod_nan_check module~mod_parse_logical_keyword->module~mod_io module~mod_parse_logical_keyword->module~mod_throw module~mod_spin_prefactor->module~mod_precision module~mod_spin_prefactor->module~mod_feature_map_neighborlist 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_dense_layer->module~mod_io module~mod_dense_layer->module~mod_precision module~mod_dense_layer->module~mod_throw module~mod_dense_layer->module~mod_constants module~mod_dense_layer->module~mod_global_warning module~mod_dense_layer->module~mod_linalg module~mod_dense_layer->module~mod_optional_args module~mod_dense_layer->module~mod_activationfunctions module~mod_dense_layer->module~mod_decorations module~mod_dense_layer->module~mod_initialize_array module~mod_dense_layer->module~mod_nan_check module~mod_dense_layer->module~mod_random module~mod_dense_layer_with_single_activations->module~mod_io module~mod_dense_layer_with_single_activations->module~mod_precision module~mod_dense_layer_with_single_activations->module~mod_throw module~mod_dense_layer_with_single_activations->module~mod_global_warning module~mod_dense_layer_with_single_activations->module~mod_linalg module~mod_dense_layer_with_single_activations->module~mod_activationfunctions module~mod_dense_layer_with_single_activations->module~mod_decorations module~mod_dense_layer_with_single_activations->module~mod_dense_layer module~mod_input_layer->module~mod_io module~mod_input_layer->module~mod_precision module~mod_input_layer->module~mod_throw module~mod_input_layer->module~mod_constants module~mod_input_layer->module~mod_decorations module~mod_input_layer_with_activations->module~mod_io module~mod_input_layer_with_activations->module~mod_precision module~mod_input_layer_with_activations->module~mod_throw module~mod_input_layer_with_activations->module~mod_global_warning module~mod_input_layer_with_activations->module~mod_activationfunctions module~mod_input_layer_with_activations->module~mod_decorations module~mod_input_layer_with_activations->module~mod_input_layer

Used By

module~~mod_runner_interface_bindings~~UsedByGraph module~mod_runner_interface_bindings mod_runner_interface_bindings module~mod_lammps_interface mod_lammps_interface module~mod_lammps_interface->module~mod_runner_interface_bindings

Module Variables

  • PRE : character
  • c_extrap_msg : character(c_char)– C-interoperable character-array, which holds the extrapolation warnings for LAMMPS.

Procedures Summary

Name Type Description
determine_max_cutoff Function Determines the maximum cutoff radius specified in all requested cutoff functions.
runner_interface_init Subroutine Initialize RuNNer interface to be used in other programs. Must be called before any other...
runner_interface_short_range Subroutine short-range prediction of RuNNer LAMMPS interface.
runner_interface_finalize_step Subroutine Finalization routine for a single MD step. Keeps the feature calculators initialized.
runner_interface_reset Subroutine Fully reset the runner_interface including the feature calculators.
runner_interface_reinitialize_electrostatics Subroutine
runner_interface_evaluate_electrostatics_3g_part_1 Subroutine Evaluate the electrostatic interaction for a complete structure. This is a wrapper around the...
runner_interface_evaluate_electrostatics_3g_part_2 Subroutine Add up the electrostatic derivatives dE_elec/dxyz + dE_elec/dQ dQ/dxyz. This routine gets the...
runner_interface_calc_screening Subroutine Applies screening on part of the structure that is handled by the process. The charge constraint...
runner_interface_compute_charges_4g Subroutine routine gets the full structure from LAMMPS (this is done in a serial step), predicted atomic...
runner_interface_short_range_4g Subroutine 4g short-range prediction of RuNNer LAMMPS interface. Uses the atomic charges from...
runner_interface_evaluate_electrostatics_4g_part_1 Subroutine First part of force trick and calculation of electrostatic interactions. This step is done...
runner_interface_evaluate_electrostatics_4g_part_2 Subroutine Second part of force trick. Done in parallel using the d_atomic_electronegativity_d_xyz...
runner_interface_hirshfeld_vdw Subroutine hirshfeld vdW calculation of RuNNer-LAMMPS Interface, using results from prior short-range prediction
runner_interface_two_body Subroutine two-body calculation of RuNNer-LAMMPS Interface
runner_interface_extrapolation_warnings Subroutine Invokes ew_handler to report extrapolation warnings to LAMMPS.
runner_interface_dealloc_extrapolation_warnings Subroutine Deallocates the character-array c_extrap_msg, which holds which the C-formatted extraplation...
runner_interface_extrapolation_count Subroutine Reports the number of extrapolations currently hold by ew_handler. Moreover, reports the total...

Procedure Details

function determine_max_cutoff

function determine_max_cutoff( &
    cutoff_functions, &
    num_fc &
)

Determines the maximum cutoff radius specified in all requested cutoff functions.

Arguments

Called By

proc~~determine_max_cutoff~~CalledByGraph proc~determine_max_cutoff mod_runner_interface_bindings::determine_max_cutoff proc~runner_interface_init mod_runner_interface_bindings::runner_interface_init proc~runner_interface_init->proc~determine_max_cutoff proc~runner_lammps_interface_init mod_lammps_interface::runner_lammps_interface_init proc~runner_lammps_interface_init->proc~runner_interface_init

subroutine runner_interface_init

subroutine runner_interface_init( &
    path, &
    npath, &
    cutoff, &
    nnp_generation, &
    num_committee_members, &
    lenforce_reading_weights &
)

Initialize RuNNer interface to be used in other programs.

Must be called before any other interface function and should be called only once. All settings are read from the file 'input.nn' which must be present in path. So make sure to set calculation of stress and forces to true if you want to compute them or overwrite those settings in your wrapper function. Stress will only be computed if the structure is periodic. 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. The C_BOOL is a C boolean, which is not the same as Fortran's logical so use .true._c_bool or .false._c_bool when calling this function. See below for c_char. @TODO at the moment, this parses and communicates in one go. That might be problematic.

Arguments

  • path : character(c_char) (dim: (npath)) [in]– The path to the input file (must contain "input.nn") relative to the directory from which the program was called. This is NOT a c string but a c_char array. In practice, you can use a fortran character array that either declared as `character(len=ninputnn) :: c` or as `character :: c(ninputnn)` or directly with a string literal. Only memory layout matters and it should be the same in either case.
  • npath : integer(CINT) [in]– Number of characters in the path to the input file.
  • cutoff : real(DP) [out]– On return, this will contain the maximum cutoff radius specified in all requested cutoff functions.
  • nnp_generation : integer(CINT) [out]– On return, this is the nnp_generation from the input file.
  • num_committee_members : integer(CINT) [out]– On return, this is the number of committee members per model as specified in the input file.
  • lenforce_reading_weights : logical(c_bool) [in]

Called By

proc~~runner_interface_init~~CalledByGraph proc~runner_interface_init mod_runner_interface_bindings::runner_interface_init proc~runner_lammps_interface_init mod_lammps_interface::runner_lammps_interface_init proc~runner_lammps_interface_init->proc~runner_interface_init

subroutine runner_interface_short_range

subroutine runner_interface_short_range( &
    nlocal, &
    nghost, &
    inum, &
    nmax, &
    ilist, &
    energy, &
    forces, &
    d_energy_d_strain, &
    hirsh_volumes, &
    atomic_charges, &
    elec_negativities, &
    hardness &
)

short-range prediction of RuNNer LAMMPS interface.

Arguments

  • nlocal : integer(CINT) [in]– number of local atoms in process
  • nghost : integer(CINT) [in]– number of ghost atoms in process
  • inum : integer(CINT) [in]– size of ilist, the list of local atoms (nlocal in most cases)
  • nmax : integer(CINT) [in]
  • ilist : integer(CINT) (dim: (inum)) [in]– list of local atoms
  • energy : real(DP) (dim: (runner_interface%settings%num_committee_members)) [out]– energy calculated by runner
  • forces : real(DP) (dim: (3,(nlocal+nghost),runner_interface%settings%num_committee_members)) [out]– Force contributions of all local and ghost atoms on this process for all committee members.
  • d_energy_d_strain : real(DP) (dim: (3,3,runner_interface%settings%num_committee_members)) [out]– The derivative of the energy with respect to lattice strain. For LAMMPS, $d_energy_d_strain -virial = 1/2 sum^N()$ in clausius virial theorem. For example used for pressure calculation.
  • hirsh_volumes : real(DP) [out]– returned hirshfeld volumes by runner returned atomic charges by runner returned electronegativities by runner
  • atomic_charges : real(DP) [out]– returned hirshfeld volumes by runner returned atomic charges by runner returned electronegativities by runner
  • elec_negativities : real(DP) [out]– returned hirshfeld volumes by runner returned atomic charges by runner returned electronegativities by runner
  • hardness : real(DP) [out]– returned hirshfeld volumes by runner returned atomic charges by runner returned electronegativities by runner

subroutine runner_interface_finalize_step

subroutine runner_interface_finalize_step()

Finalization routine for a single MD step.

Keeps the feature calculators initialized.

Called By

proc~~runner_interface_finalize_step~~CalledByGraph proc~runner_interface_finalize_step mod_runner_interface_bindings::runner_interface_finalize_step proc~runner_interface_reset mod_runner_interface_bindings::runner_interface_reset proc~runner_interface_reset->proc~runner_interface_finalize_step

subroutine runner_interface_reset

subroutine runner_interface_reset()

Fully reset the runner_interface including the feature calculators.


subroutine runner_interface_reinitialize_electrostatics

subroutine runner_interface_reinitialize_electrostatics( &
    num_atoms_global, &
    pos_global, &
    atomic_numbers_global &
)

Arguments

  • num_atoms_global : integer(CINT) [in]– The total number of atoms across all processes.
  • pos_global : real(DP) (dim: (3,num_atoms_global)) [inout]– The positions of all atoms across all processes. May be wrapped at pbc
  • atomic_numbers_global : integer(CINT) (dim: (num_atoms_global)) [in]– The atomic numbers of all atoms across all processes.

subroutine runner_interface_evaluate_electrostatics_3g_part_1

subroutine runner_interface_evaluate_electrostatics_3g_part_1( &
    num_atoms, &
    xyz, &
    total_charge, &
    lattice, &
    lperiodic, &
    atomic_charges, &
    energy, &
    force_outer, &
    d_energy_d_q, &
    d_energy_d_strain &
)

Evaluate the electrostatic interaction for a complete structure.

This is a wrapper around the RuNNer prediction workflow evaluate_electrostatics_3g with C bindings. The calculation of long-range electrostatics usually requires the full structure to be collected by the calling code onto a single process and call this routine in serial fashion only on this one process. It relies on an initialized global interface object that has an initialized electrostatics calculator object on the root process.

It returns the force contributions from the electrostatic calculator (elec_energy, elec_force_outer, d_elec_energy_d_q). These should be broadcasted on the side of the calling code so that the full electrostatic force can be determined in parallel using runner_interface_add_electrostatics.

Arguments

  • num_atoms : integer(CINT) [in]– The total number of atoms across all processes.
  • xyz : real(DP) (dim: (3,num_atoms)) [inout]– The atomic positions across all processes.
  • total_charge : real(DP) [in]– The total charge of the system. Must be zero in case of a periodic structure.
  • lattice : real(DP) (dim: (3,3)) [in]– Lattice parameters.
  • lperiodic : logical(c_bool) [in]– Whether the structure is periodic.
  • atomic_charges : real(DP) (dim: (num_atoms)) [inout]– Atomic charges for all atoms.
  • energy : real(DP) [out]– The electrostatic energy calculated by RuNNer.
  • force_outer : real(DP) (dim: (3,num_atoms)) [out]– The outer d`elec_energy`/dxyz contribution to the electrostatic forces. This does not contain the contribution from environment-dependent charges dE_elec/dQ dQ/dxyz.
  • d_energy_d_q : real(DP) (dim: (num_atoms)) [out]
  • d_energy_d_strain : real(DP) (dim: (3,3)) [inout]– The derivative of the energy with respect to lattice strain. For LAMMPS, $d_energy_d_strain -virial = 1/2 sum^N()$ in clausius virial theorem. For example used for pressure calculation.

subroutine runner_interface_evaluate_electrostatics_3g_part_2

subroutine runner_interface_evaluate_electrostatics_3g_part_2( &
    nlocal, &
    nghost, &
    nglobal, &
    icomm, &
    energy, &
    forces, &
    d_energy_d_q, &
    d_energy_d_q_sum_global, &
    d_energy_d_strain &
)

Add up the electrostatic derivatives dE_elec/dxyz + dE_elec/dQ dQ/dxyz.

This routine gets the electrostatic force and strain derivative contribution of local atoms from runner_interface_evaluate_electrostatics_3g_part_1 which were distributed the calling code and corrects them with the atomic charge gradients that have been calculated in runner_interface_short_range. These are stored directly on the runner_interface object

Arguments

  • nlocal : integer(CINT) [in]– Number of local atoms on this process.
  • nghost : integer(CINT) [in]– Number of ghost atoms on this process.
  • nglobal : integer(CINT) [in]
  • icomm : integer(CINT) [in]– Committee member index (starting at 1, because Fortran indexing is 1-based).
  • energy : real(DP) [inout]– electrostatic energy from `runner_interface_evaluate_electrostatics_3g`.
  • forces : real(DP) (dim: (3,(nlocal+nghost))) [inout]– Outer electrostatic force contribution from `runner_interface_evaluate_electrostatics_3g`.
  • d_energy_d_q : real(DP) (dim: ((nlocal+nghost))) [inout]– dE dq force contribution from `runner_interface_evaluate_electrostatics_3g`.
  • d_energy_d_q_sum_global : real(DP) [in]
  • d_energy_d_strain : real(DP) (dim: (3,3)) [inout]– virial tensor for LAMMPS virial = -1/2 sum^N() in clausius virial theorem. Used for pressure calculation. Equivalent to -d_E_d_strain in RuNNer

subroutine runner_interface_calc_screening

subroutine runner_interface_calc_screening( &
    nlocal, &
    nghost, &
    atomic_charges, &
    energy, &
    forces, &
    de_dq, &
    d_energy_d_strain &
)

Applies screening on part of the structure that is handled by the process. The charge constraint contribution is applied in LAMMPS due to communication requirement.

Arguments

  • nlocal : integer(CINT) [in]– number of local atoms in process
  • nghost : integer(CINT) [in]– number of ghost atoms in process
  • atomic_charges : real(DP) (dim: (nlocal+nghost)) [in]– atomic charges
  • energy : real(DP) [out]– energy
  • forces : real(DP) (dim: (3,nlocal+nghost)) [out]– screening force contribution
  • de_dq : real(DP) (dim: (nlocal+nghost)) [out]– dE dq force contribution from screening
  • d_energy_d_strain : real(DP) (dim: (3,3)) [out]– virial tensor for LAMMPS virial = -1/2 sum^N() in clausius virial theorem. Used for pressure calculation. Equivalent to -d_E_d_strain in RuNNer

subroutine runner_interface_compute_charges_4g

subroutine runner_interface_compute_charges_4g( &
    num_atoms, &
    total_charge, &
    atomic_electronegativity, &
    atomic_hardness, &
    atomic_charges, &
    l_use_previous_charges, &
    icomm &
)

routine gets the full structure from LAMMPS (this is done in a serial step), predicted atomic electronegativites and hardness values from the short-range part and does QeQ to compute the atomic charges.

It returns the atomic charges and these get broadcasted on the LAMMPS side so that the short range part can be determined using runner_interface_predict_short_range_with_external_features in parallel. If charges from the previous timestep are stored they can be used as initial guess

Arguments

  • num_atoms : integer(CINT) [in]– number of atoms
  • total_charge : real(DP) [in]– total charge of system
  • atomic_electronegativity : real(DP) (dim: (num_atoms)) [in]
  • atomic_hardness : real(DP) (dim: (num_atoms)) [in]
  • atomic_charges : real(DP) (dim: (num_atoms)) [out]
  • l_use_previous_charges : logical(CBOOL) [in]
  • icomm : integer(CINT) [in]– Committee member index (starting at 1, because Fortran indexing is 1-based).

subroutine runner_interface_short_range_4g

subroutine runner_interface_short_range_4g( &
    nlocal, &
    nghost, &
    inum, &
    nmax, &
    ilist, &
    committee_atomic_charges, &
    energy, &
    forces, &
    d_energy_d_strain, &
    d_energy_d_q &
)

4g short-range prediction of RuNNer LAMMPS interface. Uses the atomic charges from runner_lammps_interface_electrostatics_4g as external features. TODO: this is not the most elegant way to do this

Arguments

  • nlocal : integer(CINT) [in]– number of local atoms in process
  • nghost : integer(CINT) [in]– number of ghost atoms in process
  • inum : integer(CINT) [in]– size of ilist, the list of local atoms (nlocal in most cases)
  • nmax : integer(CINT) [in]
  • ilist : integer(CINT) (dim: (inum)) [in]– list of local atoms
  • committee_atomic_charges : real(DP) (dim: (nmax,runner_interface%settings%num_committee_members)) [in]– atomic charges from qeq
  • energy : real(DP) (dim: (runner_interface%settings%num_committee_members)) [out]– energy calculated by runner
  • forces : real(DP) (dim: (3,(nlocal+nghost),runner_interface%settings%num_committee_members)) [out]– Force contributions of all local and ghost atoms on this process for all committee members.
  • d_energy_d_strain : real(DP) (dim: (3,3,runner_interface%settings%num_committee_members)) [out]– The derivative of the energy with respect to lattice strain. For LAMMPS, $d_energy_d_strain -virial = 1/2 sum^N()$ in clausius virial theorem. For example used for pressure calculation.
  • d_energy_d_q : real(DP) (dim: (nlocal+nghost,runner_interface%settings%num_committee_members)) [out]– The short-range (?) de_dq that will be used in the charge trick. Will be filed until nlocal. nghost will contain garbage. TODO: check this to be sure

subroutine runner_interface_evaluate_electrostatics_4g_part_1

subroutine runner_interface_evaluate_electrostatics_4g_part_1( &
    nglobal, &
    d_energy_d_q, &
    energy, &
    forces, &
    d_energy_d_strain, &
    lagrange_charges, &
    icomm &
)

First part of force trick and calculation of electrostatic interactions. This step is done serially because it requires the global d_energy_d_q array to determine the lagrange charges using the qeq_solver.

Arguments

  • nglobal : integer(CINT) [in]– number of atoms
  • d_energy_d_q : real(DP) (dim: (nglobal)) [inout]– Dependence of the short-range energy on the environment-dependent charges. This also includes possible (short-ranged) screening contributions.
  • energy : real(DP) [inout]– energy calculated by runner
  • forces : real(DP) (dim: (3,nglobal)) [inout]
  • d_energy_d_strain : real(DP) (dim: (3,3)) [inout]
  • lagrange_charges : real(DP) (dim: (nglobal)) [out]– lagrange charges for all atoms
  • icomm : integer(CINT) [in]– Committee member index (starting at 1, because Fortran indexing is 1-based).

subroutine runner_interface_evaluate_electrostatics_4g_part_2

subroutine runner_interface_evaluate_electrostatics_4g_part_2( &
    nlocal, &
    nghost, &
    icomm, &
    lagrange_charges, &
    charges, &
    forces, &
    d_energy_d_strain &
)

Second part of force trick. Done in parallel using the d_atomic_electronegativity_d_xyz contributions determined durinbg the prediction of the atomic electronegativities in runner_lammps_interface_short_range.

Arguments

  • nlocal : integer(CINT) [in]– number of local atoms in process
  • nghost : integer(CINT) [in]– number of ghost atoms in process
  • icomm : integer(CINT) [in]– Committee member index (starting at 1, because Fortran indexing is 1-based).
  • lagrange_charges : real(DP) (dim: (nlocal+nghost)) [in]– lagrange charges from force trick part 1
  • charges : real(DP) (dim: (nlocal+nghost)) [in]
  • forces : real(DP) (dim: (3,nlocal+nghost)) [inout]– returned force by runner
  • d_energy_d_strain : real(DP) (dim: (3,3)) [inout]– virial tensor for LAMMPS virial = -1/2 sum^N() in clausius virial theorem. Used for pressure calculation. Equivalent to -d_E_d_strain in RuNNer

subroutine runner_interface_hirshfeld_vdw

subroutine runner_interface_hirshfeld_vdw( &
    nlocal, &
    nghost, &
    inum, &
    ilist, &
    icomm, &
    hirsh_volumes, &
    energy, &
    forces, &
    d_energy_d_strain &
)

hirshfeld vdW calculation of RuNNer-LAMMPS Interface, using results from prior short-range prediction

Arguments

  • nlocal : integer(CINT) [in]– number of local atoms in process
  • nghost : integer(CINT) [in]– number of ghost atoms in process
  • inum : integer(CINT) [in]– size of ilist, the list of local atoms (nlocal in most cases)
  • ilist : integer(CINT) (dim: (inum)) [in]– list of local atoms
  • icomm : integer(CINT) [in]– Committee member index (starting at 1, because Fortran indexing is 1-based).
  • hirsh_volumes : real(DP) (dim: (nlocal+nghost)) [in]– hirshfeld volumes for local and ghost atoms
  • energy : real(DP) [inout]– energy calculated by runner
  • forces : real(DP) (dim: (3,(nlocal+nghost))) [inout]– returned force by runner
  • d_energy_d_strain : real(DP) (dim: (3,3)) [inout]– virial tensor for LAMMPS virial = -1/2 sum^N() in clausius virial theorem. Used for pressure calculation. Equivalent to -d_E_d_strain in RuNNer

subroutine runner_interface_two_body

subroutine runner_interface_two_body( &
    nlocal, &
    nghost, &
    energy, &
    forces, &
    d_energy_d_strain &
)

two-body calculation of RuNNer-LAMMPS Interface

Arguments

  • nlocal : integer(CINT) [in]– number of local atoms in process
  • nghost : integer(CINT) [in]– number of ghost atoms in process
  • energy : real(DP) [inout]– energy calculated by runner
  • forces : real(DP) (dim: (3,(nlocal+nghost))) [inout]– returned force by runner
  • d_energy_d_strain : real(DP) (dim: (3,3)) [inout]– virial tensor for LAMMPS virial = -1/2 sum^N() in clausius virial theorem. Used for pressure calculation. Equivalent to -d_E_d_strain in RuNNer

subroutine runner_interface_extrapolation_warnings

subroutine runner_interface_extrapolation_warnings( &
    c_ptr_extrap_msg, &
    len_extrap_msg, &
    global_atom_ids, &
    nlocal &
)

Invokes ew_handler to report extrapolation warnings to LAMMPS.

Arguments

  • c_ptr_extrap_msg : type(C_PTR) [inout]– Pointer to the character-array `c_extrap_msg`.
  • len_extrap_msg : integer(CINT) [out]– Length of the character-array `c_extrap_msg`.
  • global_atom_ids : integer(CINT) (dim: (nlocal)) [in]– A map to the global atom ids from an interfacing MD code.
  • nlocal : integer(CINT) [in]– Number of local atoms owned by this proces.

subroutine runner_interface_dealloc_extrapolation_warnings

subroutine runner_interface_dealloc_extrapolation_warnings()

Deallocates the character-array c_extrap_msg, which holds which the C-formatted extraplation warnings, and frees the memory ew_handler. Must be invoked in every timestep to avoid memory leaks or management issues!


subroutine runner_interface_extrapolation_count

subroutine runner_interface_extrapolation_count( &
    extrapolation_count, &
    total_extrapolation_count, &
    lreset &
)

Reports the number of extrapolations currently hold by ew_handler. Moreover, reports the total number of extrapolations observed during runtime and optionally resets them to 0.

Arguments

  • extrapolation_count : integer(DI) [out]– Number of extrapolations currently hold by `ew_handler`
  • total_extrapolation_count : integer(DI) [out]– Total number of extrapolations observed during runtime.
  • lreset : logical(CBOOL) [in]– Flag which resets `ew_handler%total_extrapolation_count` to 0.