Skip to content

mod_neighborlist

Lines: 701 | Visibility: private

Implementation of type to store neighbor information. author: Gunnar Schmitz based on old neighbor list by Jonas Finkler and Knut Nikolas Lausch. Use of symmetry and improved grid based approach by Moritz R. Schäfer.

Dependencies

Uses

module~~mod_neighborlist~~UsesGraph module~mod_neighborlist mod_neighborlist 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_io mod_io module~mod_neighborlist->module~mod_io module~mod_mpi mod_mpi module~mod_neighborlist->module~mod_mpi 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_precision mod_precision module~mod_neighborlist->module~mod_precision module~mod_settings mod_settings module~mod_neighborlist->module~mod_settings module~mod_structures mod_structures module~mod_neighborlist->module~mod_structures module~mod_throw mod_throw module~mod_neighborlist->module~mod_throw module~mod_dynamic_double_array->module~mod_precision module~mod_dynamic_double_array->module~mod_throw module~mod_io->module~mod_precision iso_fortran_env iso_fortran_env module~mod_io->iso_fortran_env module~mod_optional_args mod_optional_args module~mod_io->module~mod_optional_args module~mod_mpi->module~mod_precision mpi_f08 mpi_f08 module~mod_mpi->mpi_f08 module~mod_neighbor_grid->module~mod_dynamic_int_array module~mod_neighbor_grid->module~mod_mpi module~mod_neighbor_grid->module~mod_neighborlist_helper module~mod_neighbor_grid->module~mod_precision module~mod_structures_helper mod_structures_helper module~mod_neighbor_grid->module~mod_structures_helper module~mod_neighborlist_helper->module~mod_mpi module~mod_neighborlist_helper->module~mod_precision module~mod_linalg mod_linalg module~mod_neighborlist_helper->module~mod_linalg iso_c_binding iso_c_binding module~mod_precision->iso_c_binding module~mod_precision->iso_fortran_env module~mod_settings->module~mod_io module~mod_settings->module~mod_precision module~mod_settings->module~mod_throw module~mod_constants mod_constants module~mod_settings->module~mod_constants module~mod_cpu_vendor mod_cpu_vendor module~mod_settings->module~mod_cpu_vendor module~mod_periodic_table mod_periodic_table 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_structures->module~mod_linalg module~mod_structures->module~mod_periodic_table module~mod_structures->module~mod_structures_helper module~mod_throw->module~mod_io 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_sort mod_sort module~mod_throw->module~mod_sort module~mod_array_helpers->module~mod_precision module~mod_array_helpers->module~mod_throw module~mod_constants->module~mod_precision module~mod_constants->iso_c_binding module~mod_cpu_vendor->iso_c_binding module~mod_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_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_sort->module~mod_precision module~mod_structures_helper->module~mod_precision module~mod_structures_helper->module~mod_linalg module~cublas_wrapper->module~mod_settings module~cublas_wrapper->iso_c_binding

Used By

module~~mod_neighborlist~~UsedByGraph module~mod_neighborlist mod_neighborlist module~mod_feature_map_neighborlist mod_feature_map_neighborlist module~mod_feature_map_neighborlist->module~mod_neighborlist module~mod_abstract_angular_symmetry_function mod_abstract_angular_symmetry_function module~mod_abstract_angular_symmetry_function->module~mod_feature_map_neighborlist module~mod_abstract_symmetry_function mod_abstract_symmetry_function module~mod_abstract_angular_symmetry_function->module~mod_abstract_symmetry_function module~mod_abstract_radial_symmetry_function mod_abstract_radial_symmetry_function module~mod_abstract_radial_symmetry_function->module~mod_feature_map_neighborlist module~mod_abstract_radial_symmetry_function->module~mod_abstract_symmetry_function module~mod_abstract_symmetry_function->module~mod_feature_map_neighborlist module~mod_electric_field_prefactor mod_electric_field_prefactor module~mod_abstract_symmetry_function->module~mod_electric_field_prefactor module~mod_feature_map mod_feature_map module~mod_abstract_symmetry_function->module~mod_feature_map module~mod_spin_prefactor mod_spin_prefactor module~mod_abstract_symmetry_function->module~mod_spin_prefactor module~mod_angular_symmetry_function_3 mod_angular_symmetry_function_3 module~mod_angular_symmetry_function_3->module~mod_feature_map_neighborlist module~mod_angular_symmetry_function_3->module~mod_abstract_angular_symmetry_function module~mod_angular_symmetry_function_3->module~mod_abstract_symmetry_function module~mod_angular_symmetry_function_3->module~mod_feature_map module~mod_angular_symmetry_function_8 mod_angular_symmetry_function_8 module~mod_angular_symmetry_function_8->module~mod_feature_map_neighborlist 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_feature_map module~mod_angular_symmetry_function_9 mod_angular_symmetry_function_9 module~mod_angular_symmetry_function_9->module~mod_feature_map_neighborlist 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_feature_map module~mod_calc_atomic_properties mod_calc_atomic_properties module~mod_calc_atomic_properties->module~mod_feature_map_neighborlist module~mod_feature_calculator mod_feature_calculator module~mod_calc_atomic_properties->module~mod_feature_calculator module~mod_calc_screening mod_calc_screening module~mod_calc_screening->module~mod_feature_map_neighborlist module~mod_chain_features mod_chain_features module~mod_chain_features->module~mod_feature_map_neighborlist module~mod_chain_features->module~mod_feature_calculator module~mod_dataloader_file mod_dataloader_file module~mod_dataloader_file->module~mod_feature_map_neighborlist module~mod_dataloader_file->module~mod_feature_calculator module~mod_memory_estimation mod_memory_estimation module~mod_dataloader_file->module~mod_memory_estimation module~mod_ee4g_feature_calculator mod_ee4g_feature_calculator module~mod_ee4g_feature_calculator->module~mod_feature_map_neighborlist module~mod_electric_field_prefactor->module~mod_feature_map_neighborlist module~mod_evaluate_4g_single_structure mod_evaluate_4g_single_structure module~mod_evaluate_4g_single_structure->module~mod_feature_map_neighborlist module~mod_evaluate_4g_single_structure->module~mod_chain_features module~mod_evaluate_4g_single_structure->module~mod_ee4g_feature_calculator module~mod_evaluate_4g_single_structure->module~mod_feature_calculator module~mod_evaluate_electrostatics_3g_single_structure mod_evaluate_electrostatics_3g_single_structure module~mod_evaluate_electrostatics_3g_single_structure->module~mod_feature_map_neighborlist module~mod_evaluate_electrostatics_3g_single_structure->module~mod_chain_features module~mod_evaluate_electrostatics_3g_single_structure->module~mod_feature_calculator module~mod_feature_calculator->module~mod_feature_map_neighborlist module~mod_feature_calculator->module~mod_angular_symmetry_function_3 module~mod_feature_calculator->module~mod_angular_symmetry_function_8 module~mod_feature_calculator->module~mod_angular_symmetry_function_9 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_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_element mod_element module~mod_feature_calculator->module~mod_element module~mod_atomic_descriptor mod_atomic_descriptor module~mod_feature_calculator->module~mod_atomic_descriptor module~mod_feature_calculator_statistics mod_feature_calculator_statistics module~mod_feature_calculator_statistics->module~mod_feature_map_neighborlist module~mod_feature_calculator_statistics->module~mod_feature_calculator module~mod_scalingdata mod_scalingdata module~mod_feature_calculator_statistics->module~mod_scalingdata module~mod_feature_map->module~mod_feature_map_neighborlist module~mod_generic_interface mod_generic_interface module~mod_generic_interface->module~mod_feature_map_neighborlist 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_hirshfeld_vdw mod_hirshfeld_vdw module~mod_hirshfeld_vdw->module~mod_feature_map_neighborlist module~mod_lammps_interface mod_lammps_interface module~mod_lammps_interface->module~mod_feature_map_neighborlist module~mod_lammps_interface->module~mod_runner_interface module~mod_runner_interface_bindings mod_runner_interface_bindings module~mod_lammps_interface->module~mod_runner_interface_bindings module~mod_memory_estimation->module~mod_feature_map_neighborlist module~mod_memory_estimation->module~mod_feature_calculator module~mod_overlap_matrix->module~mod_feature_map_neighborlist module~mod_overlap_matrix->module~mod_feature_map module~mod_post_processing_2g_single_structure mod_post_processing_2g_single_structure module~mod_post_processing_2g_single_structure->module~mod_feature_map_neighborlist module~mod_post_processing_2g_single_structure->module~mod_chain_features module~mod_post_processing_2g_single_structure->module~mod_feature_calculator module~mod_post_processing_3g_single_structure mod_post_processing_3g_single_structure module~mod_post_processing_3g_single_structure->module~mod_feature_map_neighborlist module~mod_post_processing_3g_single_structure->module~mod_calc_screening module~mod_post_processing_3g_single_structure->module~mod_evaluate_electrostatics_3g_single_structure module~mod_post_processing_3g_single_structure->module~mod_feature_calculator module~mod_post_processing_4g_single_structure mod_post_processing_4g_single_structure module~mod_post_processing_4g_single_structure->module~mod_feature_map_neighborlist module~mod_post_processing_4g_single_structure->module~mod_calc_screening module~mod_post_processing_4g_single_structure->module~mod_ee4g_feature_calculator module~mod_post_processing_4g_single_structure->module~mod_evaluate_4g_single_structure module~mod_post_processing_4g_single_structure->module~mod_feature_calculator module~mod_post_processing_vdw_hirshfeld_single_structure mod_post_processing_vdw_hirshfeld_single_structure module~mod_post_processing_vdw_hirshfeld_single_structure->module~mod_feature_map_neighborlist module~mod_post_processing_vdw_hirshfeld_single_structure->module~mod_chain_features 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_wrapper_single_structure mod_post_processing_wrapper_single_structure module~mod_post_processing_wrapper_single_structure->module~mod_feature_map_neighborlist 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_evaluate_4g_single_structure module~mod_post_processing_wrapper_single_structure->module~mod_feature_calculator module~mod_post_processing_wrapper_single_structure->module~mod_hirshfeld_vdw module~mod_post_processing_wrapper_single_structure->module~mod_post_processing_2g_single_structure module~mod_post_processing_wrapper_single_structure->module~mod_post_processing_3g_single_structure module~mod_post_processing_wrapper_single_structure->module~mod_post_processing_4g_single_structure module~mod_post_processing_wrapper_single_structure->module~mod_post_processing_vdw_hirshfeld_single_structure module~mod_two_body mod_two_body module~mod_post_processing_wrapper_single_structure->module~mod_two_body module~mod_global_features_helper mod_global_features_helper module~mod_post_processing_wrapper_single_structure->module~mod_global_features_helper module~mod_predict_4g_charges_training_qeq_multiple_structures mod_predict_4g_charges_training_qeq_multiple_structures module~mod_predict_4g_charges_training_qeq_multiple_structures->module~mod_feature_map_neighborlist module~mod_predict_4g_charges_training_qeq_multiple_structures->module~mod_feature_calculator module~mod_structure_batch_iterator mod_structure_batch_iterator module~mod_predict_4g_charges_training_qeq_multiple_structures->module~mod_structure_batch_iterator module~mod_predict_4g_no_force_trick_single_structure mod_predict_4g_no_force_trick_single_structure module~mod_predict_4g_no_force_trick_single_structure->module~mod_feature_map_neighborlist module~mod_predict_4g_no_force_trick_single_structure->module~mod_calc_atomic_properties module~mod_predict_4g_no_force_trick_single_structure->module~mod_feature_calculator module~mod_predict_4g_short_range_training_qeq_single_structure mod_predict_4g_short_range_training_qeq_single_structure module~mod_predict_4g_no_force_trick_single_structure->module~mod_predict_4g_short_range_training_qeq_single_structure module~mod_predict_qeq_feature_calculator_single_structure mod_predict_qeq_feature_calculator_single_structure module~mod_predict_4g_no_force_trick_single_structure->module~mod_predict_qeq_feature_calculator_single_structure module~mod_predict_4g_no_force_trick_single_structure->module~mod_global_features_helper module~mod_predict_4g_short_range_training_qeq_multiple_structures mod_predict_4g_short_range_training_qeq_multiple_structures module~mod_predict_4g_short_range_training_qeq_multiple_structures->module~mod_feature_map_neighborlist module~mod_predict_4g_short_range_training_qeq_multiple_structures->module~mod_feature_calculator module~mod_predict_4g_short_range_training_qeq_multiple_structures->module~mod_predict_4g_short_range_training_qeq_single_structure module~mod_predict_4g_short_range_training_qeq_multiple_structures->module~mod_structure_batch_iterator module~mod_predict_4g_short_range_training_qeq_multiple_structures->module~mod_global_features_helper module~mod_predict_4g_short_range_training_qeq_single_structure->module~mod_feature_map_neighborlist module~mod_predict_4g_short_range_training_qeq_single_structure->module~mod_feature_calculator module~mod_predict_4g_short_range_training_qeq_single_structure->module~mod_post_processing_2g_single_structure module~mod_predict_ee4g_feature_calculator_multiple_structures mod_predict_ee4g_feature_calculator_multiple_structures module~mod_predict_ee4g_feature_calculator_multiple_structures->module~mod_feature_map_neighborlist module~mod_predict_ee4g_feature_calculator_multiple_structures->module~mod_dataloader_file module~mod_predict_ee4g_feature_calculator_multiple_structures->module~mod_ee4g_feature_calculator module~mod_predict_ee4g_feature_calculator_multiple_structures->module~mod_feature_calculator module~mod_predict_multiple_structures mod_predict_multiple_structures module~mod_predict_multiple_structures->module~mod_feature_map_neighborlist module~mod_predict_multiple_structures->module~mod_ee4g_feature_calculator module~mod_predict_multiple_structures->module~mod_feature_calculator module~mod_predict_multiple_structures->module~mod_hirshfeld_vdw module~mod_predict_multiple_structures->module~mod_post_processing_wrapper_single_structure module~mod_predict_multiple_structures->module~mod_structure_batch_iterator module~mod_predict_multiple_structures->module~mod_two_body module~mod_predict_qeq_feature_calculator_multiple_structures mod_predict_qeq_feature_calculator_multiple_structures module~mod_predict_qeq_feature_calculator_multiple_structures->module~mod_feature_map_neighborlist module~mod_predict_qeq_feature_calculator_multiple_structures->module~mod_dataloader_file module~mod_predict_qeq_feature_calculator_multiple_structures->module~mod_feature_calculator module~mod_predict_qeq_feature_calculator_multiple_structures->module~mod_predict_qeq_feature_calculator_single_structure module~mod_predict_qeq_feature_calculator_multiple_structures->module~mod_structure_batch_iterator module~mod_predict_qeq_feature_calculator_single_structure->module~mod_feature_map_neighborlist module~mod_predict_qeq_feature_calculator_single_structure->module~mod_calc_screening module~mod_predict_qeq_feature_calculator_single_structure->module~mod_chain_features module~mod_predict_qeq_feature_calculator_single_structure->module~mod_feature_calculator module~mod_predict_single_structure->module~mod_feature_map_neighborlist module~mod_predict_single_structure->module~mod_calc_atomic_properties module~mod_predict_single_structure->module~mod_ee4g_feature_calculator module~mod_predict_single_structure->module~mod_feature_calculator module~mod_predict_single_structure->module~mod_hirshfeld_vdw module~mod_predict_single_structure->module~mod_post_processing_wrapper_single_structure module~mod_predict_single_structure->module~mod_two_body module~mod_prediction_statistics mod_prediction_statistics module~mod_prediction_statistics->module~mod_feature_map_neighborlist module~mod_prediction_statistics->module~mod_calc_atomic_properties module~mod_prediction_statistics->module~mod_feature_calculator module~mod_radial_symmetry_function_1->module~mod_feature_map_neighborlist module~mod_radial_symmetry_function_1->module~mod_abstract_radial_symmetry_function module~mod_radial_symmetry_function_1->module~mod_feature_map module~mod_radial_symmetry_function_2->module~mod_feature_map_neighborlist 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_feature_map module~mod_runner_interface->module~mod_feature_map_neighborlist module~mod_runner_interface->module~mod_ee4g_feature_calculator module~mod_runner_interface->module~mod_feature_calculator module~mod_runner_interface->module~mod_hirshfeld_vdw module~mod_runner_interface->module~mod_two_body module~mod_spin_prefactor->module~mod_feature_map_neighborlist module~mod_structure_batch_iterator->module~mod_feature_map_neighborlist module~mod_structure_batch_iterator->module~mod_calc_atomic_properties module~mod_structure_batch_iterator->module~mod_feature_calculator module~mod_structure_batch_iterator->module~mod_global_features_helper module~mod_two_body->module~mod_feature_map_neighborlist module~mod_two_body->module~mod_dataloader_file module~mod_calculate_coulomb_matrix mod_calculate_coulomb_matrix module~mod_calculate_coulomb_matrix->module~mod_dataloader_file module~mod_cost_calculator mod_cost_calculator module~mod_cost_calculator->module~mod_dataloader_file module~mod_write_outfiles_training mod_write_outfiles_training module~mod_cost_calculator->module~mod_write_outfiles_training module~mod_dataset_statistics mod_dataset_statistics module~mod_dataset_statistics->module~mod_dataloader_file module~mod_dataset_statistics->module~mod_feature_calculator module~mod_dataset_statistics_chi_all_chunks mod_dataset_statistics_chi_all_chunks module~mod_dataset_statistics_chi_all_chunks->module~mod_dataloader_file module~mod_dataset_statistics_chi_all_chunks->module~mod_feature_calculator module~mod_dataset_statistics_chi_all_chunks->module~mod_dataset_statistics 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_enforce_reading mod_enforce_reading module~mod_enforce_reading->module~mod_feature_calculator module~mod_feature_calc_interface mod_feature_calc_interface module~mod_feature_calc_interface->module~mod_generic_interface module~mod_feature_calc_interface->module~mod_runner_interface module~mod_feature_map_scaling_all_chunks mod_feature_map_scaling_all_chunks module~mod_feature_map_scaling_all_chunks->module~mod_dataloader_file module~mod_feature_map_scaling_all_chunks->module~mod_ee4g_feature_calculator module~mod_feature_map_scaling_all_chunks->module~mod_feature_calculator module~mod_feature_map_scaling_all_chunks->module~mod_feature_calculator_statistics module~mod_feature_map_scaling_all_chunks->module~mod_prediction_statistics module~mod_feature_map_scaling_all_chunks->module~mod_structure_batch_iterator module~mod_precalc_nl_deriv_features_single_chunk mod_precalc_nl_deriv_features_single_chunk module~mod_feature_map_scaling_all_chunks->module~mod_precalc_nl_deriv_features_single_chunk module~mod_featuredata mod_featuredata module~mod_featuredata->module~mod_feature_calculator module~mod_featuredata->module~mod_element module~mod_global_features_helper->module~mod_feature_calculator module~mod_initialize mod_initialize module~mod_initialize->module~mod_ee4g_feature_calculator module~mod_initialize->module~mod_feature_calculator module~mod_initialize->module~mod_hirshfeld_vdw module~mod_initialize->module~mod_two_body module~mod_initialize->module~mod_element module~mod_output_files_and_cost mod_output_files_and_cost module~mod_output_files_and_cost->module~mod_dataloader_file module~mod_output_files_and_cost->module~mod_ee4g_feature_calculator module~mod_output_files_and_cost->module~mod_feature_calculator module~mod_output_files_and_cost->module~mod_predict_multiple_structures module~mod_output_files_and_cost->module~mod_cost_calculator module~mod_output_files_and_cost_4g_charges mod_output_files_and_cost_4g_charges module~mod_output_files_and_cost_4g_charges->module~mod_dataloader_file module~mod_output_files_and_cost_4g_charges->module~mod_feature_calculator module~mod_output_files_and_cost_4g_charges->module~mod_predict_4g_charges_training_qeq_multiple_structures module~mod_output_files_and_cost_4g_charges->module~mod_cost_calculator module~mod_output_files_and_cost_4g_short_range mod_output_files_and_cost_4g_short_range module~mod_output_files_and_cost_4g_short_range->module~mod_dataloader_file module~mod_output_files_and_cost_4g_short_range->module~mod_feature_calculator module~mod_output_files_and_cost_4g_short_range->module~mod_predict_4g_short_range_training_qeq_multiple_structures module~mod_output_files_and_cost_4g_short_range->module~mod_predict_qeq_feature_calculator_multiple_structures module~mod_output_files_and_cost_4g_short_range->module~mod_cost_calculator module~mod_precalc_coulomb_matrix_all_chunks mod_precalc_coulomb_matrix_all_chunks module~mod_precalc_coulomb_matrix_all_chunks->module~mod_dataloader_file module~mod_precalc_coulomb_matrix_all_chunks->module~mod_feature_calculator module~mod_precalc_coulomb_matrix_all_chunks->module~mod_predict_4g_charges_training_qeq_multiple_structures module~mod_precalc_nl_deriv_features_single_chunk->module~mod_dataloader_file module~mod_precalc_nl_deriv_features_single_chunk->module~mod_feature_calculator module~mod_precalc_nl_deriv_features_single_chunk->module~mod_memory_estimation module~mod_precompute_features_all_chunks mod_precompute_features_all_chunks module~mod_precompute_features_all_chunks->module~mod_dataloader_file module~mod_precompute_features_all_chunks->module~mod_feature_calculator module~mod_precompute_features_all_chunks->module~mod_feature_calculator_statistics module~mod_precompute_features_all_chunks->module~mod_featuredata module~mod_precompute_global_features_all_chunks mod_precompute_global_features_all_chunks module~mod_precompute_global_features_all_chunks->module~mod_dataloader_file module~mod_precompute_global_features_all_chunks->module~mod_ee4g_feature_calculator module~mod_precompute_global_features_all_chunks->module~mod_feature_calculator module~mod_precompute_global_features_all_chunks->module~mod_feature_calculator_statistics module~mod_precompute_global_features_all_chunks->module~mod_predict_ee4g_feature_calculator_multiple_structures module~mod_precompute_global_features_all_chunks->module~mod_predict_qeq_feature_calculator_multiple_structures module~mod_predict_all_chunks mod_predict_all_chunks module~mod_predict_all_chunks->module~mod_dataloader_file module~mod_predict_all_chunks->module~mod_feature_calculator module~mod_predict_all_chunks->module~mod_hirshfeld_vdw module~mod_predict_all_chunks->module~mod_predict_multiple_structures module~mod_predict_all_chunks->module~mod_two_body module~mod_predict_mode mod_predict_mode module~mod_predict_mode->module~mod_dataloader_file module~mod_predict_mode->module~mod_ee4g_feature_calculator module~mod_predict_mode->module~mod_feature_calculator module~mod_predict_mode->module~mod_feature_calculator_statistics module~mod_predict_mode->module~mod_hirshfeld_vdw module~mod_predict_mode->module~mod_predict_multiple_structures module~mod_predict_mode->module~mod_two_body module~mod_predict_mode->module~mod_enforce_reading module~mod_predict_mode->module~mod_initialize module~mod_write_outfiles mod_write_outfiles module~mod_predict_mode->module~mod_write_outfiles module~mod_runner_interface_bindings->module~mod_calc_atomic_properties module~mod_runner_interface_bindings->module~mod_calc_screening module~mod_runner_interface_bindings->module~mod_evaluate_4g_single_structure module~mod_runner_interface_bindings->module~mod_evaluate_electrostatics_3g_single_structure module~mod_runner_interface_bindings->module~mod_feature_calculator module~mod_runner_interface_bindings->module~mod_feature_calculator_statistics module~mod_runner_interface_bindings->module~mod_hirshfeld_vdw module~mod_runner_interface_bindings->module~mod_post_processing_2g_single_structure module~mod_runner_interface_bindings->module~mod_post_processing_vdw_hirshfeld_single_structure module~mod_runner_interface_bindings->module~mod_runner_interface module~mod_runner_interface_bindings->module~mod_two_body module~mod_runner_interface_bindings->module~mod_enforce_reading module~mod_runner_interface_bindings->module~mod_global_features_helper module~mod_runner_interface_bindings->module~mod_initialize module~mod_scalingdata->module~mod_feature_calculator module~mod_scalingdata->module~mod_element module~mod_train_4g_atomic_charges_structure_batch mod_train_4g_atomic_charges_structure_batch module~mod_train_4g_atomic_charges_structure_batch->module~mod_dataloader_file module~mod_train_4g_atomic_charges_structure_batch->module~mod_feature_calculator module~mod_train_atomic_property_multiple_atoms mod_train_atomic_property_multiple_atoms module~mod_train_atomic_property_multiple_atoms->module~mod_feature_calculator module~mod_train_loop_4g_charges mod_train_loop_4g_charges module~mod_train_loop_4g_charges->module~mod_dataloader_file module~mod_train_loop_4g_charges->module~mod_feature_calculator module~mod_train_loop_4g_charges->module~mod_cost_calculator module~mod_train_loop_4g_charges->module~mod_initialize module~mod_train_loop_4g_charges->module~mod_output_files_and_cost_4g_charges module~mod_train_loop_4g_charges->module~mod_train_4g_atomic_charges_structure_batch module~mod_train_loop_atomic_property mod_train_loop_atomic_property module~mod_train_loop_atomic_property->module~mod_dataloader_file module~mod_train_loop_atomic_property->module~mod_feature_calculator module~mod_train_loop_atomic_property->module~mod_cost_calculator module~mod_train_loop_atomic_property->module~mod_initialize module~mod_train_loop_atomic_property->module~mod_output_files_and_cost module~mod_train_loop_atomic_property->module~mod_train_atomic_property_multiple_atoms module~mod_train_loop_short_range mod_train_loop_short_range module~mod_train_loop_short_range->module~mod_dataloader_file module~mod_train_loop_short_range->module~mod_ee4g_feature_calculator module~mod_train_loop_short_range->module~mod_feature_calculator module~mod_train_loop_short_range->module~mod_predict_ee4g_feature_calculator_multiple_structures module~mod_train_loop_short_range->module~mod_predict_qeq_feature_calculator_multiple_structures module~mod_train_loop_short_range->module~mod_cost_calculator module~mod_train_loop_short_range->module~mod_global_features_helper module~mod_train_loop_short_range->module~mod_initialize module~mod_train_loop_short_range->module~mod_output_files_and_cost module~mod_train_loop_short_range->module~mod_output_files_and_cost_4g_short_range module~mod_train_energy_multiple_structures mod_train_energy_multiple_structures module~mod_train_loop_short_range->module~mod_train_energy_multiple_structures module~mod_train_forces_multiple_structures mod_train_forces_multiple_structures module~mod_train_loop_short_range->module~mod_train_forces_multiple_structures module~mod_train_mode mod_train_mode module~mod_train_mode->module~mod_dataloader_file module~mod_train_mode->module~mod_ee4g_feature_calculator module~mod_train_mode->module~mod_feature_calculator module~mod_train_mode->module~mod_feature_calculator_statistics module~mod_train_mode->module~mod_predict_4g_charges_training_qeq_multiple_structures module~mod_train_mode->module~mod_predict_ee4g_feature_calculator_multiple_structures module~mod_train_mode->module~mod_predict_qeq_feature_calculator_multiple_structures module~mod_train_mode->module~mod_two_body module~mod_train_mode->module~mod_dataset_statistics module~mod_train_mode->module~mod_dataset_statistics_chi_all_chunks module~mod_train_mode->module~mod_feature_map_scaling_all_chunks module~mod_train_mode->module~mod_initialize module~mod_train_mode->module~mod_precalc_coulomb_matrix_all_chunks module~mod_train_mode->module~mod_precalc_nl_deriv_features_single_chunk module~mod_train_mode->module~mod_predict_all_chunks module~mod_train_mode->module~mod_train_loop_4g_charges module~mod_train_mode->module~mod_train_loop_atomic_property module~mod_train_mode->module~mod_train_loop_short_range module~mod_train_mode->module~mod_write_outfiles_training module~smod_atom_overlap smod_atom_overlap module~smod_atom_overlap->module~mod_overlap_matrix module~smod_cache smod_cache module~smod_cache->module~mod_overlap_matrix module~smod_constructor smod_constructor module~smod_constructor->module~mod_overlap_matrix module~smod_eigenval_and_vectors smod_eigenval_and_vectors module~smod_eigenval_and_vectors->module~mod_overlap_matrix module~smod_first_derivative smod_first_derivative module~smod_first_derivative->module~mod_overlap_matrix module~smod_original smod_original module~smod_original->module~mod_overlap_matrix module~smod_smooth smod_smooth module~smod_smooth->module~mod_overlap_matrix program~runner RuNNer program~runner->module~mod_dataloader_file program~runner->module~mod_ee4g_feature_calculator program~runner->module~mod_feature_calculator program~runner->module~mod_hirshfeld_vdw program~runner->module~mod_two_body program~runner->module~mod_calculate_coulomb_matrix program~runner->module~mod_initialize program~runner->module~mod_precompute_features_all_chunks program~runner->module~mod_precompute_global_features_all_chunks program~runner->module~mod_predict_mode program~runner->module~mod_train_mode module~mod_atomic_descriptor->module~mod_element module~mod_train_energy_multiple_structures->module~mod_initialize module~mod_train_forces_multiple_structures->module~mod_initialize module~mod_train_forces_multiple_structures->module~mod_train_energy_multiple_structures module~mod_write_outfiles->module~mod_initialize module~mod_write_outfiles_training->module~mod_write_outfiles

Module Variables

  • INITIAL_NUM_NEIGHBORS : integer– The initial guess for the number of neighbors of each atom. The internal storage of each neighbor list will first be allocated to this value and then dynamically grows. In other words, this saves the first iterations of deallocation and allocation.
  • UPPER_BOUND_NUM_ATOMS_PAIRWISE : integer– All structures that have fewer atoms than this number will be calculated using the pairwise neighbor approach.
  • LOWER_BOUND_NUM_GRIDPOINTS_PAIRWISE : integer– If the number of gridpoints for a structure is larger than this number its neighborlist will be constructed using the pairwise approach.

Derived Types Summary

Name Description
NeighborList Type for book keeping of neighbors.

Procedures Summary

Name Type Description
constructor_empty_list Function Construct an empty neighbor list with expected size.
constructor_single_structure Function constructor for a given structure and cutoff.
constructor_structure_list Function Constructor for a list of structures and a single cutoff.
get_distance Function Returns the distance between atom iat and its neighbor ineigh.
get_relative_position Function Returns the position of neighbor ineigh of atom iat.
get_id_in_struct Function Returns the id in structure of neighbor ineigh of atom iat.
get_atomic_number Function Returns the atomic_number of neighbor ineigh of atom iat.
allocate_memory Subroutine Allocate memory for neighborlist to fit a given number of atoms. For all arrays that store flat...
allocate_memory_exact Subroutine Allocate memory for neighborlist with exact storage size. This version allocates the flat...
count_and_allocate Subroutine Count the number of atoms in a list of structures and allocate the internal storage accordingly.
generate_neighborlist_structure_list Subroutine Create a flat neighbor list for all given structures.
generate_neighborlist_single_structure Subroutine Create a flat neighbor list for all given structures.
clear Subroutine Free all internal storage and reset all type-bound variables.
find_neighbors_grid Subroutine Compute neighborlist using a grid based method. O(n) Moves atoms back to cell.
find_neighbors_pairwise Subroutine Finds neighbors in a structure given a cutoff. Scales as O(n^2).
check_and_add_pair Subroutine
check_and_count_pair Subroutine
flatten_nl Subroutine
resize_storage Subroutine
add_data_to_storage Subroutine Append data concerning a neighbor of central atom iat. Important: This assumes that the storage...
trim Subroutine
count_neighbors_structure_list Subroutine Count neighbors for a list of structures without populating storage. This fills...
count_neighbors_single_structure Subroutine Count neighbors for a single structure without populating storage.
count_neighbors_grid Subroutine Grid-based counting pass
count_neighbors_pairwise Subroutine Pairwise counting pass
reallocate Subroutine
allocate_and_generate_single_structure Subroutine Adaptively allocate and generate neighborlist for a single structure. This uses either the...
allocate_and_generate_structure_list Subroutine Adaptively allocate and generate neighborlist for a list of structures. This uses either the...

Derived Types Details

type NeighborList

Type for book keeping of neighbors.

Components

  • num_atoms : integer– Inherited from NeighborList
  • num_neighbors : integer (dim: (:))– array contraining the number of numbers for a given atom.
  • neighbors : integer (dim: (:))– flat array containing the global neighbor atom indices
  • id_in_struct : integer (dim: (:))– flat array containing all ids in structure of neighbors
  • xyz_rel : real(DP) (dim: (:,:))– coordinates of the neighbors.
  • distance : real(DP) (dim: (:))– interatomic distance between central atom and neighbor.
  • info : integer (dim: (:,:))– start and end index for the neighbors of each atom.
  • inv_neighbors : integer (dim: (:))– local index of the reverse edge (opposite periodic image)
  • atomic_number : integer (dim: (:))– Atomic number of all neighbors.
  • cutoff : real(DP)– save used cutoff
  • bond_threshold : real(DP)– Inherited from NeighborList
  • storage_size : integer– Inherited from NeighborList
  • max_storage_size : integer– Inherited from NeighborList

Type-Bound Procedures

Name Attributes Binding
clear public ⇒ clear
get_distance public ⇒ get_distance
get_relative_position public ⇒ get_relative_position
get_id_in_struct public ⇒ get_id_in_struct
get_atomic_number public ⇒ get_atomic_number
count_and_allocate public ⇒ count_and_allocate
generate_neighborlist_single_structure private ⇒ generate_neighborlist_single_structure
generate_neighborlist_structure_list private ⇒ generate_neighborlist_structure_list
generate_neighborlist public ⇒ generate_neighborlist_structure_list⇒ generate_neighborlist_single_structure
resize_storage public ⇒ resize_storage
add_data_to_storage public ⇒ add_data_to_storage
allocate_memory public ⇒ allocate_memory
allocate_memory_exact public ⇒ allocate_memory_exact
allocate_and_generate public ⇒ allocate_and_generate_single_structure⇒ allocate_and_generate_structure_list
allocate_and_generate_single_structure private ⇒ allocate_and_generate_single_structure
allocate_and_generate_structure_list private ⇒ allocate_and_generate_structure_list
allocate_and_generate_adaptive public ⇒ allocate_and_generate_single_structure⇒ allocate_and_generate_structure_list
trim public ⇒ trim
count_neighbors_single_structure private ⇒ count_neighbors_single_structure
count_neighbors_structure_list private ⇒ count_neighbors_structure_list
count_neighbors public ⇒ count_neighbors_single_structure⇒ count_neighbors_structure_list
flatten_nl private ⇒ flatten_nl
reallocate private ⇒ reallocate

Inherited By

type~~neighborlist~~InheritedByGraph type~neighborlist NeighborList type~featuremapneighborlist FeatureMapNeighborList type~featuremapneighborlist->type~neighborlist type~filedataloader FileDataLoader type~filedataloader->type~featuremapneighborlist neighbor_lists type~runnerinterface RuNNerInterface type~runnerinterface->type~featuremapneighborlist neighbor_lists

Interface Details

interface NeighborList


Procedure Details

function constructor_empty_list

function constructor_empty_list( &
    num_atoms, &
    bond_threshold, &
    mean_num_neighbors &
)

Construct an empty neighbor list with expected size.

Arguments

  • num_atoms : integer [in]
  • bond_threshold : real(DP) [in]
  • mean_num_neighbors : integer [in]

Called By

proc~~constructor_empty_list~~CalledByGraph proc~constructor_empty_list mod_neighborlist::constructor_empty_list interface~neighborlist mod_neighborlist::NeighborList interface~neighborlist->proc~constructor_empty_list

function constructor_single_structure

function constructor_single_structure( &
    struct, &
    cutoff, &
    enforce_grid, &
    bond_threshold, &
    mean_num_neighbors &
)

constructor for a given structure and cutoff.

Arguments

  • struct : type(Structure) [in]
  • cutoff : real(DP) [in]
  • enforce_grid : logical [in]
  • bond_threshold : real(DP) [in]
  • mean_num_neighbors : integer [in]

Called By

proc~~constructor_single_structure~2~~CalledByGraph proc~constructor_single_structure~2 mod_neighborlist::constructor_single_structure interface~neighborlist mod_neighborlist::NeighborList interface~neighborlist->proc~constructor_single_structure~2

function constructor_structure_list

function constructor_structure_list( &
    structures, &
    cutoff, &
    enforce_grid, &
    bond_threshold, &
    mean_num_neighbors &
)

Constructor for a list of structures and a single cutoff.

Arguments

  • structures : type(Structure) (dim: (:)) [in]
  • cutoff : real(DP) [in]
  • enforce_grid : logical [in]
  • bond_threshold : real(DP) [in]
  • mean_num_neighbors : integer [in]

Called By

proc~~constructor_structure_list~2~~CalledByGraph proc~constructor_structure_list~2 mod_neighborlist::constructor_structure_list interface~neighborlist mod_neighborlist::NeighborList interface~neighborlist->proc~constructor_structure_list~2

function get_distance

function get_distance( &
    self, &
    iat, &
    ineigh &
)

Returns the distance between atom iat and its neighbor ineigh.

Arguments

  • self : class(NeighborList) [in]
  • iat : integer [in]
  • ineigh : integer [in]

function get_relative_position

function get_relative_position( &
    self, &
    iat, &
    ineigh &
)

Returns the position of neighbor ineigh of atom iat.

Arguments

  • self : class(NeighborList) [in]
  • iat : integer [in]
  • ineigh : integer [in]

function get_id_in_struct

function get_id_in_struct( &
    self, &
    iat, &
    ineigh &
)

Returns the id in structure of neighbor ineigh of atom iat.

Arguments

  • self : class(NeighborList) [in]
  • iat : integer [in]
  • ineigh : integer [in]

function get_atomic_number

function get_atomic_number( &
    self, &
    iat, &
    ineigh &
)

Returns the atomic_number of neighbor ineigh of atom iat.

Arguments

  • self : class(NeighborList) [in]
  • iat : integer [in]
  • ineigh : integer [in]

subroutine allocate_memory

subroutine allocate_memory( &
    self, &
    num_atoms, &
    mean_num_neighbors &
)

Allocate memory for neighborlist to fit a given number of atoms.

For all arrays that store flat information for the neighbors of all atoms, an initial guess is made based on INITIAL_NUM_NEIGHBORS.

Arguments

  • self : class(NeighborList) [inout]
  • num_atoms : integer [in]
  • mean_num_neighbors : integer [in]

Called By

proc~~allocate_memory~~CalledByGraph proc~allocate_memory mod_neighborlist::NeighborList%allocate_memory proc~allocate_and_generate_single_structure mod_neighborlist::NeighborList%allocate_and_generate_single_structure proc~allocate_and_generate_single_structure->proc~allocate_memory proc~constructor_empty_list mod_neighborlist::constructor_empty_list proc~constructor_empty_list->proc~allocate_memory proc~constructor_empty_with_cutoff mod_feature_map_neighborlist::constructor_empty_with_cutoff proc~constructor_empty_with_cutoff->proc~allocate_memory proc~constructor_empty~2 mod_feature_map_neighborlist::constructor_empty proc~constructor_empty~2->proc~allocate_memory proc~count_and_allocate mod_neighborlist::NeighborList%count_and_allocate proc~count_and_allocate->proc~allocate_memory interface~featuremapneighborlist mod_feature_map_neighborlist::FeatureMapNeighborList interface~featuremapneighborlist->proc~constructor_empty_with_cutoff interface~featuremapneighborlist->proc~constructor_empty~2 proc~constructor_single_structure mod_feature_map_neighborlist::constructor_single_structure interface~featuremapneighborlist->proc~constructor_single_structure proc~constructor_structure_list mod_feature_map_neighborlist::constructor_structure_list interface~featuremapneighborlist->proc~constructor_structure_list interface~neighborlist mod_neighborlist::NeighborList interface~neighborlist->proc~constructor_empty_list proc~constructor_single_structure~2 mod_neighborlist::constructor_single_structure interface~neighborlist->proc~constructor_single_structure~2 proc~constructor_structure_list~2 mod_neighborlist::constructor_structure_list interface~neighborlist->proc~constructor_structure_list~2 none~allocate_and_generate_adaptive mod_feature_map_neighborlist::FeatureMapNeighborList%allocate_and_generate_adaptive none~allocate_and_generate_adaptive->proc~allocate_and_generate_single_structure proc~allocate_and_generate_structure_list mod_neighborlist::NeighborList%allocate_and_generate_structure_list none~allocate_and_generate_adaptive->proc~allocate_and_generate_structure_list none~allocate_and_generate_adaptive~2 mod_neighborlist::NeighborList%allocate_and_generate_adaptive none~allocate_and_generate_adaptive~2->proc~allocate_and_generate_single_structure none~allocate_and_generate_adaptive~2->proc~allocate_and_generate_structure_list proc~allocate_and_generate_structure_list->proc~count_and_allocate proc~constructor_single_structure->none~allocate_and_generate_adaptive proc~constructor_single_structure~2->none~allocate_and_generate_adaptive~2 proc~constructor_structure_list->none~allocate_and_generate_adaptive proc~constructor_structure_list~2->none~allocate_and_generate_adaptive~2

subroutine allocate_memory_exact

subroutine allocate_memory_exact( &
    self, &
    num_atoms, &
    exact_storage_size &
)

Allocate memory for neighborlist with exact storage size.

This version allocates the flat arrays with the exact storage size determined from a statistics run, avoiding dynamic resizing.

Arguments

  • self : class(NeighborList) [inout]
  • num_atoms : integer [in]
  • exact_storage_size : integer [in]

Called By

proc~~allocate_memory_exact~~CalledByGraph proc~allocate_memory_exact mod_neighborlist::NeighborList%allocate_memory_exact proc~allocate_and_generate_single_structure mod_neighborlist::NeighborList%allocate_and_generate_single_structure proc~allocate_and_generate_single_structure->proc~allocate_memory_exact proc~allocate_and_generate_structure_list mod_neighborlist::NeighborList%allocate_and_generate_structure_list proc~allocate_and_generate_structure_list->proc~allocate_memory_exact proc~constructor_exact_single_structure mod_feature_map_neighborlist::constructor_exact_single_structure proc~constructor_exact_single_structure->proc~allocate_memory_exact interface~featuremapneighborlist mod_feature_map_neighborlist::FeatureMapNeighborList interface~featuremapneighborlist->proc~constructor_exact_single_structure proc~constructor_single_structure mod_feature_map_neighborlist::constructor_single_structure interface~featuremapneighborlist->proc~constructor_single_structure proc~constructor_structure_list mod_feature_map_neighborlist::constructor_structure_list interface~featuremapneighborlist->proc~constructor_structure_list none~allocate_and_generate_adaptive mod_feature_map_neighborlist::FeatureMapNeighborList%allocate_and_generate_adaptive none~allocate_and_generate_adaptive->proc~allocate_and_generate_single_structure none~allocate_and_generate_adaptive->proc~allocate_and_generate_structure_list none~allocate_and_generate_adaptive~2 mod_neighborlist::NeighborList%allocate_and_generate_adaptive none~allocate_and_generate_adaptive~2->proc~allocate_and_generate_single_structure none~allocate_and_generate_adaptive~2->proc~allocate_and_generate_structure_list proc~constructor_single_structure->none~allocate_and_generate_adaptive proc~constructor_single_structure~2 mod_neighborlist::constructor_single_structure proc~constructor_single_structure~2->none~allocate_and_generate_adaptive~2 proc~constructor_structure_list->none~allocate_and_generate_adaptive proc~constructor_structure_list~2 mod_neighborlist::constructor_structure_list proc~constructor_structure_list~2->none~allocate_and_generate_adaptive~2 interface~neighborlist mod_neighborlist::NeighborList interface~neighborlist->proc~constructor_single_structure~2 interface~neighborlist->proc~constructor_structure_list~2

subroutine count_and_allocate

subroutine count_and_allocate( &
    self, &
    structures, &
    cutoff, &
    mean_num_neighbors &
)

Count the number of atoms in a list of structures and allocate the internal storage accordingly.

Arguments

  • self : class(NeighborList) [inout]
  • structures : type(Structure) (dim: (:)) [in]
  • cutoff : real(DP) [in]
  • mean_num_neighbors : integer [in]

Called By

proc~~count_and_allocate~~CalledByGraph proc~count_and_allocate mod_neighborlist::NeighborList%count_and_allocate proc~allocate_and_generate_structure_list mod_neighborlist::NeighborList%allocate_and_generate_structure_list proc~allocate_and_generate_structure_list->proc~count_and_allocate none~allocate_and_generate_adaptive mod_feature_map_neighborlist::FeatureMapNeighborList%allocate_and_generate_adaptive none~allocate_and_generate_adaptive->proc~allocate_and_generate_structure_list none~allocate_and_generate_adaptive~2 mod_neighborlist::NeighborList%allocate_and_generate_adaptive none~allocate_and_generate_adaptive~2->proc~allocate_and_generate_structure_list proc~constructor_single_structure mod_feature_map_neighborlist::constructor_single_structure proc~constructor_single_structure->none~allocate_and_generate_adaptive proc~constructor_single_structure~2 mod_neighborlist::constructor_single_structure proc~constructor_single_structure~2->none~allocate_and_generate_adaptive~2 proc~constructor_structure_list mod_feature_map_neighborlist::constructor_structure_list proc~constructor_structure_list->none~allocate_and_generate_adaptive proc~constructor_structure_list~2 mod_neighborlist::constructor_structure_list proc~constructor_structure_list~2->none~allocate_and_generate_adaptive~2 interface~featuremapneighborlist mod_feature_map_neighborlist::FeatureMapNeighborList interface~featuremapneighborlist->proc~constructor_single_structure interface~featuremapneighborlist->proc~constructor_structure_list interface~neighborlist mod_neighborlist::NeighborList interface~neighborlist->proc~constructor_single_structure~2 interface~neighborlist->proc~constructor_structure_list~2

subroutine generate_neighborlist_structure_list

subroutine generate_neighborlist_structure_list( &
    self, &
    structures, &
    cutoff, &
    enforce_grid &
)

Create a flat neighbor list for all given structures.

Arguments

  • self : class(NeighborList) [inout]
  • structures : type(Structure) (dim: (:)) [in]
  • cutoff : real(DP) [in]
  • enforce_grid : logical [in]

Called By

proc~~generate_neighborlist_structure_list~~CalledByGraph proc~generate_neighborlist_structure_list mod_neighborlist::NeighborList%generate_neighborlist_structure_list none~generate_neighborlist mod_neighborlist::NeighborList%generate_neighborlist none~generate_neighborlist->proc~generate_neighborlist_structure_list proc~allocate_and_generate_single_structure mod_neighborlist::NeighborList%allocate_and_generate_single_structure proc~allocate_and_generate_single_structure->none~generate_neighborlist proc~allocate_and_generate_structure_list mod_neighborlist::NeighborList%allocate_and_generate_structure_list proc~allocate_and_generate_structure_list->none~generate_neighborlist none~allocate_and_generate_adaptive mod_feature_map_neighborlist::FeatureMapNeighborList%allocate_and_generate_adaptive none~allocate_and_generate_adaptive->proc~allocate_and_generate_single_structure none~allocate_and_generate_adaptive->proc~allocate_and_generate_structure_list none~allocate_and_generate_adaptive~2 mod_neighborlist::NeighborList%allocate_and_generate_adaptive none~allocate_and_generate_adaptive~2->proc~allocate_and_generate_single_structure none~allocate_and_generate_adaptive~2->proc~allocate_and_generate_structure_list proc~constructor_single_structure mod_feature_map_neighborlist::constructor_single_structure proc~constructor_single_structure->none~allocate_and_generate_adaptive proc~constructor_single_structure~2 mod_neighborlist::constructor_single_structure proc~constructor_single_structure~2->none~allocate_and_generate_adaptive~2 proc~constructor_structure_list mod_feature_map_neighborlist::constructor_structure_list proc~constructor_structure_list->none~allocate_and_generate_adaptive proc~constructor_structure_list~2 mod_neighborlist::constructor_structure_list proc~constructor_structure_list~2->none~allocate_and_generate_adaptive~2 interface~featuremapneighborlist mod_feature_map_neighborlist::FeatureMapNeighborList interface~featuremapneighborlist->proc~constructor_single_structure interface~featuremapneighborlist->proc~constructor_structure_list interface~neighborlist mod_neighborlist::NeighborList interface~neighborlist->proc~constructor_single_structure~2 interface~neighborlist->proc~constructor_structure_list~2

subroutine generate_neighborlist_single_structure

subroutine generate_neighborlist_single_structure( &
    self, &
    struct, &
    cutoff, &
    enforce_grid &
)

Create a flat neighbor list for all given structures.

Arguments

  • self : class(NeighborList) [inout]
  • struct : type(Structure) [in]
  • cutoff : real(DP) [in]
  • enforce_grid : logical [in]

Called By

proc~~generate_neighborlist_single_structure~~CalledByGraph proc~generate_neighborlist_single_structure mod_neighborlist::NeighborList%generate_neighborlist_single_structure none~generate_neighborlist mod_neighborlist::NeighborList%generate_neighborlist none~generate_neighborlist->proc~generate_neighborlist_single_structure proc~generate_neighborlist_structure_list mod_neighborlist::NeighborList%generate_neighborlist_structure_list none~generate_neighborlist->proc~generate_neighborlist_structure_list proc~generate_neighborlist_structure_list->proc~generate_neighborlist_single_structure proc~allocate_and_generate_single_structure mod_neighborlist::NeighborList%allocate_and_generate_single_structure proc~allocate_and_generate_single_structure->none~generate_neighborlist proc~allocate_and_generate_structure_list mod_neighborlist::NeighborList%allocate_and_generate_structure_list proc~allocate_and_generate_structure_list->none~generate_neighborlist none~allocate_and_generate_adaptive mod_feature_map_neighborlist::FeatureMapNeighborList%allocate_and_generate_adaptive none~allocate_and_generate_adaptive->proc~allocate_and_generate_single_structure none~allocate_and_generate_adaptive->proc~allocate_and_generate_structure_list none~allocate_and_generate_adaptive~2 mod_neighborlist::NeighborList%allocate_and_generate_adaptive none~allocate_and_generate_adaptive~2->proc~allocate_and_generate_single_structure none~allocate_and_generate_adaptive~2->proc~allocate_and_generate_structure_list proc~constructor_single_structure mod_feature_map_neighborlist::constructor_single_structure proc~constructor_single_structure->none~allocate_and_generate_adaptive proc~constructor_single_structure~2 mod_neighborlist::constructor_single_structure proc~constructor_single_structure~2->none~allocate_and_generate_adaptive~2 proc~constructor_structure_list mod_feature_map_neighborlist::constructor_structure_list proc~constructor_structure_list->none~allocate_and_generate_adaptive proc~constructor_structure_list~2 mod_neighborlist::constructor_structure_list proc~constructor_structure_list~2->none~allocate_and_generate_adaptive~2 interface~featuremapneighborlist mod_feature_map_neighborlist::FeatureMapNeighborList interface~featuremapneighborlist->proc~constructor_single_structure interface~featuremapneighborlist->proc~constructor_structure_list interface~neighborlist mod_neighborlist::NeighborList interface~neighborlist->proc~constructor_single_structure~2 interface~neighborlist->proc~constructor_structure_list~2

subroutine clear

subroutine clear( &
    self &
)

Free all internal storage and reset all type-bound variables.

Arguments


subroutine find_neighbors_grid

subroutine find_neighbors_grid( &
    self, &
    struct, &
    cutoff &
)

Compute neighborlist using a grid based method. O(n) Moves atoms back to cell.

Arguments

Called By

proc~~find_neighbors_grid~~CalledByGraph proc~find_neighbors_grid mod_neighborlist::find_neighbors_grid proc~generate_neighborlist_single_structure mod_neighborlist::NeighborList%generate_neighborlist_single_structure proc~generate_neighborlist_single_structure->proc~find_neighbors_grid none~generate_neighborlist mod_neighborlist::NeighborList%generate_neighborlist none~generate_neighborlist->proc~generate_neighborlist_single_structure proc~generate_neighborlist_structure_list mod_neighborlist::NeighborList%generate_neighborlist_structure_list none~generate_neighborlist->proc~generate_neighborlist_structure_list proc~generate_neighborlist_structure_list->proc~generate_neighborlist_single_structure proc~allocate_and_generate_single_structure mod_neighborlist::NeighborList%allocate_and_generate_single_structure proc~allocate_and_generate_single_structure->none~generate_neighborlist proc~allocate_and_generate_structure_list mod_neighborlist::NeighborList%allocate_and_generate_structure_list proc~allocate_and_generate_structure_list->none~generate_neighborlist none~allocate_and_generate_adaptive mod_feature_map_neighborlist::FeatureMapNeighborList%allocate_and_generate_adaptive none~allocate_and_generate_adaptive->proc~allocate_and_generate_single_structure none~allocate_and_generate_adaptive->proc~allocate_and_generate_structure_list none~allocate_and_generate_adaptive~2 mod_neighborlist::NeighborList%allocate_and_generate_adaptive none~allocate_and_generate_adaptive~2->proc~allocate_and_generate_single_structure none~allocate_and_generate_adaptive~2->proc~allocate_and_generate_structure_list proc~constructor_single_structure mod_feature_map_neighborlist::constructor_single_structure proc~constructor_single_structure->none~allocate_and_generate_adaptive proc~constructor_single_structure~2 mod_neighborlist::constructor_single_structure proc~constructor_single_structure~2->none~allocate_and_generate_adaptive~2 proc~constructor_structure_list mod_feature_map_neighborlist::constructor_structure_list proc~constructor_structure_list->none~allocate_and_generate_adaptive proc~constructor_structure_list~2 mod_neighborlist::constructor_structure_list proc~constructor_structure_list~2->none~allocate_and_generate_adaptive~2 interface~featuremapneighborlist mod_feature_map_neighborlist::FeatureMapNeighborList interface~featuremapneighborlist->proc~constructor_single_structure interface~featuremapneighborlist->proc~constructor_structure_list interface~neighborlist mod_neighborlist::NeighborList interface~neighborlist->proc~constructor_single_structure~2 interface~neighborlist->proc~constructor_structure_list~2

subroutine find_neighbors_pairwise

subroutine find_neighbors_pairwise( &
    self, &
    struct, &
    cutoff &
)

Finds neighbors in a structure given a cutoff. Scales as O(n^2).

Arguments

Called By

proc~~find_neighbors_pairwise~~CalledByGraph proc~find_neighbors_pairwise mod_neighborlist::find_neighbors_pairwise proc~generate_neighborlist_single_structure mod_neighborlist::NeighborList%generate_neighborlist_single_structure proc~generate_neighborlist_single_structure->proc~find_neighbors_pairwise none~generate_neighborlist mod_neighborlist::NeighborList%generate_neighborlist none~generate_neighborlist->proc~generate_neighborlist_single_structure proc~generate_neighborlist_structure_list mod_neighborlist::NeighborList%generate_neighborlist_structure_list none~generate_neighborlist->proc~generate_neighborlist_structure_list proc~generate_neighborlist_structure_list->proc~generate_neighborlist_single_structure proc~allocate_and_generate_single_structure mod_neighborlist::NeighborList%allocate_and_generate_single_structure proc~allocate_and_generate_single_structure->none~generate_neighborlist proc~allocate_and_generate_structure_list mod_neighborlist::NeighborList%allocate_and_generate_structure_list proc~allocate_and_generate_structure_list->none~generate_neighborlist none~allocate_and_generate_adaptive mod_feature_map_neighborlist::FeatureMapNeighborList%allocate_and_generate_adaptive none~allocate_and_generate_adaptive->proc~allocate_and_generate_single_structure none~allocate_and_generate_adaptive->proc~allocate_and_generate_structure_list none~allocate_and_generate_adaptive~2 mod_neighborlist::NeighborList%allocate_and_generate_adaptive none~allocate_and_generate_adaptive~2->proc~allocate_and_generate_single_structure none~allocate_and_generate_adaptive~2->proc~allocate_and_generate_structure_list proc~constructor_single_structure mod_feature_map_neighborlist::constructor_single_structure proc~constructor_single_structure->none~allocate_and_generate_adaptive proc~constructor_single_structure~2 mod_neighborlist::constructor_single_structure proc~constructor_single_structure~2->none~allocate_and_generate_adaptive~2 proc~constructor_structure_list mod_feature_map_neighborlist::constructor_structure_list proc~constructor_structure_list->none~allocate_and_generate_adaptive proc~constructor_structure_list~2 mod_neighborlist::constructor_structure_list proc~constructor_structure_list~2->none~allocate_and_generate_adaptive~2 interface~featuremapneighborlist mod_feature_map_neighborlist::FeatureMapNeighborList interface~featuremapneighborlist->proc~constructor_single_structure interface~featuremapneighborlist->proc~constructor_structure_list interface~neighborlist mod_neighborlist::NeighborList interface~neighborlist->proc~constructor_single_structure~2 interface~neighborlist->proc~constructor_structure_list~2

subroutine check_and_add_pair

subroutine check_and_add_pair( &
    iat, &
    iat_local, &
    jat, &
    struct, &
    xyz_relative, &
    tmp_neighbors, &
    tmp_neighbor_id_in_struct, &
    tmp_neighbor_positions, &
    tmp_distance, &
    tmp_inv_neighbors, &
    cutoff2, &
    bond_threshold &
)

Arguments

  • iat : integer [in]
  • iat_local : integer [in]
  • jat : integer [in]
  • struct : type(Structure) [in]
  • xyz_relative : real(DP) (dim: (3)) [in]
  • tmp_neighbors : type(DynamicIntArray) (dim: (struct%num_atoms)) [inout]
  • tmp_neighbor_id_in_struct : type(DynamicIntArray) (dim: (struct%num_atoms)) [inout]
  • tmp_neighbor_positions : type(DynamicDoubleArray) (dim: (struct%num_atoms)) [inout]
  • tmp_distance : type(DynamicDoubleArray) (dim: (struct%num_atoms)) [inout]
  • tmp_inv_neighbors : type(DynamicIntArray) (dim: (struct%num_atoms)) [inout]
  • cutoff2 : real(DP) [in]
  • bond_threshold : real(DP) [in]

Called By

proc~~check_and_add_pair~~CalledByGraph proc~check_and_add_pair mod_neighborlist::check_and_add_pair proc~find_neighbors_grid mod_neighborlist::find_neighbors_grid proc~find_neighbors_grid->proc~check_and_add_pair proc~find_neighbors_pairwise mod_neighborlist::find_neighbors_pairwise proc~find_neighbors_pairwise->proc~check_and_add_pair proc~generate_neighborlist_single_structure mod_neighborlist::NeighborList%generate_neighborlist_single_structure proc~generate_neighborlist_single_structure->proc~find_neighbors_grid proc~generate_neighborlist_single_structure->proc~find_neighbors_pairwise none~generate_neighborlist mod_neighborlist::NeighborList%generate_neighborlist none~generate_neighborlist->proc~generate_neighborlist_single_structure proc~generate_neighborlist_structure_list mod_neighborlist::NeighborList%generate_neighborlist_structure_list none~generate_neighborlist->proc~generate_neighborlist_structure_list proc~generate_neighborlist_structure_list->proc~generate_neighborlist_single_structure proc~allocate_and_generate_single_structure mod_neighborlist::NeighborList%allocate_and_generate_single_structure proc~allocate_and_generate_single_structure->none~generate_neighborlist proc~allocate_and_generate_structure_list mod_neighborlist::NeighborList%allocate_and_generate_structure_list proc~allocate_and_generate_structure_list->none~generate_neighborlist none~allocate_and_generate_adaptive mod_feature_map_neighborlist::FeatureMapNeighborList%allocate_and_generate_adaptive none~allocate_and_generate_adaptive->proc~allocate_and_generate_single_structure none~allocate_and_generate_adaptive->proc~allocate_and_generate_structure_list none~allocate_and_generate_adaptive~2 mod_neighborlist::NeighborList%allocate_and_generate_adaptive none~allocate_and_generate_adaptive~2->proc~allocate_and_generate_single_structure none~allocate_and_generate_adaptive~2->proc~allocate_and_generate_structure_list proc~constructor_single_structure mod_feature_map_neighborlist::constructor_single_structure proc~constructor_single_structure->none~allocate_and_generate_adaptive proc~constructor_single_structure~2 mod_neighborlist::constructor_single_structure proc~constructor_single_structure~2->none~allocate_and_generate_adaptive~2 proc~constructor_structure_list mod_feature_map_neighborlist::constructor_structure_list proc~constructor_structure_list->none~allocate_and_generate_adaptive proc~constructor_structure_list~2 mod_neighborlist::constructor_structure_list proc~constructor_structure_list~2->none~allocate_and_generate_adaptive~2 interface~featuremapneighborlist mod_feature_map_neighborlist::FeatureMapNeighborList interface~featuremapneighborlist->proc~constructor_single_structure interface~featuremapneighborlist->proc~constructor_structure_list interface~neighborlist mod_neighborlist::NeighborList interface~neighborlist->proc~constructor_single_structure~2 interface~neighborlist->proc~constructor_structure_list~2

subroutine check_and_count_pair

subroutine check_and_count_pair( &
    iat, &
    iat_local, &
    jat, &
    struct, &
    xyz_relative, &
    cutoff2, &
    bond_threshold, &
    num_neighbors &
)

Arguments

  • iat : integer [in]
  • iat_local : integer [in]
  • jat : integer [in]
  • struct : type(Structure) [in]
  • xyz_relative : real(DP) (dim: (3)) [in]
  • cutoff2 : real(DP) [in]
  • bond_threshold : real(DP) [in]
  • num_neighbors : integer (dim: (:)) [inout]

Called By

proc~~check_and_count_pair~~CalledByGraph proc~check_and_count_pair mod_neighborlist::check_and_count_pair proc~count_neighbors_grid mod_neighborlist::count_neighbors_grid proc~count_neighbors_grid->proc~check_and_count_pair proc~count_neighbors_pairwise mod_neighborlist::count_neighbors_pairwise proc~count_neighbors_pairwise->proc~check_and_count_pair proc~count_neighbors_single_structure mod_neighborlist::NeighborList%count_neighbors_single_structure proc~count_neighbors_single_structure->proc~count_neighbors_grid proc~count_neighbors_single_structure->proc~count_neighbors_pairwise none~count_neighbors mod_neighborlist::NeighborList%count_neighbors none~count_neighbors->proc~count_neighbors_single_structure proc~count_neighbors_structure_list mod_neighborlist::NeighborList%count_neighbors_structure_list none~count_neighbors->proc~count_neighbors_structure_list proc~count_neighbors_structure_list->proc~count_neighbors_single_structure proc~allocate_and_generate_single_structure mod_neighborlist::NeighborList%allocate_and_generate_single_structure proc~allocate_and_generate_single_structure->none~count_neighbors proc~allocate_and_generate_structure_list mod_neighborlist::NeighborList%allocate_and_generate_structure_list proc~allocate_and_generate_structure_list->none~count_neighbors none~allocate_and_generate_adaptive mod_feature_map_neighborlist::FeatureMapNeighborList%allocate_and_generate_adaptive none~allocate_and_generate_adaptive->proc~allocate_and_generate_single_structure none~allocate_and_generate_adaptive->proc~allocate_and_generate_structure_list none~allocate_and_generate_adaptive~2 mod_neighborlist::NeighborList%allocate_and_generate_adaptive none~allocate_and_generate_adaptive~2->proc~allocate_and_generate_single_structure none~allocate_and_generate_adaptive~2->proc~allocate_and_generate_structure_list proc~constructor_single_structure mod_feature_map_neighborlist::constructor_single_structure proc~constructor_single_structure->none~allocate_and_generate_adaptive proc~constructor_single_structure~2 mod_neighborlist::constructor_single_structure proc~constructor_single_structure~2->none~allocate_and_generate_adaptive~2 proc~constructor_structure_list mod_feature_map_neighborlist::constructor_structure_list proc~constructor_structure_list->none~allocate_and_generate_adaptive proc~constructor_structure_list~2 mod_neighborlist::constructor_structure_list proc~constructor_structure_list~2->none~allocate_and_generate_adaptive~2 interface~featuremapneighborlist mod_feature_map_neighborlist::FeatureMapNeighborList interface~featuremapneighborlist->proc~constructor_single_structure interface~featuremapneighborlist->proc~constructor_structure_list interface~neighborlist mod_neighborlist::NeighborList interface~neighborlist->proc~constructor_single_structure~2 interface~neighborlist->proc~constructor_structure_list~2

subroutine flatten_nl

subroutine flatten_nl( &
    self, &
    struct, &
    tmp_neighbors, &
    tmp_neighbor_id_in_struct, &
    tmp_neighbor_positions, &
    tmp_distance, &
    tmp_inv_neighbors &
)

Arguments

Called By

proc~~flatten_nl~~CalledByGraph proc~flatten_nl mod_neighborlist::NeighborList%flatten_nl proc~find_neighbors_grid mod_neighborlist::find_neighbors_grid proc~find_neighbors_grid->proc~flatten_nl proc~find_neighbors_pairwise mod_neighborlist::find_neighbors_pairwise proc~find_neighbors_pairwise->proc~flatten_nl proc~generate_neighborlist_single_structure mod_neighborlist::NeighborList%generate_neighborlist_single_structure proc~generate_neighborlist_single_structure->proc~find_neighbors_grid proc~generate_neighborlist_single_structure->proc~find_neighbors_pairwise none~generate_neighborlist mod_neighborlist::NeighborList%generate_neighborlist none~generate_neighborlist->proc~generate_neighborlist_single_structure proc~generate_neighborlist_structure_list mod_neighborlist::NeighborList%generate_neighborlist_structure_list none~generate_neighborlist->proc~generate_neighborlist_structure_list proc~generate_neighborlist_structure_list->proc~generate_neighborlist_single_structure proc~allocate_and_generate_single_structure mod_neighborlist::NeighborList%allocate_and_generate_single_structure proc~allocate_and_generate_single_structure->none~generate_neighborlist proc~allocate_and_generate_structure_list mod_neighborlist::NeighborList%allocate_and_generate_structure_list proc~allocate_and_generate_structure_list->none~generate_neighborlist none~allocate_and_generate_adaptive mod_feature_map_neighborlist::FeatureMapNeighborList%allocate_and_generate_adaptive none~allocate_and_generate_adaptive->proc~allocate_and_generate_single_structure none~allocate_and_generate_adaptive->proc~allocate_and_generate_structure_list none~allocate_and_generate_adaptive~2 mod_neighborlist::NeighborList%allocate_and_generate_adaptive none~allocate_and_generate_adaptive~2->proc~allocate_and_generate_single_structure none~allocate_and_generate_adaptive~2->proc~allocate_and_generate_structure_list proc~constructor_single_structure mod_feature_map_neighborlist::constructor_single_structure proc~constructor_single_structure->none~allocate_and_generate_adaptive proc~constructor_single_structure~2 mod_neighborlist::constructor_single_structure proc~constructor_single_structure~2->none~allocate_and_generate_adaptive~2 proc~constructor_structure_list mod_feature_map_neighborlist::constructor_structure_list proc~constructor_structure_list->none~allocate_and_generate_adaptive proc~constructor_structure_list~2 mod_neighborlist::constructor_structure_list proc~constructor_structure_list~2->none~allocate_and_generate_adaptive~2 interface~featuremapneighborlist mod_feature_map_neighborlist::FeatureMapNeighborList interface~featuremapneighborlist->proc~constructor_single_structure interface~featuremapneighborlist->proc~constructor_structure_list interface~neighborlist mod_neighborlist::NeighborList interface~neighborlist->proc~constructor_single_structure~2 interface~neighborlist->proc~constructor_structure_list~2

subroutine resize_storage

subroutine resize_storage( &
    self &
)

Arguments

Called By

proc~~resize_storage~~CalledByGraph proc~resize_storage mod_neighborlist::NeighborList%resize_storage proc~create_filtered_neighborlist mod_feature_map_neighborlist::create_filtered_neighborlist proc~create_filtered_neighborlist->proc~resize_storage proc~flatten_nl mod_neighborlist::NeighborList%flatten_nl proc~flatten_nl->proc~resize_storage proc~find_neighbors_grid mod_neighborlist::find_neighbors_grid proc~find_neighbors_grid->proc~flatten_nl proc~find_neighbors_pairwise mod_neighborlist::find_neighbors_pairwise proc~find_neighbors_pairwise->proc~flatten_nl proc~generate_neighborlists_cascading mod_feature_map_neighborlist::generate_neighborlists_cascading proc~generate_neighborlists_cascading->proc~create_filtered_neighborlist proc~generate_neighborlist_single_structure mod_neighborlist::NeighborList%generate_neighborlist_single_structure proc~generate_neighborlist_single_structure->proc~find_neighbors_grid proc~generate_neighborlist_single_structure->proc~find_neighbors_pairwise proc~generate_neighborlists mod_feature_map_neighborlist::generate_neighborlists proc~generate_neighborlists->proc~generate_neighborlists_cascading none~generate_neighborlist mod_neighborlist::NeighborList%generate_neighborlist none~generate_neighborlist->proc~generate_neighborlist_single_structure proc~generate_neighborlist_structure_list mod_neighborlist::NeighborList%generate_neighborlist_structure_list none~generate_neighborlist->proc~generate_neighborlist_structure_list proc~generate_neighborlist_structure_list->proc~generate_neighborlist_single_structure proc~load_next_chunk mod_dataloader_file::FileDataLoader%load_next_chunk proc~load_next_chunk->proc~generate_neighborlists proc~allocate_and_generate_single_structure mod_neighborlist::NeighborList%allocate_and_generate_single_structure proc~allocate_and_generate_single_structure->none~generate_neighborlist proc~allocate_and_generate_structure_list mod_neighborlist::NeighborList%allocate_and_generate_structure_list proc~allocate_and_generate_structure_list->none~generate_neighborlist proc~dataset_statistics_chi_all_chunks mod_dataset_statistics_chi_all_chunks::dataset_statistics_chi_all_chunks proc~dataset_statistics_chi_all_chunks->proc~load_next_chunk proc~determine_scaling_factor_and_centering_subtrahend_all_chunks~3 mod_feature_map_scaling_all_chunks::determine_scaling_factor_and_centering_subtrahend_all_chunks proc~determine_scaling_factor_and_centering_subtrahend_all_chunks~3->proc~load_next_chunk proc~output_files_and_cost mod_output_files_and_cost::output_files_and_cost proc~output_files_and_cost->proc~load_next_chunk proc~output_files_and_cost_4g_charges mod_output_files_and_cost_4g_charges::output_files_and_cost_4g_charges proc~output_files_and_cost_4g_charges->proc~load_next_chunk proc~output_files_and_cost_4g_short_range mod_output_files_and_cost_4g_short_range::output_files_and_cost_4g_short_range proc~output_files_and_cost_4g_short_range->proc~load_next_chunk proc~precalc_coulomb_matrix_all_chunks mod_precalc_coulomb_matrix_all_chunks::precalc_coulomb_matrix_all_chunks proc~precalc_coulomb_matrix_all_chunks->proc~load_next_chunk proc~precalc_nl_deriv_features_single_chunk mod_precalc_nl_deriv_features_single_chunk::precalc_nl_deriv_features_single_chunk proc~precalc_nl_deriv_features_single_chunk->proc~load_next_chunk proc~precompute_coulomb_matrix_all_chunks mod_calculate_coulomb_matrix::precompute_coulomb_matrix_all_chunks proc~precompute_coulomb_matrix_all_chunks->proc~load_next_chunk proc~create_chunks mod_dataloader_file::FileDataLoader%create_chunks proc~precompute_coulomb_matrix_all_chunks->proc~create_chunks proc~precompute_features_all_chunks mod_precompute_features_all_chunks::precompute_features_all_chunks proc~precompute_features_all_chunks->proc~load_next_chunk proc~precompute_features_all_chunks->proc~create_chunks proc~precompute_global_features_all_chunks mod_precompute_global_features_all_chunks::precompute_global_features_all_chunks proc~precompute_global_features_all_chunks->proc~load_next_chunk proc~precompute_global_features_all_chunks->proc~create_chunks proc~predict_all_chunks mod_predict_all_chunks::predict_all_chunks proc~predict_all_chunks->proc~load_next_chunk proc~predict_ee4g_feature_calculator_multiple_structures_all_chunks mod_predict_ee4g_feature_calculator_multiple_structures::predict_ee4g_feature_calculator_multiple_structures_all_chunks proc~predict_ee4g_feature_calculator_multiple_structures_all_chunks->proc~load_next_chunk proc~predict_mode mod_predict_mode::predict_mode proc~predict_mode->proc~load_next_chunk proc~predict_mode->proc~create_chunks proc~predict_two_body_all_chunks mod_two_body::TwoBodyCalculator%predict_two_body_all_chunks proc~predict_two_body_all_chunks->proc~load_next_chunk proc~prediction_statistics_all_chunks mod_feature_map_scaling_all_chunks::prediction_statistics_all_chunks proc~prediction_statistics_all_chunks->proc~load_next_chunk proc~read_global_features_all_chunks mod_train_mode::read_global_features_all_chunks proc~read_global_features_all_chunks->proc~load_next_chunk proc~set_num_structures_in_chunk_per_process mod_dataloader_file::FileDataLoader%set_num_structures_in_chunk_per_process proc~set_num_structures_in_chunk_per_process->proc~load_next_chunk proc~train_loop_4g_charges mod_train_loop_4g_charges::train_loop_4g_charges proc~train_loop_4g_charges->proc~load_next_chunk proc~train_loop_4g_charges->proc~output_files_and_cost_4g_charges proc~train_loop_atomic_property mod_train_loop_atomic_property::train_loop_atomic_property proc~train_loop_atomic_property->proc~load_next_chunk proc~train_loop_atomic_property->proc~output_files_and_cost proc~train_loop_short_range mod_train_loop_short_range::train_loop_short_range proc~train_loop_short_range->proc~load_next_chunk proc~train_loop_short_range->proc~output_files_and_cost proc~train_loop_short_range->proc~output_files_and_cost_4g_short_range none~allocate_and_generate_adaptive mod_feature_map_neighborlist::FeatureMapNeighborList%allocate_and_generate_adaptive none~allocate_and_generate_adaptive->proc~allocate_and_generate_single_structure none~allocate_and_generate_adaptive->proc~allocate_and_generate_structure_list none~allocate_and_generate_adaptive~2 mod_neighborlist::NeighborList%allocate_and_generate_adaptive none~allocate_and_generate_adaptive~2->proc~allocate_and_generate_single_structure none~allocate_and_generate_adaptive~2->proc~allocate_and_generate_structure_list proc~create_chunks->proc~set_num_structures_in_chunk_per_process proc~feature_scaling_and_prediction_statistics_all_chunks mod_feature_map_scaling_all_chunks::feature_scaling_and_prediction_statistics_all_chunks proc~feature_scaling_and_prediction_statistics_all_chunks->proc~determine_scaling_factor_and_centering_subtrahend_all_chunks~3 proc~feature_scaling_and_prediction_statistics_all_chunks->proc~prediction_statistics_all_chunks proc~train_mode mod_train_mode::train_mode proc~train_mode->proc~dataset_statistics_chi_all_chunks proc~train_mode->proc~precalc_coulomb_matrix_all_chunks proc~train_mode->proc~precalc_nl_deriv_features_single_chunk proc~train_mode->proc~predict_all_chunks proc~train_mode->proc~predict_ee4g_feature_calculator_multiple_structures_all_chunks proc~train_mode->proc~predict_two_body_all_chunks proc~train_mode->proc~read_global_features_all_chunks proc~train_mode->proc~train_loop_4g_charges proc~train_mode->proc~train_loop_atomic_property proc~train_mode->proc~train_loop_short_range proc~train_mode->proc~create_chunks proc~train_mode->proc~feature_scaling_and_prediction_statistics_all_chunks program~runner RuNNer program~runner->proc~precompute_coulomb_matrix_all_chunks program~runner->proc~precompute_features_all_chunks program~runner->proc~precompute_global_features_all_chunks program~runner->proc~predict_mode program~runner->proc~train_mode proc~constructor_single_structure mod_feature_map_neighborlist::constructor_single_structure proc~constructor_single_structure->none~allocate_and_generate_adaptive proc~constructor_single_structure~2 mod_neighborlist::constructor_single_structure proc~constructor_single_structure~2->none~allocate_and_generate_adaptive~2 proc~constructor_structure_list mod_feature_map_neighborlist::constructor_structure_list proc~constructor_structure_list->none~allocate_and_generate_adaptive proc~constructor_structure_list~2 mod_neighborlist::constructor_structure_list proc~constructor_structure_list~2->none~allocate_and_generate_adaptive~2 interface~featuremapneighborlist mod_feature_map_neighborlist::FeatureMapNeighborList interface~featuremapneighborlist->proc~constructor_single_structure interface~featuremapneighborlist->proc~constructor_structure_list interface~neighborlist mod_neighborlist::NeighborList interface~neighborlist->proc~constructor_single_structure~2 interface~neighborlist->proc~constructor_structure_list~2

subroutine add_data_to_storage

subroutine add_data_to_storage( &
    self, &
    struct, &
    iat, &
    jat, &
    ineigh, &
    ioff, &
    neighbor, &
    xyz, &
    inv_neighbor, &
    distance &
)

Append data concerning a neighbor of central atom iat.

Important: This assumes that the storage has the correct size.

Arguments

  • self : class(NeighborList) [inout]
  • struct : type(Structure) [in]
  • iat : integer [in]– id_in_struct of the central atom.
  • jat : integer [in]– id_in_struct of the neighbor atom.
  • ineigh : integer [in]– Index of `neighbor` in the neighbor list of the central atom. `ioff` + `ineigh` determine the global location of the neighbor across the entire flat arrays.
  • ioff : integer [in]– Start of the central atom's section in the flat neighbor arrays.
  • neighbor : integer [in]– id_on_process of the neighbor atom.
  • xyz : real(DP) (dim: (3)) [in]– Coordinates of the `neighbor` atom.
  • inv_neighbor : integer [in]– Index of the central atom in the neighbor list of the neighbor atom.
  • distance : real(DP) [in]– Distance from the central atom to the `neighbor` atom.

Called By

proc~~add_data_to_storage~~CalledByGraph proc~add_data_to_storage mod_neighborlist::NeighborList%add_data_to_storage proc~create_filtered_neighborlist mod_feature_map_neighborlist::create_filtered_neighborlist proc~create_filtered_neighborlist->proc~add_data_to_storage proc~flatten_nl mod_neighborlist::NeighborList%flatten_nl proc~flatten_nl->proc~add_data_to_storage proc~find_neighbors_grid mod_neighborlist::find_neighbors_grid proc~find_neighbors_grid->proc~flatten_nl proc~find_neighbors_pairwise mod_neighborlist::find_neighbors_pairwise proc~find_neighbors_pairwise->proc~flatten_nl proc~generate_neighborlists_cascading mod_feature_map_neighborlist::generate_neighborlists_cascading proc~generate_neighborlists_cascading->proc~create_filtered_neighborlist proc~generate_neighborlist_single_structure mod_neighborlist::NeighborList%generate_neighborlist_single_structure proc~generate_neighborlist_single_structure->proc~find_neighbors_grid proc~generate_neighborlist_single_structure->proc~find_neighbors_pairwise proc~generate_neighborlists mod_feature_map_neighborlist::generate_neighborlists proc~generate_neighborlists->proc~generate_neighborlists_cascading none~generate_neighborlist mod_neighborlist::NeighborList%generate_neighborlist none~generate_neighborlist->proc~generate_neighborlist_single_structure proc~generate_neighborlist_structure_list mod_neighborlist::NeighborList%generate_neighborlist_structure_list none~generate_neighborlist->proc~generate_neighborlist_structure_list proc~generate_neighborlist_structure_list->proc~generate_neighborlist_single_structure proc~load_next_chunk mod_dataloader_file::FileDataLoader%load_next_chunk proc~load_next_chunk->proc~generate_neighborlists proc~allocate_and_generate_single_structure mod_neighborlist::NeighborList%allocate_and_generate_single_structure proc~allocate_and_generate_single_structure->none~generate_neighborlist proc~allocate_and_generate_structure_list mod_neighborlist::NeighborList%allocate_and_generate_structure_list proc~allocate_and_generate_structure_list->none~generate_neighborlist proc~dataset_statistics_chi_all_chunks mod_dataset_statistics_chi_all_chunks::dataset_statistics_chi_all_chunks proc~dataset_statistics_chi_all_chunks->proc~load_next_chunk proc~determine_scaling_factor_and_centering_subtrahend_all_chunks~3 mod_feature_map_scaling_all_chunks::determine_scaling_factor_and_centering_subtrahend_all_chunks proc~determine_scaling_factor_and_centering_subtrahend_all_chunks~3->proc~load_next_chunk proc~output_files_and_cost mod_output_files_and_cost::output_files_and_cost proc~output_files_and_cost->proc~load_next_chunk proc~output_files_and_cost_4g_charges mod_output_files_and_cost_4g_charges::output_files_and_cost_4g_charges proc~output_files_and_cost_4g_charges->proc~load_next_chunk proc~output_files_and_cost_4g_short_range mod_output_files_and_cost_4g_short_range::output_files_and_cost_4g_short_range proc~output_files_and_cost_4g_short_range->proc~load_next_chunk proc~precalc_coulomb_matrix_all_chunks mod_precalc_coulomb_matrix_all_chunks::precalc_coulomb_matrix_all_chunks proc~precalc_coulomb_matrix_all_chunks->proc~load_next_chunk proc~precalc_nl_deriv_features_single_chunk mod_precalc_nl_deriv_features_single_chunk::precalc_nl_deriv_features_single_chunk proc~precalc_nl_deriv_features_single_chunk->proc~load_next_chunk proc~precompute_coulomb_matrix_all_chunks mod_calculate_coulomb_matrix::precompute_coulomb_matrix_all_chunks proc~precompute_coulomb_matrix_all_chunks->proc~load_next_chunk proc~create_chunks mod_dataloader_file::FileDataLoader%create_chunks proc~precompute_coulomb_matrix_all_chunks->proc~create_chunks proc~precompute_features_all_chunks mod_precompute_features_all_chunks::precompute_features_all_chunks proc~precompute_features_all_chunks->proc~load_next_chunk proc~precompute_features_all_chunks->proc~create_chunks proc~precompute_global_features_all_chunks mod_precompute_global_features_all_chunks::precompute_global_features_all_chunks proc~precompute_global_features_all_chunks->proc~load_next_chunk proc~precompute_global_features_all_chunks->proc~create_chunks proc~predict_all_chunks mod_predict_all_chunks::predict_all_chunks proc~predict_all_chunks->proc~load_next_chunk proc~predict_ee4g_feature_calculator_multiple_structures_all_chunks mod_predict_ee4g_feature_calculator_multiple_structures::predict_ee4g_feature_calculator_multiple_structures_all_chunks proc~predict_ee4g_feature_calculator_multiple_structures_all_chunks->proc~load_next_chunk proc~predict_mode mod_predict_mode::predict_mode proc~predict_mode->proc~load_next_chunk proc~predict_mode->proc~create_chunks proc~predict_two_body_all_chunks mod_two_body::TwoBodyCalculator%predict_two_body_all_chunks proc~predict_two_body_all_chunks->proc~load_next_chunk proc~prediction_statistics_all_chunks mod_feature_map_scaling_all_chunks::prediction_statistics_all_chunks proc~prediction_statistics_all_chunks->proc~load_next_chunk proc~read_global_features_all_chunks mod_train_mode::read_global_features_all_chunks proc~read_global_features_all_chunks->proc~load_next_chunk proc~set_num_structures_in_chunk_per_process mod_dataloader_file::FileDataLoader%set_num_structures_in_chunk_per_process proc~set_num_structures_in_chunk_per_process->proc~load_next_chunk proc~train_loop_4g_charges mod_train_loop_4g_charges::train_loop_4g_charges proc~train_loop_4g_charges->proc~load_next_chunk proc~train_loop_4g_charges->proc~output_files_and_cost_4g_charges proc~train_loop_atomic_property mod_train_loop_atomic_property::train_loop_atomic_property proc~train_loop_atomic_property->proc~load_next_chunk proc~train_loop_atomic_property->proc~output_files_and_cost proc~train_loop_short_range mod_train_loop_short_range::train_loop_short_range proc~train_loop_short_range->proc~load_next_chunk proc~train_loop_short_range->proc~output_files_and_cost proc~train_loop_short_range->proc~output_files_and_cost_4g_short_range none~allocate_and_generate_adaptive mod_feature_map_neighborlist::FeatureMapNeighborList%allocate_and_generate_adaptive none~allocate_and_generate_adaptive->proc~allocate_and_generate_single_structure none~allocate_and_generate_adaptive->proc~allocate_and_generate_structure_list none~allocate_and_generate_adaptive~2 mod_neighborlist::NeighborList%allocate_and_generate_adaptive none~allocate_and_generate_adaptive~2->proc~allocate_and_generate_single_structure none~allocate_and_generate_adaptive~2->proc~allocate_and_generate_structure_list proc~create_chunks->proc~set_num_structures_in_chunk_per_process proc~feature_scaling_and_prediction_statistics_all_chunks mod_feature_map_scaling_all_chunks::feature_scaling_and_prediction_statistics_all_chunks proc~feature_scaling_and_prediction_statistics_all_chunks->proc~determine_scaling_factor_and_centering_subtrahend_all_chunks~3 proc~feature_scaling_and_prediction_statistics_all_chunks->proc~prediction_statistics_all_chunks proc~train_mode mod_train_mode::train_mode proc~train_mode->proc~dataset_statistics_chi_all_chunks proc~train_mode->proc~precalc_coulomb_matrix_all_chunks proc~train_mode->proc~precalc_nl_deriv_features_single_chunk proc~train_mode->proc~predict_all_chunks proc~train_mode->proc~predict_ee4g_feature_calculator_multiple_structures_all_chunks proc~train_mode->proc~predict_two_body_all_chunks proc~train_mode->proc~read_global_features_all_chunks proc~train_mode->proc~train_loop_4g_charges proc~train_mode->proc~train_loop_atomic_property proc~train_mode->proc~train_loop_short_range proc~train_mode->proc~create_chunks proc~train_mode->proc~feature_scaling_and_prediction_statistics_all_chunks program~runner RuNNer program~runner->proc~precompute_coulomb_matrix_all_chunks program~runner->proc~precompute_features_all_chunks program~runner->proc~precompute_global_features_all_chunks program~runner->proc~predict_mode program~runner->proc~train_mode proc~constructor_single_structure mod_feature_map_neighborlist::constructor_single_structure proc~constructor_single_structure->none~allocate_and_generate_adaptive proc~constructor_single_structure~2 mod_neighborlist::constructor_single_structure proc~constructor_single_structure~2->none~allocate_and_generate_adaptive~2 proc~constructor_structure_list mod_feature_map_neighborlist::constructor_structure_list proc~constructor_structure_list->none~allocate_and_generate_adaptive proc~constructor_structure_list~2 mod_neighborlist::constructor_structure_list proc~constructor_structure_list~2->none~allocate_and_generate_adaptive~2 interface~featuremapneighborlist mod_feature_map_neighborlist::FeatureMapNeighborList interface~featuremapneighborlist->proc~constructor_single_structure interface~featuremapneighborlist->proc~constructor_structure_list interface~neighborlist mod_neighborlist::NeighborList interface~neighborlist->proc~constructor_single_structure~2 interface~neighborlist->proc~constructor_structure_list~2

subroutine trim

subroutine trim( &
    self &
)

Arguments


subroutine count_neighbors_structure_list

subroutine count_neighbors_structure_list( &
    self, &
    structures, &
    cutoff, &
    enforce_grid &
)

Count neighbors for a list of structures without populating storage.

This fills self%num_neighbors and self%info and sets self%storage_size and self%max_storage_size to the exact required size. No neighbor entries are stored.

Arguments

  • self : class(NeighborList) [inout]
  • structures : type(Structure) (dim: (:)) [in]
  • cutoff : real(DP) [in]
  • enforce_grid : logical [in]

Called By

proc~~count_neighbors_structure_list~~CalledByGraph proc~count_neighbors_structure_list mod_neighborlist::NeighborList%count_neighbors_structure_list none~count_neighbors mod_neighborlist::NeighborList%count_neighbors none~count_neighbors->proc~count_neighbors_structure_list proc~allocate_and_generate_single_structure mod_neighborlist::NeighborList%allocate_and_generate_single_structure proc~allocate_and_generate_single_structure->none~count_neighbors proc~allocate_and_generate_structure_list mod_neighborlist::NeighborList%allocate_and_generate_structure_list proc~allocate_and_generate_structure_list->none~count_neighbors none~allocate_and_generate_adaptive mod_feature_map_neighborlist::FeatureMapNeighborList%allocate_and_generate_adaptive none~allocate_and_generate_adaptive->proc~allocate_and_generate_single_structure none~allocate_and_generate_adaptive->proc~allocate_and_generate_structure_list none~allocate_and_generate_adaptive~2 mod_neighborlist::NeighborList%allocate_and_generate_adaptive none~allocate_and_generate_adaptive~2->proc~allocate_and_generate_single_structure none~allocate_and_generate_adaptive~2->proc~allocate_and_generate_structure_list proc~constructor_single_structure mod_feature_map_neighborlist::constructor_single_structure proc~constructor_single_structure->none~allocate_and_generate_adaptive proc~constructor_single_structure~2 mod_neighborlist::constructor_single_structure proc~constructor_single_structure~2->none~allocate_and_generate_adaptive~2 proc~constructor_structure_list mod_feature_map_neighborlist::constructor_structure_list proc~constructor_structure_list->none~allocate_and_generate_adaptive proc~constructor_structure_list~2 mod_neighborlist::constructor_structure_list proc~constructor_structure_list~2->none~allocate_and_generate_adaptive~2 interface~featuremapneighborlist mod_feature_map_neighborlist::FeatureMapNeighborList interface~featuremapneighborlist->proc~constructor_single_structure interface~featuremapneighborlist->proc~constructor_structure_list interface~neighborlist mod_neighborlist::NeighborList interface~neighborlist->proc~constructor_single_structure~2 interface~neighborlist->proc~constructor_structure_list~2

subroutine count_neighbors_single_structure

subroutine count_neighbors_single_structure( &
    self, &
    struct, &
    cutoff, &
    enforce_grid &
)

Count neighbors for a single structure without populating storage.

Arguments

  • self : class(NeighborList) [inout]
  • struct : type(Structure) [in]
  • cutoff : real(DP) [in]
  • enforce_grid : logical [in]

Called By

proc~~count_neighbors_single_structure~~CalledByGraph proc~count_neighbors_single_structure mod_neighborlist::NeighborList%count_neighbors_single_structure none~count_neighbors mod_neighborlist::NeighborList%count_neighbors none~count_neighbors->proc~count_neighbors_single_structure proc~count_neighbors_structure_list mod_neighborlist::NeighborList%count_neighbors_structure_list none~count_neighbors->proc~count_neighbors_structure_list proc~count_neighbors_structure_list->proc~count_neighbors_single_structure proc~allocate_and_generate_single_structure mod_neighborlist::NeighborList%allocate_and_generate_single_structure proc~allocate_and_generate_single_structure->none~count_neighbors proc~allocate_and_generate_structure_list mod_neighborlist::NeighborList%allocate_and_generate_structure_list proc~allocate_and_generate_structure_list->none~count_neighbors none~allocate_and_generate_adaptive mod_feature_map_neighborlist::FeatureMapNeighborList%allocate_and_generate_adaptive none~allocate_and_generate_adaptive->proc~allocate_and_generate_single_structure none~allocate_and_generate_adaptive->proc~allocate_and_generate_structure_list none~allocate_and_generate_adaptive~2 mod_neighborlist::NeighborList%allocate_and_generate_adaptive none~allocate_and_generate_adaptive~2->proc~allocate_and_generate_single_structure none~allocate_and_generate_adaptive~2->proc~allocate_and_generate_structure_list proc~constructor_single_structure mod_feature_map_neighborlist::constructor_single_structure proc~constructor_single_structure->none~allocate_and_generate_adaptive proc~constructor_single_structure~2 mod_neighborlist::constructor_single_structure proc~constructor_single_structure~2->none~allocate_and_generate_adaptive~2 proc~constructor_structure_list mod_feature_map_neighborlist::constructor_structure_list proc~constructor_structure_list->none~allocate_and_generate_adaptive proc~constructor_structure_list~2 mod_neighborlist::constructor_structure_list proc~constructor_structure_list~2->none~allocate_and_generate_adaptive~2 interface~featuremapneighborlist mod_feature_map_neighborlist::FeatureMapNeighborList interface~featuremapneighborlist->proc~constructor_single_structure interface~featuremapneighborlist->proc~constructor_structure_list interface~neighborlist mod_neighborlist::NeighborList interface~neighborlist->proc~constructor_single_structure~2 interface~neighborlist->proc~constructor_structure_list~2

subroutine count_neighbors_grid

subroutine count_neighbors_grid( &
    self, &
    struct, &
    cutoff &
)

Grid-based counting pass

Arguments

Called By

proc~~count_neighbors_grid~~CalledByGraph proc~count_neighbors_grid mod_neighborlist::count_neighbors_grid proc~count_neighbors_single_structure mod_neighborlist::NeighborList%count_neighbors_single_structure proc~count_neighbors_single_structure->proc~count_neighbors_grid none~count_neighbors mod_neighborlist::NeighborList%count_neighbors none~count_neighbors->proc~count_neighbors_single_structure proc~count_neighbors_structure_list mod_neighborlist::NeighborList%count_neighbors_structure_list none~count_neighbors->proc~count_neighbors_structure_list proc~count_neighbors_structure_list->proc~count_neighbors_single_structure proc~allocate_and_generate_single_structure mod_neighborlist::NeighborList%allocate_and_generate_single_structure proc~allocate_and_generate_single_structure->none~count_neighbors proc~allocate_and_generate_structure_list mod_neighborlist::NeighborList%allocate_and_generate_structure_list proc~allocate_and_generate_structure_list->none~count_neighbors none~allocate_and_generate_adaptive mod_feature_map_neighborlist::FeatureMapNeighborList%allocate_and_generate_adaptive none~allocate_and_generate_adaptive->proc~allocate_and_generate_single_structure none~allocate_and_generate_adaptive->proc~allocate_and_generate_structure_list none~allocate_and_generate_adaptive~2 mod_neighborlist::NeighborList%allocate_and_generate_adaptive none~allocate_and_generate_adaptive~2->proc~allocate_and_generate_single_structure none~allocate_and_generate_adaptive~2->proc~allocate_and_generate_structure_list proc~constructor_single_structure mod_feature_map_neighborlist::constructor_single_structure proc~constructor_single_structure->none~allocate_and_generate_adaptive proc~constructor_single_structure~2 mod_neighborlist::constructor_single_structure proc~constructor_single_structure~2->none~allocate_and_generate_adaptive~2 proc~constructor_structure_list mod_feature_map_neighborlist::constructor_structure_list proc~constructor_structure_list->none~allocate_and_generate_adaptive proc~constructor_structure_list~2 mod_neighborlist::constructor_structure_list proc~constructor_structure_list~2->none~allocate_and_generate_adaptive~2 interface~featuremapneighborlist mod_feature_map_neighborlist::FeatureMapNeighborList interface~featuremapneighborlist->proc~constructor_single_structure interface~featuremapneighborlist->proc~constructor_structure_list interface~neighborlist mod_neighborlist::NeighborList interface~neighborlist->proc~constructor_single_structure~2 interface~neighborlist->proc~constructor_structure_list~2

subroutine count_neighbors_pairwise

subroutine count_neighbors_pairwise( &
    self, &
    struct, &
    cutoff &
)

Pairwise counting pass

Arguments

Called By

proc~~count_neighbors_pairwise~~CalledByGraph proc~count_neighbors_pairwise mod_neighborlist::count_neighbors_pairwise proc~count_neighbors_single_structure mod_neighborlist::NeighborList%count_neighbors_single_structure proc~count_neighbors_single_structure->proc~count_neighbors_pairwise none~count_neighbors mod_neighborlist::NeighborList%count_neighbors none~count_neighbors->proc~count_neighbors_single_structure proc~count_neighbors_structure_list mod_neighborlist::NeighborList%count_neighbors_structure_list none~count_neighbors->proc~count_neighbors_structure_list proc~count_neighbors_structure_list->proc~count_neighbors_single_structure proc~allocate_and_generate_single_structure mod_neighborlist::NeighborList%allocate_and_generate_single_structure proc~allocate_and_generate_single_structure->none~count_neighbors proc~allocate_and_generate_structure_list mod_neighborlist::NeighborList%allocate_and_generate_structure_list proc~allocate_and_generate_structure_list->none~count_neighbors none~allocate_and_generate_adaptive mod_feature_map_neighborlist::FeatureMapNeighborList%allocate_and_generate_adaptive none~allocate_and_generate_adaptive->proc~allocate_and_generate_single_structure none~allocate_and_generate_adaptive->proc~allocate_and_generate_structure_list none~allocate_and_generate_adaptive~2 mod_neighborlist::NeighborList%allocate_and_generate_adaptive none~allocate_and_generate_adaptive~2->proc~allocate_and_generate_single_structure none~allocate_and_generate_adaptive~2->proc~allocate_and_generate_structure_list proc~constructor_single_structure mod_feature_map_neighborlist::constructor_single_structure proc~constructor_single_structure->none~allocate_and_generate_adaptive proc~constructor_single_structure~2 mod_neighborlist::constructor_single_structure proc~constructor_single_structure~2->none~allocate_and_generate_adaptive~2 proc~constructor_structure_list mod_feature_map_neighborlist::constructor_structure_list proc~constructor_structure_list->none~allocate_and_generate_adaptive proc~constructor_structure_list~2 mod_neighborlist::constructor_structure_list proc~constructor_structure_list~2->none~allocate_and_generate_adaptive~2 interface~featuremapneighborlist mod_feature_map_neighborlist::FeatureMapNeighborList interface~featuremapneighborlist->proc~constructor_single_structure interface~featuremapneighborlist->proc~constructor_structure_list interface~neighborlist mod_neighborlist::NeighborList interface~neighborlist->proc~constructor_single_structure~2 interface~neighborlist->proc~constructor_structure_list~2

subroutine reallocate

subroutine reallocate( &
    self, &
    new_size &
)

Arguments

  • self : class(NeighborList) [inout]
  • new_size : integer [in]

Called By

proc~~reallocate~~CalledByGraph proc~reallocate mod_neighborlist::NeighborList%reallocate proc~resize_storage mod_neighborlist::NeighborList%resize_storage proc~resize_storage->proc~reallocate proc~trim~2 mod_neighborlist::NeighborList%trim proc~trim~2->proc~reallocate proc~create_filtered_neighborlist mod_feature_map_neighborlist::create_filtered_neighborlist proc~create_filtered_neighborlist->proc~resize_storage proc~flatten_nl mod_neighborlist::NeighborList%flatten_nl proc~flatten_nl->proc~resize_storage proc~find_neighbors_grid mod_neighborlist::find_neighbors_grid proc~find_neighbors_grid->proc~flatten_nl proc~find_neighbors_pairwise mod_neighborlist::find_neighbors_pairwise proc~find_neighbors_pairwise->proc~flatten_nl proc~generate_neighborlists_cascading mod_feature_map_neighborlist::generate_neighborlists_cascading proc~generate_neighborlists_cascading->proc~create_filtered_neighborlist proc~generate_neighborlist_single_structure mod_neighborlist::NeighborList%generate_neighborlist_single_structure proc~generate_neighborlist_single_structure->proc~find_neighbors_grid proc~generate_neighborlist_single_structure->proc~find_neighbors_pairwise proc~generate_neighborlists mod_feature_map_neighborlist::generate_neighborlists proc~generate_neighborlists->proc~generate_neighborlists_cascading none~generate_neighborlist mod_neighborlist::NeighborList%generate_neighborlist none~generate_neighborlist->proc~generate_neighborlist_single_structure proc~generate_neighborlist_structure_list mod_neighborlist::NeighborList%generate_neighborlist_structure_list none~generate_neighborlist->proc~generate_neighborlist_structure_list proc~generate_neighborlist_structure_list->proc~generate_neighborlist_single_structure proc~load_next_chunk mod_dataloader_file::FileDataLoader%load_next_chunk proc~load_next_chunk->proc~generate_neighborlists proc~allocate_and_generate_single_structure mod_neighborlist::NeighborList%allocate_and_generate_single_structure proc~allocate_and_generate_single_structure->none~generate_neighborlist proc~allocate_and_generate_structure_list mod_neighborlist::NeighborList%allocate_and_generate_structure_list proc~allocate_and_generate_structure_list->none~generate_neighborlist proc~dataset_statistics_chi_all_chunks mod_dataset_statistics_chi_all_chunks::dataset_statistics_chi_all_chunks proc~dataset_statistics_chi_all_chunks->proc~load_next_chunk proc~determine_scaling_factor_and_centering_subtrahend_all_chunks~3 mod_feature_map_scaling_all_chunks::determine_scaling_factor_and_centering_subtrahend_all_chunks proc~determine_scaling_factor_and_centering_subtrahend_all_chunks~3->proc~load_next_chunk proc~output_files_and_cost mod_output_files_and_cost::output_files_and_cost proc~output_files_and_cost->proc~load_next_chunk proc~output_files_and_cost_4g_charges mod_output_files_and_cost_4g_charges::output_files_and_cost_4g_charges proc~output_files_and_cost_4g_charges->proc~load_next_chunk proc~output_files_and_cost_4g_short_range mod_output_files_and_cost_4g_short_range::output_files_and_cost_4g_short_range proc~output_files_and_cost_4g_short_range->proc~load_next_chunk proc~precalc_coulomb_matrix_all_chunks mod_precalc_coulomb_matrix_all_chunks::precalc_coulomb_matrix_all_chunks proc~precalc_coulomb_matrix_all_chunks->proc~load_next_chunk proc~precalc_nl_deriv_features_single_chunk mod_precalc_nl_deriv_features_single_chunk::precalc_nl_deriv_features_single_chunk proc~precalc_nl_deriv_features_single_chunk->proc~load_next_chunk proc~precompute_coulomb_matrix_all_chunks mod_calculate_coulomb_matrix::precompute_coulomb_matrix_all_chunks proc~precompute_coulomb_matrix_all_chunks->proc~load_next_chunk proc~create_chunks mod_dataloader_file::FileDataLoader%create_chunks proc~precompute_coulomb_matrix_all_chunks->proc~create_chunks proc~precompute_features_all_chunks mod_precompute_features_all_chunks::precompute_features_all_chunks proc~precompute_features_all_chunks->proc~load_next_chunk proc~precompute_features_all_chunks->proc~create_chunks proc~precompute_global_features_all_chunks mod_precompute_global_features_all_chunks::precompute_global_features_all_chunks proc~precompute_global_features_all_chunks->proc~load_next_chunk proc~precompute_global_features_all_chunks->proc~create_chunks proc~predict_all_chunks mod_predict_all_chunks::predict_all_chunks proc~predict_all_chunks->proc~load_next_chunk proc~predict_ee4g_feature_calculator_multiple_structures_all_chunks mod_predict_ee4g_feature_calculator_multiple_structures::predict_ee4g_feature_calculator_multiple_structures_all_chunks proc~predict_ee4g_feature_calculator_multiple_structures_all_chunks->proc~load_next_chunk proc~predict_mode mod_predict_mode::predict_mode proc~predict_mode->proc~load_next_chunk proc~predict_mode->proc~create_chunks proc~predict_two_body_all_chunks mod_two_body::TwoBodyCalculator%predict_two_body_all_chunks proc~predict_two_body_all_chunks->proc~load_next_chunk proc~prediction_statistics_all_chunks mod_feature_map_scaling_all_chunks::prediction_statistics_all_chunks proc~prediction_statistics_all_chunks->proc~load_next_chunk proc~read_global_features_all_chunks mod_train_mode::read_global_features_all_chunks proc~read_global_features_all_chunks->proc~load_next_chunk proc~set_num_structures_in_chunk_per_process mod_dataloader_file::FileDataLoader%set_num_structures_in_chunk_per_process proc~set_num_structures_in_chunk_per_process->proc~load_next_chunk proc~train_loop_4g_charges mod_train_loop_4g_charges::train_loop_4g_charges proc~train_loop_4g_charges->proc~load_next_chunk proc~train_loop_4g_charges->proc~output_files_and_cost_4g_charges proc~train_loop_atomic_property mod_train_loop_atomic_property::train_loop_atomic_property proc~train_loop_atomic_property->proc~load_next_chunk proc~train_loop_atomic_property->proc~output_files_and_cost proc~train_loop_short_range mod_train_loop_short_range::train_loop_short_range proc~train_loop_short_range->proc~load_next_chunk proc~train_loop_short_range->proc~output_files_and_cost proc~train_loop_short_range->proc~output_files_and_cost_4g_short_range none~allocate_and_generate_adaptive mod_feature_map_neighborlist::FeatureMapNeighborList%allocate_and_generate_adaptive none~allocate_and_generate_adaptive->proc~allocate_and_generate_single_structure none~allocate_and_generate_adaptive->proc~allocate_and_generate_structure_list none~allocate_and_generate_adaptive~2 mod_neighborlist::NeighborList%allocate_and_generate_adaptive none~allocate_and_generate_adaptive~2->proc~allocate_and_generate_single_structure none~allocate_and_generate_adaptive~2->proc~allocate_and_generate_structure_list proc~create_chunks->proc~set_num_structures_in_chunk_per_process proc~feature_scaling_and_prediction_statistics_all_chunks mod_feature_map_scaling_all_chunks::feature_scaling_and_prediction_statistics_all_chunks proc~feature_scaling_and_prediction_statistics_all_chunks->proc~determine_scaling_factor_and_centering_subtrahend_all_chunks~3 proc~feature_scaling_and_prediction_statistics_all_chunks->proc~prediction_statistics_all_chunks proc~train_mode mod_train_mode::train_mode proc~train_mode->proc~dataset_statistics_chi_all_chunks proc~train_mode->proc~precalc_coulomb_matrix_all_chunks proc~train_mode->proc~precalc_nl_deriv_features_single_chunk proc~train_mode->proc~predict_all_chunks proc~train_mode->proc~predict_ee4g_feature_calculator_multiple_structures_all_chunks proc~train_mode->proc~predict_two_body_all_chunks proc~train_mode->proc~read_global_features_all_chunks proc~train_mode->proc~train_loop_4g_charges proc~train_mode->proc~train_loop_atomic_property proc~train_mode->proc~train_loop_short_range proc~train_mode->proc~create_chunks proc~train_mode->proc~feature_scaling_and_prediction_statistics_all_chunks program~runner RuNNer program~runner->proc~precompute_coulomb_matrix_all_chunks program~runner->proc~precompute_features_all_chunks program~runner->proc~precompute_global_features_all_chunks program~runner->proc~predict_mode program~runner->proc~train_mode proc~constructor_single_structure mod_feature_map_neighborlist::constructor_single_structure proc~constructor_single_structure->none~allocate_and_generate_adaptive proc~constructor_single_structure~2 mod_neighborlist::constructor_single_structure proc~constructor_single_structure~2->none~allocate_and_generate_adaptive~2 proc~constructor_structure_list mod_feature_map_neighborlist::constructor_structure_list proc~constructor_structure_list->none~allocate_and_generate_adaptive proc~constructor_structure_list~2 mod_neighborlist::constructor_structure_list proc~constructor_structure_list~2->none~allocate_and_generate_adaptive~2 interface~featuremapneighborlist mod_feature_map_neighborlist::FeatureMapNeighborList interface~featuremapneighborlist->proc~constructor_single_structure interface~featuremapneighborlist->proc~constructor_structure_list interface~neighborlist mod_neighborlist::NeighborList interface~neighborlist->proc~constructor_single_structure~2 interface~neighborlist->proc~constructor_structure_list~2

subroutine allocate_and_generate_single_structure

subroutine allocate_and_generate_single_structure( &
    self, &
    struct, &
    cutoff, &
    enforce_grid, &
    mean_num_neighbors &
)

Adaptively allocate and generate neighborlist for a single structure.

This uses either the two-pass statistics approach (if enabled globally) or the original estimate-and-grow approach.

Arguments

  • self : class(NeighborList) [inout]
  • struct : type(Structure) [in]
  • cutoff : real(DP) [in]
  • enforce_grid : logical [in]
  • mean_num_neighbors : integer [in]

Called By

proc~~allocate_and_generate_single_structure~~CalledByGraph proc~allocate_and_generate_single_structure mod_neighborlist::NeighborList%allocate_and_generate_single_structure none~allocate_and_generate_adaptive mod_feature_map_neighborlist::FeatureMapNeighborList%allocate_and_generate_adaptive none~allocate_and_generate_adaptive->proc~allocate_and_generate_single_structure none~allocate_and_generate_adaptive~2 mod_neighborlist::NeighborList%allocate_and_generate_adaptive none~allocate_and_generate_adaptive~2->proc~allocate_and_generate_single_structure proc~constructor_single_structure mod_feature_map_neighborlist::constructor_single_structure proc~constructor_single_structure->none~allocate_and_generate_adaptive proc~constructor_single_structure~2 mod_neighborlist::constructor_single_structure proc~constructor_single_structure~2->none~allocate_and_generate_adaptive~2 proc~constructor_structure_list mod_feature_map_neighborlist::constructor_structure_list proc~constructor_structure_list->none~allocate_and_generate_adaptive proc~constructor_structure_list~2 mod_neighborlist::constructor_structure_list proc~constructor_structure_list~2->none~allocate_and_generate_adaptive~2 interface~featuremapneighborlist mod_feature_map_neighborlist::FeatureMapNeighborList interface~featuremapneighborlist->proc~constructor_single_structure interface~featuremapneighborlist->proc~constructor_structure_list interface~neighborlist mod_neighborlist::NeighborList interface~neighborlist->proc~constructor_single_structure~2 interface~neighborlist->proc~constructor_structure_list~2

subroutine allocate_and_generate_structure_list

subroutine allocate_and_generate_structure_list( &
    self, &
    structures, &
    cutoff, &
    enforce_grid, &
    mean_num_neighbors &
)

Adaptively allocate and generate neighborlist for a list of structures.

This uses either the two-pass statistics approach (if enabled globally) or the original estimate-and-grow approach.

Arguments

  • self : class(NeighborList) [inout]
  • structures : type(Structure) (dim: (:)) [in]
  • cutoff : real(DP) [in]
  • enforce_grid : logical [in]
  • mean_num_neighbors : integer [in]

Called By

proc~~allocate_and_generate_structure_list~~CalledByGraph proc~allocate_and_generate_structure_list mod_neighborlist::NeighborList%allocate_and_generate_structure_list none~allocate_and_generate_adaptive mod_feature_map_neighborlist::FeatureMapNeighborList%allocate_and_generate_adaptive none~allocate_and_generate_adaptive->proc~allocate_and_generate_structure_list none~allocate_and_generate_adaptive~2 mod_neighborlist::NeighborList%allocate_and_generate_adaptive none~allocate_and_generate_adaptive~2->proc~allocate_and_generate_structure_list proc~constructor_single_structure mod_feature_map_neighborlist::constructor_single_structure proc~constructor_single_structure->none~allocate_and_generate_adaptive proc~constructor_single_structure~2 mod_neighborlist::constructor_single_structure proc~constructor_single_structure~2->none~allocate_and_generate_adaptive~2 proc~constructor_structure_list mod_feature_map_neighborlist::constructor_structure_list proc~constructor_structure_list->none~allocate_and_generate_adaptive proc~constructor_structure_list~2 mod_neighborlist::constructor_structure_list proc~constructor_structure_list~2->none~allocate_and_generate_adaptive~2 interface~featuremapneighborlist mod_feature_map_neighborlist::FeatureMapNeighborList interface~featuremapneighborlist->proc~constructor_single_structure interface~featuremapneighborlist->proc~constructor_structure_list interface~neighborlist mod_neighborlist::NeighborList interface~neighborlist->proc~constructor_single_structure~2 interface~neighborlist->proc~constructor_structure_list~2