Skip to content

mod_abstract_electrostatics

Lines: 177 | Visibility: private

Abstract type that defines an electrostatic calculator. author: Moritz Gubler

Dependencies

Uses

module~~mod_abstract_electrostatics~~UsesGraph module~mod_abstract_electrostatics mod_abstract_electrostatics module~mod_precision mod_precision module~mod_abstract_electrostatics->module~mod_precision module~mod_structures mod_structures module~mod_abstract_electrostatics->module~mod_structures iso_c_binding iso_c_binding module~mod_precision->iso_c_binding iso_fortran_env iso_fortran_env module~mod_precision->iso_fortran_env module~mod_structures->module~mod_precision module~mod_array_helpers mod_array_helpers module~mod_structures->module~mod_array_helpers module~mod_constants mod_constants module~mod_structures->module~mod_constants module~mod_linalg mod_linalg module~mod_structures->module~mod_linalg module~mod_mpi mod_mpi module~mod_structures->module~mod_mpi module~mod_periodic_table mod_periodic_table module~mod_structures->module~mod_periodic_table module~mod_structures_helper mod_structures_helper module~mod_structures->module~mod_structures_helper module~mod_throw mod_throw module~mod_structures->module~mod_throw 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_linalg->module~mod_precision module~mod_linalg->module~mod_throw module~cublas_wrapper cublas_wrapper module~mod_linalg->module~cublas_wrapper module~mod_settings mod_settings module~mod_linalg->module~mod_settings module~mod_mpi->module~mod_precision mpi_f08 mpi_f08 module~mod_mpi->mpi_f08 module~mod_periodic_table->module~mod_precision module~mod_periodic_table->module~mod_array_helpers module~mod_periodic_table->module~mod_constants module~mod_periodic_table->module~mod_throw module~mod_io mod_io module~mod_periodic_table->module~mod_io module~mod_structures_helper->module~mod_precision module~mod_structures_helper->module~mod_linalg module~mod_throw->module~mod_precision module~mod_throw->iso_c_binding module~mod_throw->iso_fortran_env module~mod_throw->module~mod_mpi module~mod_throw->module~mod_io module~mod_sort mod_sort module~mod_throw->module~mod_sort module~cublas_wrapper->iso_c_binding module~cublas_wrapper->module~mod_settings module~mod_io->module~mod_precision module~mod_io->iso_fortran_env module~mod_optional_args mod_optional_args module~mod_io->module~mod_optional_args module~mod_settings->module~mod_precision module~mod_settings->module~mod_constants module~mod_settings->module~mod_periodic_table module~mod_settings->module~mod_throw module~mod_settings->module~mod_io module~mod_cpu_vendor mod_cpu_vendor module~mod_settings->module~mod_cpu_vendor module~mod_sort->module~mod_precision module~mod_cpu_vendor->iso_c_binding

Used By

module~~mod_abstract_electrostatics~~UsedByGraph module~mod_abstract_electrostatics mod_abstract_electrostatics module~mod_abstract_charge_equilibration mod_abstract_charge_equilibration module~mod_abstract_charge_equilibration->module~mod_abstract_electrostatics module~mod_abstract_iterative_charge_equilibration mod_abstract_iterative_charge_equilibration module~mod_abstract_iterative_charge_equilibration->module~mod_abstract_electrostatics module~mod_abstract_iterative_charge_equilibration->module~mod_abstract_charge_equilibration module~mod_pair_electrostatics mod_pair_electrostatics module~mod_abstract_iterative_charge_equilibration->module~mod_pair_electrostatics module~mod_analyse_a_prime_matrix_eigenvalues mod_analyse_a_prime_matrix_eigenvalues module~mod_analyse_a_prime_matrix_eigenvalues->module~mod_abstract_electrostatics module~mod_direct_charge_equilibration mod_direct_charge_equilibration module~mod_analyse_a_prime_matrix_eigenvalues->module~mod_direct_charge_equilibration module~mod_analyse_a_prime_matrix_eigenvalues->module~mod_pair_electrostatics module~mod_direct_charge_equilibration->module~mod_abstract_electrostatics module~mod_direct_charge_equilibration->module~mod_abstract_charge_equilibration module~mod_evaluate_electrostatics_3g_single_structure mod_evaluate_electrostatics_3g_single_structure module~mod_evaluate_electrostatics_3g_single_structure->module~mod_abstract_electrostatics module~mod_ewald_summation mod_ewald_summation module~mod_ewald_summation->module~mod_abstract_electrostatics module~mod_ewald_summation->module~mod_pair_electrostatics module~mod_initialize mod_initialize module~mod_initialize->module~mod_abstract_electrostatics module~mod_initialize->module~mod_abstract_charge_equilibration module~mod_initialize->module~mod_direct_charge_equilibration module~mod_initialize->module~mod_ewald_summation module~mod_initialize->module~mod_pair_electrostatics module~mod_pppm mod_pppm module~mod_initialize->module~mod_pppm module~mod_pw mod_pw module~mod_initialize->module~mod_pw module~mod_iterative_charge_equilibration_cg mod_iterative_charge_equilibration_cg module~mod_initialize->module~mod_iterative_charge_equilibration_cg module~mod_iterative_charge_equilibration_sqnm mod_iterative_charge_equilibration_sqnm module~mod_initialize->module~mod_iterative_charge_equilibration_sqnm module~mod_qeq_feature_calculator mod_qeq_feature_calculator module~mod_initialize->module~mod_qeq_feature_calculator module~mod_ee4g_feature_calculator mod_ee4g_feature_calculator module~mod_initialize->module~mod_ee4g_feature_calculator module~mod_output_files_and_cost mod_output_files_and_cost module~mod_output_files_and_cost->module~mod_abstract_electrostatics module~mod_output_files_and_cost->module~mod_abstract_charge_equilibration module~mod_predict_multiple_structures mod_predict_multiple_structures module~mod_output_files_and_cost->module~mod_predict_multiple_structures module~mod_output_files_and_cost->module~mod_ee4g_feature_calculator module~mod_cost_calculator mod_cost_calculator module~mod_output_files_and_cost->module~mod_cost_calculator module~mod_pair_electrostatics->module~mod_abstract_electrostatics module~mod_post_processing_3g_single_structure mod_post_processing_3g_single_structure module~mod_post_processing_3g_single_structure->module~mod_abstract_electrostatics module~mod_post_processing_3g_single_structure->module~mod_evaluate_electrostatics_3g_single_structure module~mod_post_processing_wrapper_single_structure mod_post_processing_wrapper_single_structure module~mod_post_processing_wrapper_single_structure->module~mod_abstract_electrostatics module~mod_post_processing_wrapper_single_structure->module~mod_abstract_charge_equilibration module~mod_post_processing_wrapper_single_structure->module~mod_post_processing_3g_single_structure module~mod_evaluate_4g_single_structure mod_evaluate_4g_single_structure module~mod_post_processing_wrapper_single_structure->module~mod_evaluate_4g_single_structure module~mod_post_processing_4g_single_structure mod_post_processing_4g_single_structure module~mod_post_processing_wrapper_single_structure->module~mod_post_processing_4g_single_structure module~mod_post_processing_wrapper_single_structure->module~mod_ee4g_feature_calculator module~mod_global_features_helper mod_global_features_helper module~mod_post_processing_wrapper_single_structure->module~mod_global_features_helper module~mod_pppm->module~mod_abstract_electrostatics module~mod_pppm->module~mod_ewald_summation module~mod_pppm->module~mod_pair_electrostatics module~mod_pppm->module~mod_pw module~mod_predict_all_chunks mod_predict_all_chunks module~mod_predict_all_chunks->module~mod_abstract_electrostatics module~mod_predict_all_chunks->module~mod_abstract_charge_equilibration module~mod_predict_all_chunks->module~mod_predict_multiple_structures module~mod_predict_mode mod_predict_mode module~mod_predict_mode->module~mod_abstract_electrostatics module~mod_predict_mode->module~mod_abstract_charge_equilibration module~mod_predict_mode->module~mod_initialize module~mod_predict_mode->module~mod_predict_multiple_structures module~mod_predict_mode->module~mod_qeq_feature_calculator module~mod_write_outfiles mod_write_outfiles module~mod_predict_mode->module~mod_write_outfiles module~mod_predict_mode->module~mod_ee4g_feature_calculator module~mod_enforce_reading mod_enforce_reading module~mod_predict_mode->module~mod_enforce_reading module~mod_predict_multiple_structures->module~mod_abstract_electrostatics module~mod_predict_multiple_structures->module~mod_abstract_charge_equilibration module~mod_predict_multiple_structures->module~mod_pair_electrostatics module~mod_predict_multiple_structures->module~mod_post_processing_wrapper_single_structure module~mod_predict_multiple_structures->module~mod_ee4g_feature_calculator module~mod_structure_batch_iterator mod_structure_batch_iterator module~mod_predict_multiple_structures->module~mod_structure_batch_iterator module~mod_predict_single_structure mod_predict_single_structure module~mod_predict_single_structure->module~mod_abstract_electrostatics module~mod_predict_single_structure->module~mod_abstract_charge_equilibration module~mod_predict_single_structure->module~mod_post_processing_wrapper_single_structure module~mod_predict_single_structure->module~mod_ee4g_feature_calculator module~mod_pw->module~mod_abstract_electrostatics module~mod_runner_interface mod_runner_interface module~mod_runner_interface->module~mod_abstract_electrostatics module~mod_runner_interface->module~mod_abstract_charge_equilibration module~mod_runner_interface->module~mod_ee4g_feature_calculator module~mod_train_loop_short_range mod_train_loop_short_range module~mod_train_loop_short_range->module~mod_abstract_electrostatics module~mod_train_loop_short_range->module~mod_abstract_charge_equilibration module~mod_train_loop_short_range->module~mod_initialize module~mod_train_loop_short_range->module~mod_output_files_and_cost module~mod_global_feature_calculator mod_global_feature_calculator module~mod_train_loop_short_range->module~mod_global_feature_calculator module~mod_train_loop_short_range->module~mod_qeq_feature_calculator 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_loop_short_range->module~mod_ee4g_feature_calculator module~mod_train_loop_short_range->module~mod_global_features_helper module~mod_output_files_and_cost_4g_short_range mod_output_files_and_cost_4g_short_range module~mod_train_loop_short_range->module~mod_output_files_and_cost_4g_short_range module~mod_predict_ee4g_feature_calculator_multiple_structures mod_predict_ee4g_feature_calculator_multiple_structures module~mod_train_loop_short_range->module~mod_predict_ee4g_feature_calculator_multiple_structures module~mod_predict_qeq_feature_calculator_multiple_structures mod_predict_qeq_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_mode mod_train_mode module~mod_train_mode->module~mod_abstract_electrostatics module~mod_train_mode->module~mod_abstract_charge_equilibration module~mod_train_mode->module~mod_initialize module~mod_train_mode->module~mod_predict_all_chunks module~mod_train_mode->module~mod_train_loop_short_range module~mod_training_charge_equilibration mod_training_charge_equilibration module~mod_train_mode->module~mod_training_charge_equilibration module~mod_dataset_statistics mod_dataset_statistics module~mod_train_mode->module~mod_dataset_statistics module~mod_dataset_statistics_chi_all_chunks mod_dataset_statistics_chi_all_chunks module~mod_train_mode->module~mod_dataset_statistics_chi_all_chunks module~mod_train_mode->module~mod_global_feature_calculator module~mod_precalc_coulomb_matrix_all_chunks mod_precalc_coulomb_matrix_all_chunks module~mod_train_mode->module~mod_precalc_coulomb_matrix_all_chunks module~mod_predict_4g_charges_training_qeq_multiple_structures mod_predict_4g_charges_training_qeq_multiple_structures module~mod_train_mode->module~mod_predict_4g_charges_training_qeq_multiple_structures module~mod_train_mode->module~mod_qeq_feature_calculator module~mod_train_loop_4g_charges mod_train_loop_4g_charges module~mod_train_mode->module~mod_train_loop_4g_charges module~mod_train_loop_atomic_property mod_train_loop_atomic_property module~mod_train_mode->module~mod_train_loop_atomic_property module~mod_train_mode->module~mod_ee4g_feature_calculator module~mod_feature_map_scaling_all_chunks mod_feature_map_scaling_all_chunks module~mod_train_mode->module~mod_feature_map_scaling_all_chunks 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_write_outfiles_training mod_write_outfiles_training module~mod_train_mode->module~mod_write_outfiles_training module~mod_training_charge_equilibration->module~mod_abstract_electrostatics module~mod_training_charge_equilibration->module~mod_ewald_summation module~mod_training_charge_equilibration->module~mod_pair_electrostatics program~runner RuNNer program~runner->module~mod_abstract_electrostatics program~runner->module~mod_abstract_charge_equilibration program~runner->module~mod_initialize program~runner->module~mod_predict_mode program~runner->module~mod_train_mode module~mod_calculate_coulomb_matrix mod_calculate_coulomb_matrix program~runner->module~mod_calculate_coulomb_matrix program~runner->module~mod_qeq_feature_calculator program~runner->module~mod_ee4g_feature_calculator module~mod_precompute_global_features_all_chunks mod_precompute_global_features_all_chunks program~runner->module~mod_precompute_global_features_all_chunks module~mod_calculate_coulomb_matrix->module~mod_training_charge_equilibration module~mod_dataset_statistics->module~mod_training_charge_equilibration module~mod_dataset_statistics_chi_all_chunks->module~mod_training_charge_equilibration module~mod_dataset_statistics_chi_all_chunks->module~mod_dataset_statistics module~mod_evaluate_4g_single_structure->module~mod_abstract_charge_equilibration module~mod_evaluate_4g_single_structure->module~mod_ee4g_feature_calculator module~mod_feature_calc_interface mod_feature_calc_interface module~mod_feature_calc_interface->module~mod_runner_interface module~mod_generic_interface mod_generic_interface module~mod_feature_calc_interface->module~mod_generic_interface module~mod_generic_interface->module~mod_predict_single_structure module~mod_generic_interface->module~mod_runner_interface module~mod_global_feature_calculator->module~mod_training_charge_equilibration module~mod_iterative_charge_equilibration_cg->module~mod_abstract_iterative_charge_equilibration module~mod_iterative_charge_equilibration_sqnm->module~mod_abstract_iterative_charge_equilibration module~mod_lammps_interface mod_lammps_interface 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_output_files_and_cost_4g_charges mod_output_files_and_cost_4g_charges module~mod_output_files_and_cost_4g_charges->module~mod_training_charge_equilibration 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_post_processing_4g_single_structure->module~mod_abstract_charge_equilibration module~mod_post_processing_4g_single_structure->module~mod_evaluate_4g_single_structure module~mod_post_processing_4g_single_structure->module~mod_ee4g_feature_calculator module~mod_precalc_coulomb_matrix_all_chunks->module~mod_training_charge_equilibration module~mod_precalc_coulomb_matrix_all_chunks->module~mod_predict_4g_charges_training_qeq_multiple_structures module~mod_predict_4g_charges_training_qeq_multiple_structures->module~mod_training_charge_equilibration module~mod_predict_4g_charges_training_qeq_multiple_structures->module~mod_structure_batch_iterator module~mod_predict_qeq_feature_calculator_single_structure mod_predict_qeq_feature_calculator_single_structure module~mod_predict_qeq_feature_calculator_single_structure->module~mod_training_charge_equilibration module~mod_predict_qeq_feature_calculator_single_structure->module~mod_qeq_feature_calculator module~mod_qeq_feature_calculator->module~mod_training_charge_equilibration module~mod_qeq_feature_calculator->module~mod_global_feature_calculator module~mod_runner_interface_bindings->module~mod_evaluate_electrostatics_3g_single_structure module~mod_runner_interface_bindings->module~mod_initialize module~mod_runner_interface_bindings->module~mod_runner_interface module~mod_runner_interface_bindings->module~mod_evaluate_4g_single_structure module~mod_runner_interface_bindings->module~mod_qeq_feature_calculator module~mod_runner_interface_bindings->module~mod_enforce_reading module~mod_runner_interface_bindings->module~mod_global_features_helper 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_training_charge_equilibration 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_train_loop_4g_charges->module~mod_initialize module~mod_train_loop_4g_charges->module~mod_training_charge_equilibration 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_4g_charges->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_cost_calculator module~mod_write_outfiles->module~mod_initialize module~mod_ee4g_feature_calculator->module~mod_global_feature_calculator module~mod_enforce_reading->module~mod_global_feature_calculator module~mod_feature_map_scaling_all_chunks->module~mod_global_feature_calculator module~mod_feature_map_scaling_all_chunks->module~mod_qeq_feature_calculator module~mod_feature_map_scaling_all_chunks->module~mod_ee4g_feature_calculator module~mod_feature_map_scaling_all_chunks->module~mod_structure_batch_iterator module~mod_global_features_helper->module~mod_global_feature_calculator module~mod_output_files_and_cost_4g_short_range->module~mod_global_feature_calculator module~mod_predict_4g_short_range_training_qeq_multiple_structures mod_predict_4g_short_range_training_qeq_multiple_structures 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_precompute_global_features_all_chunks->module~mod_qeq_feature_calculator module~mod_precompute_global_features_all_chunks->module~mod_ee4g_feature_calculator 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_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_global_feature_calculator 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_qeq_feature_calculator module~mod_predict_4g_no_force_trick_single_structure->module~mod_global_features_helper 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_4g_short_range_training_qeq_multiple_structures->module~mod_global_feature_calculator module~mod_predict_4g_short_range_training_qeq_multiple_structures->module~mod_global_features_helper 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_single_structure->module~mod_global_feature_calculator module~mod_predict_ee4g_feature_calculator_multiple_structures->module~mod_qeq_feature_calculator module~mod_predict_ee4g_feature_calculator_multiple_structures->module~mod_ee4g_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_qeq_feature_calculator module~mod_predict_qeq_feature_calculator_multiple_structures->module~mod_structure_batch_iterator module~mod_structure_batch_iterator->module~mod_global_feature_calculator module~mod_structure_batch_iterator->module~mod_global_features_helper module~mod_write_outfiles_training->module~mod_write_outfiles module~mod_cost_calculator->module~mod_write_outfiles_training

Derived Types Summary

Name Description
AbstractElectrostaticsCalculator Abstract type that defines an electrostatic calculator The calculator should be closed when...

Procedures Summary

Name Type Description
initialize_abstract_electrostatics_calculator Subroutine Default initialization routine for electrostatics calculators. May be overloaded by descendants...
initialize_abstract_electrostatics_calculator_private Subroutine Default initialization routine for electrostatics calculators.
update_sigma Subroutine
numerical_forces_electrostatic Subroutine Calculate electrostatic forces numerically. author: Moritz Gubler
numerical_stress_electrostatic Subroutine Calculate electrostatic stress numerically. author: Moritz Gubler
evaluate Subroutine Evaluates electrostatic properties. Calls the abstract subroutine evaluate_intern_to_implement...
evaluate_structure Subroutine
project_charges_to_constraint Subroutine Projects the predicted charges to the charge conservation constraint manifold. author: Moritz Gubler

Derived Types Details

type AbstractElectrostaticsCalculator

Abstract type that defines an electrostatic calculator

The calculator should be closed when it is no longer needed. It must also be closed before it can be initialized again. author: Moritz Gubler

Components

Type-Bound Procedures

Name Attributes Binding
initialize public ⇒ initialize_abstract_electrostatics_calculator
initialize_abstract_electrostatics_calculator_private public ⇒ initialize_abstract_electrostatics_calculator_private
evaluate_intern_to_implement public ⇒ evaluate_intern_to_implement
numerical_forces public ⇒ numerical_forces_electrostatic
numerical_stress public ⇒ numerical_stress_electrostatic
evaluate public ⇒ evaluate
evaluate_structure public ⇒ evaluate_structure
update_sigma public ⇒ update_sigma
free_fftw_intern public ⇒ free_fftw_intern

Inherited By

type~~abstractelectrostaticscalculator~~InheritedByGraph type~abstractelectrostaticscalculator AbstractElectrostaticsCalculator type~abstractchargeequilibrator AbstractChargeEquilibrator type~abstractchargeequilibrator->type~abstractelectrostaticscalculator elec_calc type~ewaldcalculator EwaldCalculator type~ewaldcalculator->type~abstractelectrostaticscalculator type~pairelectrostaticscalculator PairElectrostaticsCalculator type~pairelectrostaticscalculator->type~abstractelectrostaticscalculator type~pppmcalculator PppmCalculator type~pppmcalculator->type~abstractelectrostaticscalculator type~pwcalculator PwCalculator type~pppmcalculator->type~pwcalculator pw_calc type~pwcalculator->type~abstractelectrostaticscalculator type~runnerinterface RuNNerInterface type~runnerinterface->type~abstractelectrostaticscalculator elec_calc type~runnerinterface->type~abstractchargeequilibrator qeq_solver type~abstractiterativechargeequilibrator AbstractIterativeChargeEquilibrator type~abstractiterativechargeequilibrator->type~abstractchargeequilibrator type~directchargeequilibrator DirectChargeEquilibrator type~directchargeequilibrator->type~abstractchargeequilibrator type~iterativecgchargeequilibrator IterativeCgChargeEquilibrator type~iterativecgchargeequilibrator->type~abstractiterativechargeequilibrator type~iterativesqnmchargeequilibrator IterativeSQNMChargeEquilibrator type~iterativesqnmchargeequilibrator->type~abstractiterativechargeequilibrator

Interface Details

interface evaluate_abstract


interface free_fftw_abstract


Procedure Details

subroutine initialize_abstract_electrostatics_calculator

subroutine initialize_abstract_electrostatics_calculator( &
    self, &
    num_atoms, &
    atomic_sigmas, &
    electrostatics_precision, &
    lattice &
)

Default initialization routine for electrostatics calculators.

May be overloaded by descendants of the class.

Arguments

  • self : class(AbstractElectrostaticsCalculator) [out]
  • num_atoms : integer [in]
  • atomic_sigmas : real(DP) (dim: (num_atoms)) [in]
  • electrostatics_precision : real(DP) [in]
  • lattice : real(DP) (dim: (3,3)) [in]

Called By

proc~~initialize_abstract_electrostatics_calculator~~CalledByGraph proc~initialize_abstract_electrostatics_calculator mod_abstract_electrostatics::AbstractElectrostaticsCalculator%initialize_abstract_electrostatics_calculator proc~initialize_private mod_abstract_charge_equilibration::AbstractChargeEquilibrator%initialize_private proc~initialize_private->proc~initialize_abstract_electrostatics_calculator proc~predict_multiple_structures mod_predict_multiple_structures::predict_multiple_structures proc~predict_multiple_structures->proc~initialize_abstract_electrostatics_calculator proc~reinitialize_electrostatics_interface mod_runner_interface::RuNNerInterface%reinitialize_electrostatics_interface proc~reinitialize_electrostatics_interface->proc~initialize_abstract_electrostatics_calculator proc~initialize_direct mod_direct_charge_equilibration::DirectChargeEquilibrator%initialize_direct proc~initialize_direct->proc~initialize_private proc~initialize_iterative mod_abstract_iterative_charge_equilibration::AbstractIterativeChargeEquilibrator%initialize_iterative proc~initialize_iterative->proc~initialize_private proc~output_files_and_cost mod_output_files_and_cost::output_files_and_cost proc~output_files_and_cost->proc~predict_multiple_structures proc~predict_all_chunks mod_predict_all_chunks::predict_all_chunks proc~predict_all_chunks->proc~predict_multiple_structures proc~predict_mode mod_predict_mode::predict_mode proc~predict_mode->proc~predict_multiple_structures proc~predict_structure_interface mod_generic_interface::predict_structure_interface proc~predict_structure_interface->proc~reinitialize_electrostatics_interface proc~runner_interface_reinitialize_electrostatics mod_runner_interface_bindings::runner_interface_reinitialize_electrostatics proc~runner_interface_reinitialize_electrostatics->proc~reinitialize_electrostatics_interface proc~analyse_a_prime_matrix_eigenvalues mod_analyse_a_prime_matrix_eigenvalues::analyse_a_prime_matrix_eigenvalues proc~analyse_a_prime_matrix_eigenvalues->proc~initialize_direct proc~train_loop_atomic_property mod_train_loop_atomic_property::train_loop_atomic_property 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~output_files_and_cost proc~train_mode mod_train_mode::train_mode proc~train_mode->proc~predict_all_chunks proc~train_mode->proc~train_loop_atomic_property proc~train_mode->proc~train_loop_short_range program~runner RuNNer program~runner->proc~predict_mode program~runner->proc~train_mode

subroutine initialize_abstract_electrostatics_calculator_private

subroutine initialize_abstract_electrostatics_calculator_private( &
    self, &
    num_atoms, &
    atomic_sigmas, &
    electrostatics_precision, &
    lattice &
)

Default initialization routine for electrostatics calculators.

Arguments

  • self : class(AbstractElectrostaticsCalculator) [out]
  • num_atoms : integer [in]
  • atomic_sigmas : real(DP) (dim: (num_atoms)) [in]
  • electrostatics_precision : real(DP) [in]
  • lattice : real(DP) (dim: (3,3)) [in]

Called By

proc~~initialize_abstract_electrostatics_calculator_private~~CalledByGraph proc~initialize_abstract_electrostatics_calculator_private mod_abstract_electrostatics::AbstractElectrostaticsCalculator%initialize_abstract_electrostatics_calculator_private proc~initialize_abstract_electrostatics_calculator mod_abstract_electrostatics::AbstractElectrostaticsCalculator%initialize_abstract_electrostatics_calculator proc~initialize_abstract_electrostatics_calculator->proc~initialize_abstract_electrostatics_calculator_private proc~initialize_ewald mod_ewald_summation::EwaldCalculator%initialize_ewald proc~initialize_ewald->proc~initialize_abstract_electrostatics_calculator_private proc~initialize_pppm mod_pppm::PppmCalculator%initialize_pppm proc~initialize_pppm->proc~initialize_abstract_electrostatics_calculator_private proc~initialize_pw_electrostatics_calculator mod_pw::PwCalculator%initialize_pw_electrostatics_calculator proc~initialize_pppm->proc~initialize_pw_electrostatics_calculator proc~initialize_pw_electrostatics_calculator->proc~initialize_abstract_electrostatics_calculator_private proc~initialize_private mod_abstract_charge_equilibration::AbstractChargeEquilibrator%initialize_private proc~initialize_private->proc~initialize_abstract_electrostatics_calculator proc~predict_multiple_structures mod_predict_multiple_structures::predict_multiple_structures proc~predict_multiple_structures->proc~initialize_abstract_electrostatics_calculator proc~reinitialize_electrostatics_interface mod_runner_interface::RuNNerInterface%reinitialize_electrostatics_interface proc~reinitialize_electrostatics_interface->proc~initialize_abstract_electrostatics_calculator proc~initialize_direct mod_direct_charge_equilibration::DirectChargeEquilibrator%initialize_direct proc~initialize_direct->proc~initialize_private proc~initialize_iterative mod_abstract_iterative_charge_equilibration::AbstractIterativeChargeEquilibrator%initialize_iterative proc~initialize_iterative->proc~initialize_private proc~output_files_and_cost mod_output_files_and_cost::output_files_and_cost proc~output_files_and_cost->proc~predict_multiple_structures proc~predict_all_chunks mod_predict_all_chunks::predict_all_chunks proc~predict_all_chunks->proc~predict_multiple_structures proc~predict_mode mod_predict_mode::predict_mode proc~predict_mode->proc~predict_multiple_structures proc~predict_structure_interface mod_generic_interface::predict_structure_interface proc~predict_structure_interface->proc~reinitialize_electrostatics_interface proc~runner_interface_reinitialize_electrostatics mod_runner_interface_bindings::runner_interface_reinitialize_electrostatics proc~runner_interface_reinitialize_electrostatics->proc~reinitialize_electrostatics_interface proc~analyse_a_prime_matrix_eigenvalues mod_analyse_a_prime_matrix_eigenvalues::analyse_a_prime_matrix_eigenvalues proc~analyse_a_prime_matrix_eigenvalues->proc~initialize_direct proc~train_loop_atomic_property mod_train_loop_atomic_property::train_loop_atomic_property 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~output_files_and_cost proc~train_mode mod_train_mode::train_mode proc~train_mode->proc~predict_all_chunks proc~train_mode->proc~train_loop_atomic_property proc~train_mode->proc~train_loop_short_range program~runner RuNNer program~runner->proc~predict_mode program~runner->proc~train_mode

subroutine update_sigma

subroutine update_sigma( &
    self, &
    atomic_sigmas &
)

Arguments

Called By

proc~~update_sigma~~CalledByGraph proc~update_sigma mod_abstract_electrostatics::AbstractElectrostaticsCalculator%update_sigma proc~initialize_abstract_electrostatics_calculator_private mod_abstract_electrostatics::AbstractElectrostaticsCalculator%initialize_abstract_electrostatics_calculator_private proc~initialize_abstract_electrostatics_calculator_private->proc~update_sigma proc~reinitialize_electrostatics_interface mod_runner_interface::RuNNerInterface%reinitialize_electrostatics_interface proc~reinitialize_electrostatics_interface->proc~update_sigma proc~initialize_abstract_electrostatics_calculator mod_abstract_electrostatics::AbstractElectrostaticsCalculator%initialize_abstract_electrostatics_calculator proc~reinitialize_electrostatics_interface->proc~initialize_abstract_electrostatics_calculator proc~initialize_abstract_electrostatics_calculator->proc~initialize_abstract_electrostatics_calculator_private proc~initialize_ewald mod_ewald_summation::EwaldCalculator%initialize_ewald proc~initialize_ewald->proc~initialize_abstract_electrostatics_calculator_private proc~initialize_pppm mod_pppm::PppmCalculator%initialize_pppm proc~initialize_pppm->proc~initialize_abstract_electrostatics_calculator_private proc~initialize_pw_electrostatics_calculator mod_pw::PwCalculator%initialize_pw_electrostatics_calculator proc~initialize_pppm->proc~initialize_pw_electrostatics_calculator proc~initialize_pw_electrostatics_calculator->proc~initialize_abstract_electrostatics_calculator_private proc~predict_structure_interface mod_generic_interface::predict_structure_interface proc~predict_structure_interface->proc~reinitialize_electrostatics_interface proc~runner_interface_reinitialize_electrostatics mod_runner_interface_bindings::runner_interface_reinitialize_electrostatics proc~runner_interface_reinitialize_electrostatics->proc~reinitialize_electrostatics_interface proc~initialize_private mod_abstract_charge_equilibration::AbstractChargeEquilibrator%initialize_private proc~initialize_private->proc~initialize_abstract_electrostatics_calculator proc~predict_multiple_structures mod_predict_multiple_structures::predict_multiple_structures proc~predict_multiple_structures->proc~initialize_abstract_electrostatics_calculator proc~initialize_direct mod_direct_charge_equilibration::DirectChargeEquilibrator%initialize_direct proc~initialize_direct->proc~initialize_private proc~initialize_iterative mod_abstract_iterative_charge_equilibration::AbstractIterativeChargeEquilibrator%initialize_iterative proc~initialize_iterative->proc~initialize_private proc~output_files_and_cost mod_output_files_and_cost::output_files_and_cost proc~output_files_and_cost->proc~predict_multiple_structures proc~predict_all_chunks mod_predict_all_chunks::predict_all_chunks proc~predict_all_chunks->proc~predict_multiple_structures proc~predict_mode mod_predict_mode::predict_mode proc~predict_mode->proc~predict_multiple_structures proc~analyse_a_prime_matrix_eigenvalues mod_analyse_a_prime_matrix_eigenvalues::analyse_a_prime_matrix_eigenvalues proc~analyse_a_prime_matrix_eigenvalues->proc~initialize_direct proc~train_loop_atomic_property mod_train_loop_atomic_property::train_loop_atomic_property 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~output_files_and_cost proc~train_mode mod_train_mode::train_mode proc~train_mode->proc~predict_all_chunks proc~train_mode->proc~train_loop_atomic_property proc~train_mode->proc~train_loop_short_range program~runner RuNNer program~runner->proc~predict_mode program~runner->proc~train_mode

subroutine numerical_forces_electrostatic

subroutine numerical_forces_electrostatic( &
    self, &
    struct, &
    charges &
)

Calculate electrostatic forces numerically. author: Moritz Gubler

Arguments


subroutine numerical_stress_electrostatic

subroutine numerical_stress_electrostatic( &
    self, &
    struct, &
    charges &
)

Calculate electrostatic stress numerically. author: Moritz Gubler

Arguments


subroutine evaluate

subroutine evaluate( &
    self, &
    pos, &
    lat, &
    charges, &
    lagrange_charges, &
    calc_energy, &
    calc_forces, &
    calc_stress, &
    calc_de_dq, &
    calc_a_matrix, &
    calc_lambda_times_da_dpos_times_q, &
    calc_lambda_times_da_dlat_times_q &
)

Evaluates electrostatic properties. Calls the abstract subroutine evaluate_intern_to_implement with all the requested arguments.

Charges need to be projected to the constrained total charge manifold before passing them to this routine. The same goes for the dE/dQ, which should be constrained manually after this routine finishes. author: Moritz Gubler

Arguments

  • self : class(AbstractElectrostaticsCalculator)
  • pos : real(DP) (dim: (3,self%num_atoms)) [in]– Atomic positions
  • lat : real(DP) (dim: (3,3)) [in]– Lattice vectors
  • charges : real(DP) (dim: (self%num_atoms)) [in]– atomic charges.
  • lagrange_charges : real(DP) [in]
  • calc_energy : logical [in]– If true, the electrostatic energy will be calculated
  • calc_forces : logical [in]– If true, the electrostatic force will be calculated
  • calc_stress : logical [in]– If true, the electrostatic stress will be calculated
  • calc_de_dq : logical [in]– If true, the de_dq will be calculated
  • calc_a_matrix : logical [in]– If true, the A matrix (coulomb matrix) matrix will be calculated
  • calc_lambda_times_da_dpos_times_q : logical [in]– If true, da_dxyz_times_q will be calculated
  • calc_lambda_times_da_dlat_times_q : logical [in]– If true, da_dlat_times_q will be calculated

Called By

proc~~evaluate~~CalledByGraph proc~evaluate mod_abstract_electrostatics::AbstractElectrostaticsCalculator%evaluate proc~calc_a_times_vector mod_abstract_iterative_charge_equilibration::AbstractIterativeChargeEquilibrator%calc_a_times_vector proc~calc_a_times_vector->proc~evaluate proc~calc_f_and_df_dx mod_abstract_iterative_charge_equilibration::AbstractIterativeChargeEquilibrator%calc_f_and_df_dx proc~calc_f_and_df_dx->proc~evaluate proc~calculate_electrostatics_3g_single_structure_part_1 mod_evaluate_electrostatics_3g_single_structure::calculate_electrostatics_3g_single_structure_part_1 proc~calculate_electrostatics_3g_single_structure_part_1->proc~evaluate proc~calculate_electrostatics_4g_single_structure_part_1 mod_evaluate_4g_single_structure::calculate_electrostatics_4g_single_structure_part_1 proc~calculate_electrostatics_4g_single_structure_part_1->proc~evaluate proc~compute_charges~2 mod_abstract_charge_equilibration::AbstractChargeEquilibrator%compute_charges proc~compute_charges~2->proc~evaluate proc~evaluate_intern_to_implement mod_pppm::PppmCalculator%evaluate_intern_to_implement proc~evaluate_intern_to_implement->proc~evaluate proc~evaluate_structure mod_abstract_electrostatics::AbstractElectrostaticsCalculator%evaluate_structure proc~evaluate_structure->proc~evaluate proc~get_eigenvalues mod_direct_charge_equilibration::DirectChargeEquilibrator%get_eigenvalues proc~get_eigenvalues->proc~evaluate proc~numerical_forces_electrostatic mod_abstract_electrostatics::AbstractElectrostaticsCalculator%numerical_forces_electrostatic proc~numerical_forces_electrostatic->proc~evaluate proc~numerical_stress_electrostatic mod_abstract_electrostatics::AbstractElectrostaticsCalculator%numerical_stress_electrostatic proc~numerical_stress_electrostatic->proc~evaluate proc~analyse_a_prime_matrix_eigenvalues mod_analyse_a_prime_matrix_eigenvalues::analyse_a_prime_matrix_eigenvalues proc~analyse_a_prime_matrix_eigenvalues->proc~get_eigenvalues proc~calculate_charges_4g_single_structure mod_evaluate_4g_single_structure::calculate_charges_4g_single_structure proc~calculate_charges_4g_single_structure->proc~compute_charges~2 proc~cg_initial_iteration mod_iterative_charge_equilibration_cg::IterativeCgChargeEquilibrator%cg_initial_iteration proc~cg_initial_iteration->proc~calc_f_and_df_dx proc~cg_iteration mod_iterative_charge_equilibration_cg::IterativeCgChargeEquilibrator%cg_iteration proc~cg_iteration->proc~calc_a_times_vector proc~post_processing_3g_single_structure_electrostatics mod_post_processing_3g_single_structure::post_processing_3g_single_structure_electrostatics proc~post_processing_3g_single_structure_electrostatics->proc~calculate_electrostatics_3g_single_structure_part_1 proc~post_processing_4g_single_structure mod_post_processing_4g_single_structure::post_processing_4g_single_structure proc~post_processing_4g_single_structure->proc~calculate_electrostatics_4g_single_structure_part_1 proc~runner_interface_evaluate_electrostatics_3g_part_1 mod_runner_interface_bindings::runner_interface_evaluate_electrostatics_3g_part_1 proc~runner_interface_evaluate_electrostatics_3g_part_1->proc~calculate_electrostatics_3g_single_structure_part_1 proc~runner_interface_evaluate_electrostatics_4g_part_1 mod_runner_interface_bindings::runner_interface_evaluate_electrostatics_4g_part_1 proc~runner_interface_evaluate_electrostatics_4g_part_1->proc~calculate_electrostatics_4g_single_structure_part_1 proc~sqnm_initial_iteration mod_iterative_charge_equilibration_sqnm::IterativeSQNMChargeEquilibrator%sqnm_initial_iteration proc~sqnm_initial_iteration->proc~calc_f_and_df_dx proc~sqnm_iteration mod_iterative_charge_equilibration_sqnm::IterativeSQNMChargeEquilibrator%sqnm_iteration proc~sqnm_iteration->proc~calc_f_and_df_dx proc~post_processing_wrapper_single_structure mod_post_processing_wrapper_single_structure::post_processing_wrapper_single_structure proc~post_processing_wrapper_single_structure->proc~calculate_charges_4g_single_structure proc~post_processing_wrapper_single_structure->proc~post_processing_3g_single_structure_electrostatics proc~post_processing_wrapper_single_structure->proc~post_processing_4g_single_structure proc~runner_interface_compute_charges_4g mod_runner_interface_bindings::runner_interface_compute_charges_4g proc~runner_interface_compute_charges_4g->proc~calculate_charges_4g_single_structure proc~predict_multiple_structures mod_predict_multiple_structures::predict_multiple_structures proc~predict_multiple_structures->proc~post_processing_wrapper_single_structure proc~predict_single_structure mod_predict_single_structure::predict_single_structure proc~predict_single_structure->proc~post_processing_wrapper_single_structure proc~output_files_and_cost mod_output_files_and_cost::output_files_and_cost proc~output_files_and_cost->proc~predict_multiple_structures proc~predict_all_chunks mod_predict_all_chunks::predict_all_chunks proc~predict_all_chunks->proc~predict_multiple_structures proc~predict_mode mod_predict_mode::predict_mode proc~predict_mode->proc~predict_multiple_structures proc~predict_structure_interface mod_generic_interface::predict_structure_interface proc~predict_structure_interface->proc~predict_single_structure proc~train_loop_atomic_property mod_train_loop_atomic_property::train_loop_atomic_property 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~output_files_and_cost proc~train_mode mod_train_mode::train_mode proc~train_mode->proc~predict_all_chunks proc~train_mode->proc~train_loop_atomic_property proc~train_mode->proc~train_loop_short_range program~runner RuNNer program~runner->proc~predict_mode program~runner->proc~train_mode

subroutine evaluate_structure

subroutine evaluate_structure( &
    self, &
    struct, &
    charges, &
    calc_energy, &
    calc_forces, &
    calc_stress, &
    calc_de_dq, &
    calc_a_matrix, &
    calc_lambda_times_da_dpos_times_q, &
    calc_lambda_times_da_dlat_times_q &
)

Arguments

  • self : class(AbstractElectrostaticsCalculator)
  • struct : type(Structure) [in]– Structure that will be evaluated.
  • charges : real(DP) (dim: (struct%num_atoms)) [in]
  • calc_energy : logical [in]– If true, the electrostatic energy will be calculated
  • calc_forces : logical [in]– If true, the electrostatic force will be calculated
  • calc_stress : logical [in]– If true, the electrostatic stress will be calculated
  • calc_de_dq : logical [in]– If true, the de_dq will be calculated
  • calc_a_matrix : logical [in]– If true, the A matrix (coulomb matrix) matrix will be calculated
  • calc_lambda_times_da_dpos_times_q : logical [in]– If true, da_dxyz_times_q will be calculated
  • calc_lambda_times_da_dlat_times_q : logical [in]– If true, da_dlat_times_q will be calculated

subroutine project_charges_to_constraint

subroutine project_charges_to_constraint( &
    charges, &
    total_charge, &
    num_atoms &
)

Projects the predicted charges to the charge conservation constraint manifold. author: Moritz Gubler

Arguments

  • charges : real(DP) (dim: (num_atoms)) [inout]
  • total_charge : real(DP) [in]
  • num_atoms : integer [in]

Called By

proc~~project_charges_to_constraint~~CalledByGraph proc~project_charges_to_constraint mod_abstract_electrostatics::project_charges_to_constraint proc~calculate_electrostatics_3g_single_structure_part_1 mod_evaluate_electrostatics_3g_single_structure::calculate_electrostatics_3g_single_structure_part_1 proc~calculate_electrostatics_3g_single_structure_part_1->proc~project_charges_to_constraint proc~get_de_dcharges mod_training_charge_equilibration::TrainingChargeEquilibrator%get_de_dcharges proc~get_de_dcharges->proc~project_charges_to_constraint proc~get_electric_energy mod_training_charge_equilibration::TrainingChargeEquilibrator%get_electric_energy proc~get_electric_energy->proc~project_charges_to_constraint proc~get_electric_force mod_training_charge_equilibration::TrainingChargeEquilibrator%get_electric_force proc~get_electric_force->proc~project_charges_to_constraint proc~post_processing_wrapper_single_structure mod_post_processing_wrapper_single_structure::post_processing_wrapper_single_structure proc~post_processing_wrapper_single_structure->proc~project_charges_to_constraint proc~post_processing_3g_single_structure_electrostatics mod_post_processing_3g_single_structure::post_processing_3g_single_structure_electrostatics proc~post_processing_wrapper_single_structure->proc~post_processing_3g_single_structure_electrostatics proc~calc_electrostatic_contributions_single_structure mod_predict_qeq_feature_calculator_single_structure::calc_electrostatic_contributions_single_structure proc~calc_electrostatic_contributions_single_structure->proc~get_de_dcharges proc~calc_electrostatic_contributions_single_structure->proc~get_electric_energy proc~calc_electrostatic_contributions_single_structure->proc~get_electric_force proc~post_processing_3g_single_structure_electrostatics->proc~calculate_electrostatics_3g_single_structure_part_1 proc~predict_multiple_structures mod_predict_multiple_structures::predict_multiple_structures proc~predict_multiple_structures->proc~post_processing_wrapper_single_structure proc~predict_single_structure mod_predict_single_structure::predict_single_structure proc~predict_single_structure->proc~post_processing_wrapper_single_structure proc~runner_interface_evaluate_electrostatics_3g_part_1 mod_runner_interface_bindings::runner_interface_evaluate_electrostatics_3g_part_1 proc~runner_interface_evaluate_electrostatics_3g_part_1->proc~calculate_electrostatics_3g_single_structure_part_1 proc~calc_electrostatic_contributions_multiple_structures mod_predict_qeq_feature_calculator_multiple_structures::calc_electrostatic_contributions_multiple_structures proc~calc_electrostatic_contributions_multiple_structures->proc~calc_electrostatic_contributions_single_structure proc~output_files_and_cost mod_output_files_and_cost::output_files_and_cost proc~output_files_and_cost->proc~predict_multiple_structures proc~predict_all_chunks mod_predict_all_chunks::predict_all_chunks proc~predict_all_chunks->proc~predict_multiple_structures proc~predict_mode mod_predict_mode::predict_mode proc~predict_mode->proc~predict_multiple_structures proc~predict_qeq_feature_calculator_single_structure mod_predict_qeq_feature_calculator_single_structure::predict_qeq_feature_calculator_single_structure proc~predict_qeq_feature_calculator_single_structure->proc~calc_electrostatic_contributions_single_structure proc~predict_structure_interface mod_generic_interface::predict_structure_interface proc~predict_structure_interface->proc~predict_single_structure proc~predict_4g_no_force_trick_single_structure mod_predict_4g_no_force_trick_single_structure::predict_4g_no_force_trick_single_structure proc~predict_4g_no_force_trick_single_structure->proc~predict_qeq_feature_calculator_single_structure proc~predict_qeq_feature_calculator_multiple_structures mod_predict_qeq_feature_calculator_multiple_structures::predict_qeq_feature_calculator_multiple_structures proc~predict_qeq_feature_calculator_multiple_structures->proc~predict_qeq_feature_calculator_single_structure proc~train_loop_atomic_property mod_train_loop_atomic_property::train_loop_atomic_property 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~output_files_and_cost proc~train_loop_short_range->proc~predict_qeq_feature_calculator_multiple_structures proc~train_mode mod_train_mode::train_mode proc~train_mode->proc~predict_all_chunks proc~train_mode->proc~predict_qeq_feature_calculator_multiple_structures proc~train_mode->proc~train_loop_atomic_property proc~train_mode->proc~train_loop_short_range program~runner RuNNer program~runner->proc~predict_mode program~runner->proc~train_mode proc~precompute_global_features_all_chunks mod_precompute_global_features_all_chunks::precompute_global_features_all_chunks program~runner->proc~precompute_global_features_all_chunks proc~precompute_global_features_all_chunks->proc~predict_qeq_feature_calculator_multiple_structures