mod_train_loop_4g_charges
Lines: 191 |
Visibility: private
Provides routines for training atomic charges using a 4th-generation
High-Dimensional Neural Network Potential (4G-HDNNP) framework.
This module contains the main driver routine for the charge training
process (train_loop_atomic_charges_4g), which orchestrates the training
over multiple epochs. It employs a charge equilibration (QEq)
method where atomic electronegativities and optional chemical
hardnesses are predicted by neural network models.
Dependencies
Uses
module~~mod_train_loop_4g_charges~~UsesGraph
module~mod_train_loop_4g_charges
mod_train_loop_4g_charges
module~mod_abstract_property_model
mod_abstract_property_model
module~mod_train_loop_4g_charges->module~mod_abstract_property_model
module~mod_abstractoptimizer
mod_abstractoptimizer
module~mod_train_loop_4g_charges->module~mod_abstractoptimizer
module~mod_cost_calculator
mod_cost_calculator
module~mod_train_loop_4g_charges->module~mod_cost_calculator
module~mod_cost_epoch
mod_cost_epoch
module~mod_train_loop_4g_charges->module~mod_cost_epoch
module~mod_cutoff_function
mod_cutoff_function
module~mod_train_loop_4g_charges->module~mod_cutoff_function
module~mod_data_container
mod_data_container
module~mod_train_loop_4g_charges->module~mod_data_container
module~mod_dataloader_file
mod_dataloader_file
module~mod_train_loop_4g_charges->module~mod_dataloader_file
module~mod_dataset_storage
mod_dataset_storage
module~mod_train_loop_4g_charges->module~mod_dataset_storage
module~mod_decorations
mod_decorations
module~mod_train_loop_4g_charges->module~mod_decorations
module~mod_feature_calculator
mod_feature_calculator
module~mod_train_loop_4g_charges->module~mod_feature_calculator
module~mod_initialize
mod_initialize
module~mod_train_loop_4g_charges->module~mod_initialize
module~mod_io
mod_io
module~mod_train_loop_4g_charges->module~mod_io
module~mod_loss_abstract
mod_loss_abstract
module~mod_train_loop_4g_charges->module~mod_loss_abstract
module~mod_mpi
mod_mpi
module~mod_train_loop_4g_charges->module~mod_mpi
module~mod_output_files_and_cost_4g_charges
mod_output_files_and_cost_4g_charges
module~mod_train_loop_4g_charges->module~mod_output_files_and_cost_4g_charges
module~mod_precision
mod_precision
module~mod_train_loop_4g_charges->module~mod_precision
module~mod_settings
mod_settings
module~mod_train_loop_4g_charges->module~mod_settings
module~mod_signal_handler
mod_signal_handler
module~mod_train_loop_4g_charges->module~mod_signal_handler
module~mod_structures
mod_structures
module~mod_train_loop_4g_charges->module~mod_structures
module~mod_throw
mod_throw
module~mod_train_loop_4g_charges->module~mod_throw
module~mod_timer
mod_timer
module~mod_train_loop_4g_charges->module~mod_timer
module~mod_train_4g_atomic_charges_structure_batch
mod_train_4g_atomic_charges_structure_batch
module~mod_train_loop_4g_charges->module~mod_train_4g_atomic_charges_structure_batch
module~mod_train_helpers
mod_train_helpers
module~mod_train_loop_4g_charges->module~mod_train_helpers
module~mod_training_charge_equilibration
mod_training_charge_equilibration
module~mod_train_loop_4g_charges->module~mod_training_charge_equilibration
module~mod_abstract_property_model->module~mod_io
module~mod_abstract_property_model->module~mod_precision
module~mod_abstract_property_model->module~mod_settings
module~mod_abstract_property_model->module~mod_throw
module~mod_array_helpers
mod_array_helpers
module~mod_abstract_property_model->module~mod_array_helpers
module~mod_initialize_array
mod_initialize_array
module~mod_abstract_property_model->module~mod_initialize_array
module~mod_random
mod_random
module~mod_abstract_property_model->module~mod_random
module~mod_abstractoptimizer->module~mod_io
module~mod_abstractoptimizer->module~mod_loss_abstract
module~mod_abstractoptimizer->module~mod_mpi
module~mod_abstractoptimizer->module~mod_precision
module~mod_abstractoptimizer->module~mod_settings
module~mod_abstractoptimizer->module~mod_throw
module~mod_global_warning
mod_global_warning
module~mod_abstractoptimizer->module~mod_global_warning
module~mod_gradient_clipping
mod_gradient_clipping
module~mod_abstractoptimizer->module~mod_gradient_clipping
module~mod_nan_check
mod_nan_check
module~mod_abstractoptimizer->module~mod_nan_check
module~mod_cost_calculator->module~mod_abstract_property_model
module~mod_cost_calculator->module~mod_cost_epoch
module~mod_cost_calculator->module~mod_dataloader_file
module~mod_cost_calculator->module~mod_dataset_storage
module~mod_cost_calculator->module~mod_decorations
module~mod_cost_calculator->module~mod_io
module~mod_cost_calculator->module~mod_loss_abstract
module~mod_cost_calculator->module~mod_mpi
module~mod_cost_calculator->module~mod_precision
module~mod_cost_calculator->module~mod_throw
module~mod_cost_calculator->module~mod_timer
module~mod_constants
mod_constants
module~mod_cost_calculator->module~mod_constants
module~mod_dynamic_int_array
mod_dynamic_int_array
module~mod_cost_calculator->module~mod_dynamic_int_array
module~mod_optional_args
mod_optional_args
module~mod_cost_calculator->module~mod_optional_args
module~mod_path
mod_path
module~mod_cost_calculator->module~mod_path
module~mod_periodic_table
mod_periodic_table
module~mod_cost_calculator->module~mod_periodic_table
module~mod_write_outfiles_training
mod_write_outfiles_training
module~mod_cost_calculator->module~mod_write_outfiles_training
module~mod_cost_epoch->module~mod_dataset_storage
module~mod_cost_epoch->module~mod_decorations
module~mod_cost_epoch->module~mod_io
module~mod_cost_epoch->module~mod_loss_abstract
module~mod_cost_epoch->module~mod_mpi
module~mod_cost_epoch->module~mod_precision
module~mod_cost_epoch->module~mod_throw
module~mod_cost_epoch->module~mod_timer
ieee_arithmetic
ieee_arithmetic
module~mod_cost_epoch->ieee_arithmetic
mod_property_list
mod_property_list
module~mod_cost_epoch->mod_property_list
module~mod_committee_helper
mod_committee_helper
module~mod_cost_epoch->module~mod_committee_helper
module~mod_cost_epoch->module~mod_periodic_table
module~mod_set_integer
mod_set_integer
module~mod_cost_epoch->module~mod_set_integer
module~mod_cutoff_function->module~mod_io
module~mod_cutoff_function->module~mod_precision
module~mod_cutoff_function->module~mod_throw
module~mod_abstract_cutoff_function
mod_abstract_cutoff_function
module~mod_cutoff_function->module~mod_abstract_cutoff_function
module~mod_cutoff_function_cosine
mod_cutoff_function_cosine
module~mod_cutoff_function->module~mod_cutoff_function_cosine
module~mod_cutoff_function_hard
mod_cutoff_function_hard
module~mod_cutoff_function->module~mod_cutoff_function_hard
module~mod_cutoff_function_hypertangent
mod_cutoff_function_hypertangent
module~mod_cutoff_function->module~mod_cutoff_function_hypertangent
module~mod_cutoff_function_hypertangent_approx
mod_cutoff_function_hypertangent_approx
module~mod_cutoff_function->module~mod_cutoff_function_hypertangent_approx
module~mod_cutoff_function_null
mod_cutoff_function_null
module~mod_cutoff_function->module~mod_cutoff_function_null
module~mod_cutoff_function_polynomial
mod_cutoff_function_polynomial
module~mod_cutoff_function->module~mod_cutoff_function_polynomial
module~mod_cutoff_function_vdw
mod_cutoff_function_vdw
module~mod_cutoff_function->module~mod_cutoff_function_vdw
module~mod_data_container->module~mod_io
module~mod_data_container->module~mod_precision
module~mod_data_container->module~mod_throw
module~mod_dataloader_file->module~mod_cutoff_function
module~mod_dataloader_file->module~mod_feature_calculator
module~mod_dataloader_file->module~mod_io
module~mod_dataloader_file->module~mod_mpi
module~mod_dataloader_file->module~mod_precision
module~mod_dataloader_file->module~mod_structures
module~mod_dataloader_file->module~mod_throw
module~mod_abstract_structure_data_file
mod_abstract_structure_data_file
module~mod_dataloader_file->module~mod_abstract_structure_data_file
module~mod_databatcher
mod_databatcher
module~mod_dataloader_file->module~mod_databatcher
module~mod_feature_map_neighborlist
mod_feature_map_neighborlist
module~mod_dataloader_file->module~mod_feature_map_neighborlist
module~mod_memory_estimation
mod_memory_estimation
module~mod_dataloader_file->module~mod_memory_estimation
module~mod_dataloader_file->module~mod_optional_args
module~mod_dataloader_file->module~mod_periodic_table
module~mod_split_and_assign
mod_split_and_assign
module~mod_dataloader_file->module~mod_split_and_assign
module~mod_dataset_storage->module~mod_mpi
module~mod_dataset_storage->mod_property_list
module~mod_sort
mod_sort
module~mod_dataset_storage->module~mod_sort
module~mod_storage_container
mod_storage_container
module~mod_dataset_storage->module~mod_storage_container
module~mod_decorations->module~mod_io
module~mod_decorations->module~mod_precision
module~mod_decorations->module~mod_throw
module~mod_feature_calculator->module~mod_cutoff_function
module~mod_feature_calculator->module~mod_data_container
module~mod_feature_calculator->module~mod_io
module~mod_feature_calculator->module~mod_mpi
module~mod_feature_calculator->module~mod_precision
module~mod_feature_calculator->module~mod_settings
module~mod_feature_calculator->module~mod_structures
module~mod_feature_calculator->module~mod_throw
module~mod_feature_calculator->module~mod_timer
module~mod_angular_symmetry_function_3
mod_angular_symmetry_function_3
module~mod_feature_calculator->module~mod_angular_symmetry_function_3
module~mod_angular_symmetry_function_8
mod_angular_symmetry_function_8
module~mod_feature_calculator->module~mod_angular_symmetry_function_8
module~mod_angular_symmetry_function_9
mod_angular_symmetry_function_9
module~mod_feature_calculator->module~mod_angular_symmetry_function_9
module~mod_feature_calculator->module~mod_array_helpers
module~mod_atomic_descriptor
mod_atomic_descriptor
module~mod_feature_calculator->module~mod_atomic_descriptor
module~mod_element
mod_element
module~mod_feature_calculator->module~mod_element
module~mod_extrapolation_warning
mod_extrapolation_warning
module~mod_feature_calculator->module~mod_extrapolation_warning
module~mod_feature_map
mod_feature_map
module~mod_feature_calculator->module~mod_feature_map
module~mod_feature_calculator->module~mod_feature_map_neighborlist
module~mod_feature_calculator->module~mod_optional_args
module~mod_overlap_matrix
mod_overlap_matrix
module~mod_feature_calculator->module~mod_overlap_matrix
module~mod_feature_calculator->module~mod_path
module~mod_feature_calculator->module~mod_periodic_table
module~mod_radial_symmetry_function_1
mod_radial_symmetry_function_1
module~mod_feature_calculator->module~mod_radial_symmetry_function_1
module~mod_radial_symmetry_function_2
mod_radial_symmetry_function_2
module~mod_feature_calculator->module~mod_radial_symmetry_function_2
module~mod_feature_calculator->module~mod_set_integer
module~mod_initialize->module~mod_abstract_property_model
module~mod_initialize->module~mod_abstractoptimizer
module~mod_initialize->module~mod_cutoff_function
module~mod_initialize->module~mod_dataset_storage
module~mod_initialize->module~mod_feature_calculator
module~mod_initialize->module~mod_io
module~mod_initialize->module~mod_mpi
module~mod_initialize->module~mod_settings
module~mod_initialize->module~mod_throw
module~mod_abstract_charge_equilibration
mod_abstract_charge_equilibration
module~mod_initialize->module~mod_abstract_charge_equilibration
module~mod_abstract_electrostatics
mod_abstract_electrostatics
module~mod_initialize->module~mod_abstract_electrostatics
module~mod_abstract_property_list
mod_abstract_property_list
module~mod_initialize->module~mod_abstract_property_list
module~mod_initialize->module~mod_committee_helper
module~mod_direct_charge_equilibration
mod_direct_charge_equilibration
module~mod_initialize->module~mod_direct_charge_equilibration
module~mod_initialize->module~mod_dynamic_int_array
module~mod_ee4g_feature_calculator
mod_ee4g_feature_calculator
module~mod_initialize->module~mod_ee4g_feature_calculator
module~mod_initialize->module~mod_element
module~mod_elemental_property_model
mod_elemental_property_model
module~mod_initialize->module~mod_elemental_property_model
module~mod_ewald_summation
mod_ewald_summation
module~mod_initialize->module~mod_ewald_summation
module~mod_hdnn
mod_hdnn
module~mod_initialize->module~mod_hdnn
module~mod_hirshfeld_vdw
mod_hirshfeld_vdw
module~mod_initialize->module~mod_hirshfeld_vdw
module~mod_inputnn
mod_inputnn
module~mod_initialize->module~mod_inputnn
module~mod_iterative_charge_equilibration_cg
mod_iterative_charge_equilibration_cg
module~mod_initialize->module~mod_iterative_charge_equilibration_cg
module~mod_iterative_charge_equilibration_sqnm
mod_iterative_charge_equilibration_sqnm
module~mod_initialize->module~mod_iterative_charge_equilibration_sqnm
module~mod_lossfunctions
mod_lossfunctions
module~mod_initialize->module~mod_lossfunctions
module~mod_optimizers
mod_optimizers
module~mod_initialize->module~mod_optimizers
module~mod_pair_electrostatics
mod_pair_electrostatics
module~mod_initialize->module~mod_pair_electrostatics
module~mod_initialize->module~mod_path
module~mod_initialize->module~mod_periodic_table
module~mod_pppm
mod_pppm
module~mod_initialize->module~mod_pppm
module~mod_pw
mod_pw
module~mod_initialize->module~mod_pw
module~mod_qeq_feature_calculator
mod_qeq_feature_calculator
module~mod_initialize->module~mod_qeq_feature_calculator
module~mod_initialize->module~mod_set_integer
module~mod_string
mod_string
module~mod_initialize->module~mod_string
module~mod_two_body
mod_two_body
module~mod_initialize->module~mod_two_body
module~mod_write_headers
mod_write_headers
module~mod_initialize->module~mod_write_headers
module~mod_io->module~mod_precision
iso_fortran_env
iso_fortran_env
module~mod_io->iso_fortran_env
module~mod_io->module~mod_optional_args
module~mod_loss_abstract->module~mod_mpi
module~mod_loss_abstract->module~mod_precision
module~mod_mpi->module~mod_precision
mpi_f08
mpi_f08
module~mod_mpi->mpi_f08
module~mod_output_files_and_cost_4g_charges->module~mod_abstract_property_model
module~mod_output_files_and_cost_4g_charges->module~mod_cost_calculator
module~mod_output_files_and_cost_4g_charges->module~mod_cutoff_function
module~mod_output_files_and_cost_4g_charges->module~mod_data_container
module~mod_output_files_and_cost_4g_charges->module~mod_dataloader_file
module~mod_output_files_and_cost_4g_charges->module~mod_dataset_storage
module~mod_output_files_and_cost_4g_charges->module~mod_feature_calculator
module~mod_output_files_and_cost_4g_charges->module~mod_mpi
module~mod_output_files_and_cost_4g_charges->module~mod_settings
module~mod_output_files_and_cost_4g_charges->module~mod_training_charge_equilibration
module~mod_predict_4g_charges_training_qeq_multiple_structures
mod_predict_4g_charges_training_qeq_multiple_structures
module~mod_output_files_and_cost_4g_charges->module~mod_predict_4g_charges_training_qeq_multiple_structures
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_settings->module~mod_constants
module~mod_cpu_vendor
mod_cpu_vendor
module~mod_settings->module~mod_cpu_vendor
module~mod_settings->module~mod_periodic_table
module~mod_signal_handler->module~mod_mpi
module~mod_signal_handler->module~mod_throw
module~mod_signal_handler->module~mod_timer
module~mod_signal_handler->iso_c_binding
module~mod_signal_handler->module~mod_global_warning
module~mod_signal_handler->module~mod_write_headers
module~mod_structures->module~mod_mpi
module~mod_structures->module~mod_precision
module~mod_structures->module~mod_throw
module~mod_structures->module~mod_array_helpers
module~mod_structures->module~mod_constants
module~mod_linalg
mod_linalg
module~mod_structures->module~mod_linalg
module~mod_structures->module~mod_periodic_table
module~mod_structures_helper
mod_structures_helper
module~mod_structures->module~mod_structures_helper
module~mod_throw->module~mod_io
module~mod_throw->module~mod_mpi
module~mod_throw->module~mod_precision
module~mod_throw->iso_c_binding
module~mod_throw->iso_fortran_env
module~mod_throw->module~mod_sort
module~mod_timer->module~mod_io
module~mod_timer->module~mod_precision
module~mod_timer->module~mod_throw
module~mod_timer->ieee_arithmetic
module~mod_timer->module~mod_optional_args
module~mod_train_4g_atomic_charges_structure_batch->module~mod_abstract_property_model
module~mod_train_4g_atomic_charges_structure_batch->module~mod_abstractoptimizer
module~mod_train_4g_atomic_charges_structure_batch->module~mod_data_container
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_4g_atomic_charges_structure_batch->module~mod_loss_abstract
module~mod_train_4g_atomic_charges_structure_batch->module~mod_mpi
module~mod_train_4g_atomic_charges_structure_batch->module~mod_precision
module~mod_train_4g_atomic_charges_structure_batch->module~mod_settings
module~mod_train_4g_atomic_charges_structure_batch->module~mod_throw
module~mod_train_4g_atomic_charges_structure_batch->module~mod_timer
module~mod_train_4g_atomic_charges_structure_batch->module~mod_train_helpers
module~mod_train_4g_atomic_charges_structure_batch->module~mod_training_charge_equilibration
module~mod_create_batches
mod_create_batches
module~mod_train_4g_atomic_charges_structure_batch->module~mod_create_batches
module~mod_forward_backward_batched
mod_forward_backward_batched
module~mod_train_4g_atomic_charges_structure_batch->module~mod_forward_backward_batched
module~mod_forward_batched
mod_forward_batched
module~mod_train_4g_atomic_charges_structure_batch->module~mod_forward_batched
module~mod_get_max_num_output_properties
mod_get_max_num_output_properties
module~mod_train_4g_atomic_charges_structure_batch->module~mod_get_max_num_output_properties
module~mod_train_4g_atomic_charges_structure_batch->module~mod_periodic_table
module~mod_train_helpers->module~mod_abstract_property_model
module~mod_train_helpers->module~mod_abstractoptimizer
module~mod_train_helpers->module~mod_decorations
module~mod_train_helpers->module~mod_io
module~mod_train_helpers->module~mod_loss_abstract
module~mod_train_helpers->module~mod_mpi
module~mod_train_helpers->module~mod_precision
module~mod_train_helpers->module~mod_settings
module~mod_train_helpers->module~mod_throw
module~mod_train_helpers->module~mod_global_warning
module~mod_train_helpers->module~mod_periodic_table
module~mod_training_charge_equilibration->module~mod_data_container
module~mod_training_charge_equilibration->module~mod_precision
module~mod_training_charge_equilibration->module~mod_structures
module~mod_training_charge_equilibration->module~mod_abstract_electrostatics
module~mod_cross_matrix
mod_cross_matrix
module~mod_training_charge_equilibration->module~mod_cross_matrix
module~mod_training_charge_equilibration->module~mod_ewald_summation
module~mod_training_charge_equilibration->module~mod_linalg
module~mod_training_charge_equilibration->module~mod_optional_args
module~mod_training_charge_equilibration->module~mod_pair_electrostatics
module~mod_abstract_charge_equilibration->module~mod_precision
module~mod_abstract_charge_equilibration->module~mod_structures
module~mod_abstract_charge_equilibration->module~mod_abstract_electrostatics
module~mod_abstract_charge_equilibration->module~mod_periodic_table
module~mod_abstract_cutoff_function->module~mod_precision
module~mod_abstract_electrostatics->module~mod_precision
module~mod_abstract_electrostatics->module~mod_structures
module~mod_abstract_property_list->module~mod_mpi
module~mod_abstract_property_list->module~mod_throw
module~mod_abstract_property_list->module~mod_dynamic_int_array
module~mod_abstract_property_list->module~mod_optional_args
module~mod_abstract_property_list->module~mod_string
module~mod_dynamic_int_array_2d
mod_dynamic_int_array_2d
module~mod_abstract_property_list->module~mod_dynamic_int_array_2d
module~mod_dynamic_string_array
mod_dynamic_string_array
module~mod_abstract_property_list->module~mod_dynamic_string_array
module~mod_abstract_structure_data_file->module~mod_dataset_storage
module~mod_abstract_structure_data_file->module~mod_mpi
module~mod_abstract_structure_data_file->module~mod_structures
module~mod_abstract_structure_data_file->module~mod_periodic_table
module~mod_genericfile
mod_genericfile
module~mod_abstract_structure_data_file->module~mod_genericfile
module~mod_angular_symmetry_function_3->module~mod_cutoff_function
module~mod_angular_symmetry_function_3->module~mod_precision
module~mod_angular_symmetry_function_3->module~mod_structures
module~mod_angular_symmetry_function_3->module~mod_throw
module~mod_angular_symmetry_function_3->module~mod_constants
module~mod_angular_symmetry_function_3->module~mod_feature_map
module~mod_angular_symmetry_function_3->module~mod_feature_map_neighborlist
module~mod_angular_symmetry_function_3->module~mod_periodic_table
module~mod_abstract_angular_symmetry_function
mod_abstract_angular_symmetry_function
module~mod_angular_symmetry_function_3->module~mod_abstract_angular_symmetry_function
module~mod_abstract_symmetry_function
mod_abstract_symmetry_function
module~mod_angular_symmetry_function_3->module~mod_abstract_symmetry_function
module~mod_fastmath
mod_fastmath
module~mod_angular_symmetry_function_3->module~mod_fastmath
module~mod_hash
mod_hash
module~mod_angular_symmetry_function_3->module~mod_hash
module~mod_angular_symmetry_function_8->module~mod_cutoff_function
module~mod_angular_symmetry_function_8->module~mod_precision
module~mod_angular_symmetry_function_8->module~mod_structures
module~mod_angular_symmetry_function_8->module~mod_throw
module~mod_angular_symmetry_function_8->module~mod_constants
module~mod_angular_symmetry_function_8->module~mod_feature_map
module~mod_angular_symmetry_function_8->module~mod_feature_map_neighborlist
module~mod_angular_symmetry_function_8->module~mod_periodic_table
module~mod_angular_symmetry_function_8->module~mod_abstract_angular_symmetry_function
module~mod_angular_symmetry_function_8->module~mod_abstract_symmetry_function
module~mod_angular_symmetry_function_8->module~mod_hash
module~mod_angular_symmetry_function_9->module~mod_cutoff_function
module~mod_angular_symmetry_function_9->module~mod_precision
module~mod_angular_symmetry_function_9->module~mod_structures
module~mod_angular_symmetry_function_9->module~mod_throw
module~mod_angular_symmetry_function_9->module~mod_constants
module~mod_angular_symmetry_function_9->module~mod_feature_map
module~mod_angular_symmetry_function_9->module~mod_feature_map_neighborlist
module~mod_angular_symmetry_function_9->module~mod_periodic_table
module~mod_angular_symmetry_function_9->module~mod_abstract_angular_symmetry_function
module~mod_angular_symmetry_function_9->module~mod_abstract_symmetry_function
module~mod_angular_symmetry_function_9->module~mod_fastmath
module~mod_angular_symmetry_function_9->module~mod_hash
module~mod_array_helpers->module~mod_precision
module~mod_array_helpers->module~mod_throw
module~mod_atomic_descriptor->module~mod_precision
module~mod_atomic_descriptor->module~mod_structures
module~mod_atomic_descriptor->module~mod_element
module~mod_committee_helper->module~mod_io
module~mod_committee_helper->module~mod_settings
module~mod_constants->module~mod_precision
module~mod_constants->iso_c_binding
module~mod_cpu_vendor->iso_c_binding
module~mod_create_batches->module~mod_mpi
module~mod_create_batches->module~mod_precision
module~mod_create_batches->module~mod_databatcher
module~mod_create_batches->module~mod_periodic_table
module~mod_cross_matrix->module~mod_precision
module~mod_cross_matrix->module~mod_linalg
module~mod_cutoff_function_cosine->module~mod_precision
module~mod_cutoff_function_cosine->module~mod_abstract_cutoff_function
module~mod_cutoff_function_cosine->module~mod_constants
module~mod_cutoff_function_hard->module~mod_precision
module~mod_cutoff_function_hard->module~mod_abstract_cutoff_function
module~mod_cutoff_function_hypertangent->module~mod_precision
module~mod_cutoff_function_hypertangent->module~mod_abstract_cutoff_function
module~mod_cutoff_function_hypertangent_approx->module~mod_precision
module~mod_cutoff_function_hypertangent_approx->module~mod_abstract_cutoff_function
module~mod_cutoff_function_null->module~mod_precision
module~mod_cutoff_function_null->module~mod_throw
module~mod_cutoff_function_null->module~mod_abstract_cutoff_function
module~mod_cutoff_function_polynomial->module~mod_precision
module~mod_cutoff_function_polynomial->module~mod_abstract_cutoff_function
module~mod_cutoff_function_polynomial->module~mod_fastmath
module~mod_cutoff_function_vdw->module~mod_precision
module~mod_cutoff_function_vdw->module~mod_abstract_cutoff_function
module~mod_databatcher->module~mod_mpi
module~mod_databatcher->module~mod_precision
module~mod_databatcher->module~mod_throw
module~mod_databatcher->module~mod_array_helpers
module~mod_databatcher->module~mod_random
module~mod_direct_charge_equilibration->module~mod_precision
module~mod_direct_charge_equilibration->module~mod_abstract_charge_equilibration
module~mod_direct_charge_equilibration->module~mod_abstract_electrostatics
module~mod_direct_charge_equilibration->module~mod_linalg
module~mod_ee4g_feature_calculator->module~mod_io
module~mod_ee4g_feature_calculator->module~mod_precision
module~mod_ee4g_feature_calculator->module~mod_settings
module~mod_ee4g_feature_calculator->module~mod_structures
module~mod_ee4g_feature_calculator->module~mod_throw
module~mod_ee4g_feature_calculator->module~mod_constants
module~mod_ee4g_feature_calculator->module~mod_feature_map_neighborlist
module~mod_ee4g_feature_calculator->module~mod_inputnn
module~mod_ee4g_feature_calculator->module~mod_path
module~mod_ee4g_feature_calculator->module~mod_periodic_table
module~mod_ee4g_feature_calculator->module~mod_sort
module~mod_global_feature_calculator
mod_global_feature_calculator
module~mod_ee4g_feature_calculator->module~mod_global_feature_calculator
module~mod_outer_product
mod_outer_product
module~mod_ee4g_feature_calculator->module~mod_outer_product
module~mod_element->module~mod_cutoff_function
module~mod_element->module~mod_decorations
module~mod_element->module~mod_io
module~mod_element->module~mod_mpi
module~mod_element->module~mod_precision
module~mod_element->module~mod_throw
module~mod_element->module~mod_angular_symmetry_function_3
module~mod_element->module~mod_angular_symmetry_function_9
module~mod_element->module~mod_constants
module~mod_element->module~mod_feature_map
module~mod_element->module~mod_optional_args
module~mod_element->module~mod_periodic_table
module~mod_element->module~mod_radial_symmetry_function_2
module~mod_element->module~mod_set_integer
module~mod_arrays_init
mod_arrays_init
module~mod_element->module~mod_arrays_init
module~mod_dubious_feature_map_handler
mod_dubious_feature_map_handler
module~mod_element->module~mod_dubious_feature_map_handler
module~mod_element->module~mod_hash
module~mod_set_character
mod_set_character
module~mod_element->module~mod_set_character
module~mod_elemental_property_model->module~mod_abstract_property_model
module~mod_elemental_property_model->module~mod_decorations
module~mod_elemental_property_model->module~mod_io
module~mod_elemental_property_model->module~mod_precision
module~mod_elemental_property_model->module~mod_throw
module~mod_elemental_property_model->module~mod_array_helpers
module~mod_elemental_property_model->module~mod_initialize_array
module~mod_elemental_property_model->module~mod_periodic_table
module~mod_elemental_property_model->module~mod_random
module~mod_activationfunctions
mod_activationfunctions
module~mod_elemental_property_model->module~mod_activationfunctions
module~mod_ewald_summation->module~mod_precision
module~mod_ewald_summation->module~mod_abstract_electrostatics
module~mod_ewald_summation->module~mod_constants
module~mod_ewald_summation->module~mod_linalg
module~mod_ewald_summation->module~mod_pair_electrostatics
module~mod_neighbor_grid
mod_neighbor_grid
module~mod_ewald_summation->module~mod_neighbor_grid
module~mod_neighborlist_helper
mod_neighborlist_helper
module~mod_ewald_summation->module~mod_neighborlist_helper
module~mod_ewald_summation->module~mod_outer_product
module~mod_extrapolation_warning->module~mod_precision
module~mod_extrapolation_warning->module~mod_throw
module~mod_extrapolation_warning->iso_c_binding
module~mod_extrapolation_warning->module~mod_periodic_table
module~mod_abstract_warning
mod_abstract_warning
module~mod_extrapolation_warning->module~mod_abstract_warning
module~mod_feature_map->module~mod_cutoff_function
module~mod_feature_map->module~mod_io
module~mod_feature_map->module~mod_precision
module~mod_feature_map->module~mod_structures
module~mod_feature_map->module~mod_throw
module~mod_feature_map->module~mod_feature_map_neighborlist
module~mod_feature_map->module~mod_hash
module~mod_sanitize
mod_sanitize
module~mod_feature_map->module~mod_sanitize
module~mod_feature_map_neighborlist->module~mod_io
module~mod_feature_map_neighborlist->module~mod_mpi
module~mod_feature_map_neighborlist->module~mod_precision
module~mod_feature_map_neighborlist->module~mod_structures
module~mod_feature_map_neighborlist->module~mod_throw
module~mod_feature_map_neighborlist->module~mod_timer
module~mod_feature_map_neighborlist->module~mod_abstract_cutoff_function
module~mod_feature_map_neighborlist->module~mod_constants
module~mod_neighborlist
mod_neighborlist
module~mod_feature_map_neighborlist->module~mod_neighborlist
module~mod_forward_backward_batched->module~mod_abstract_property_model
module~mod_forward_backward_batched->module~mod_mpi
module~mod_forward_backward_batched->module~mod_precision
module~mod_forward_backward_batched->module~mod_throw
module~mod_forward_backward_batched->module~mod_databatcher
module~mod_forward_backward_batched->module~mod_periodic_table
module~mod_forward_batched->module~mod_abstract_property_model
module~mod_forward_batched->module~mod_mpi
module~mod_forward_batched->module~mod_precision
module~mod_forward_batched->module~mod_throw
module~mod_forward_batched->module~mod_databatcher
module~mod_forward_batched->module~mod_periodic_table
module~mod_get_max_num_output_properties->module~mod_abstract_property_model
module~mod_get_max_num_output_properties->module~mod_mpi
module~mod_global_warning->module~mod_io
module~mod_global_warning->module~mod_throw
module~mod_global_warning->module~mod_abstract_warning
module~mod_gradient_clipping->module~mod_precision
module~mod_gradient_clipping->module~mod_settings
module~mod_hdnn->module~mod_abstract_property_model
module~mod_hdnn->module~mod_decorations
module~mod_hdnn->module~mod_io
module~mod_hdnn->module~mod_precision
module~mod_hdnn->module~mod_settings
module~mod_hdnn->module~mod_throw
module~mod_hdnn->module~mod_array_helpers
module~mod_hdnn->module~mod_global_warning
module~mod_hdnn->module~mod_initialize_array
module~mod_hdnn->module~mod_periodic_table
module~mod_hdnn->module~mod_random
module~mod_neural_network
mod_neural_network
module~mod_hdnn->module~mod_neural_network
module~mod_hirshfeld_vdw->module~mod_io
module~mod_hirshfeld_vdw->module~mod_mpi
module~mod_hirshfeld_vdw->module~mod_precision
module~mod_hirshfeld_vdw->module~mod_throw
module~mod_hirshfeld_vdw->module~mod_feature_map_neighborlist
module~mod_hirshfeld_vdw->module~mod_periodic_table
module~mod_initialize_array->module~mod_io
module~mod_initialize_array->module~mod_mpi
module~mod_initialize_array->module~mod_precision
module~mod_initialize_array->module~mod_throw
module~mod_initialize_array->module~mod_random
module~mod_parameter_file
mod_parameter_file
module~mod_initialize_array->module~mod_parameter_file
module~mod_inputnn->module~mod_io
module~mod_inputnn->module~mod_mpi
module~mod_inputnn->module~mod_throw
module~mod_abstract_broadcast_file
mod_abstract_broadcast_file
module~mod_inputnn->module~mod_abstract_broadcast_file
module~mod_iterative_charge_equilibration_cg->module~mod_precision
module~mod_abstract_iterative_charge_equilibration
mod_abstract_iterative_charge_equilibration
module~mod_iterative_charge_equilibration_cg->module~mod_abstract_iterative_charge_equilibration
module~mod_iterative_charge_equilibration_sqnm->module~mod_precision
module~mod_iterative_charge_equilibration_sqnm->module~mod_abstract_iterative_charge_equilibration
module~sqnm
sqnm
module~mod_iterative_charge_equilibration_sqnm->module~sqnm
module~mod_linalg->module~mod_precision
module~mod_linalg->module~mod_settings
module~mod_linalg->module~mod_throw
module~cublas_wrapper
cublas_wrapper
module~mod_linalg->module~cublas_wrapper
module~mod_lossfunctions->module~mod_io
module~mod_lossfunctions->module~mod_loss_abstract
module~mod_lossfunctions->module~mod_throw
module~mod_loss_mae
mod_loss_mae
module~mod_lossfunctions->module~mod_loss_mae
module~mod_loss_mse
mod_loss_mse
module~mod_lossfunctions->module~mod_loss_mse
module~mod_loss_mse_torch
mod_loss_mse_torch
module~mod_lossfunctions->module~mod_loss_mse_torch
module~mod_loss_rmse
mod_loss_rmse
module~mod_lossfunctions->module~mod_loss_rmse
module~mod_memory_estimation->module~mod_feature_calculator
module~mod_memory_estimation->module~mod_io
module~mod_memory_estimation->module~mod_mpi
module~mod_memory_estimation->module~mod_precision
module~mod_memory_estimation->module~mod_settings
module~mod_memory_estimation->module~mod_structures
module~mod_memory_estimation->module~mod_throw
module~mod_memory_estimation->module~mod_feature_map_neighborlist
module~mod_memory_estimation->module~mod_periodic_table
module~mod_table
mod_table
module~mod_memory_estimation->module~mod_table
module~mod_nan_check->module~mod_io
module~mod_nan_check->module~mod_precision
module~mod_nan_check->module~mod_throw
module~mod_nan_check->ieee_arithmetic
module~mod_optimizers->module~mod_abstractoptimizer
module~mod_optimizers->module~mod_io
module~mod_optimizers->module~mod_throw
module~mod_adam
mod_adam
module~mod_optimizers->module~mod_adam
module~mod_gradient_descent
mod_gradient_descent
module~mod_optimizers->module~mod_gradient_descent
module~mod_kalman_filter
mod_kalman_filter
module~mod_optimizers->module~mod_kalman_filter
module~mod_kalman_filter_std
mod_kalman_filter_std
module~mod_optimizers->module~mod_kalman_filter_std
module~mod_nada_opt
mod_nada_opt
module~mod_optimizers->module~mod_nada_opt
module~mod_stochastic_gradient_descent
mod_stochastic_gradient_descent
module~mod_optimizers->module~mod_stochastic_gradient_descent
module~mod_overlap_matrix->module~mod_cutoff_function
module~mod_overlap_matrix->module~mod_precision
module~mod_overlap_matrix->module~mod_structures
module~mod_overlap_matrix->module~mod_feature_map
module~mod_overlap_matrix->module~mod_feature_map_neighborlist
module~mod_pair_electrostatics->module~mod_precision
module~mod_pair_electrostatics->module~mod_throw
module~mod_pair_electrostatics->module~mod_abstract_electrostatics
module~mod_pair_electrostatics->module~mod_constants
module~mod_path->module~mod_io
module~mod_periodic_table->module~mod_io
module~mod_periodic_table->module~mod_precision
module~mod_periodic_table->module~mod_throw
module~mod_periodic_table->module~mod_array_helpers
module~mod_periodic_table->module~mod_constants
module~mod_pppm->module~mod_precision
module~mod_pppm->module~mod_throw
module~mod_pppm->module~mod_abstract_electrostatics
module~mod_pppm->module~mod_ewald_summation
module~mod_pppm->module~mod_linalg
module~mod_pppm->module~mod_pair_electrostatics
module~mod_pppm->module~mod_pw
module~mod_pppm->module~mod_neighbor_grid
module~mod_pppm->module~mod_outer_product
module~mod_predict_4g_charges_training_qeq_multiple_structures->module~mod_abstract_property_model
module~mod_predict_4g_charges_training_qeq_multiple_structures->module~mod_data_container
module~mod_predict_4g_charges_training_qeq_multiple_structures->module~mod_dataset_storage
module~mod_predict_4g_charges_training_qeq_multiple_structures->module~mod_feature_calculator
module~mod_predict_4g_charges_training_qeq_multiple_structures->module~mod_mpi
module~mod_predict_4g_charges_training_qeq_multiple_structures->module~mod_precision
module~mod_predict_4g_charges_training_qeq_multiple_structures->module~mod_settings
module~mod_predict_4g_charges_training_qeq_multiple_structures->module~mod_structures
module~mod_predict_4g_charges_training_qeq_multiple_structures->module~mod_throw
module~mod_predict_4g_charges_training_qeq_multiple_structures->module~mod_timer
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_databatcher
module~mod_predict_4g_charges_training_qeq_multiple_structures->module~mod_feature_map_neighborlist
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_pw->module~mod_precision
module~mod_pw->module~mod_throw
module~mod_pw->module~mod_abstract_electrostatics
module~mod_fft_potential
mod_fft_potential
module~mod_pw->module~mod_fft_potential
module~mod_qeq_feature_calculator->module~mod_io
module~mod_qeq_feature_calculator->module~mod_precision
module~mod_qeq_feature_calculator->module~mod_settings
module~mod_qeq_feature_calculator->module~mod_structures
module~mod_qeq_feature_calculator->module~mod_throw
module~mod_qeq_feature_calculator->module~mod_training_charge_equilibration
module~mod_qeq_feature_calculator->module~mod_inputnn
module~mod_qeq_feature_calculator->module~mod_path
module~mod_qeq_feature_calculator->module~mod_global_feature_calculator
module~mod_radial_symmetry_function_1->module~mod_cutoff_function
module~mod_radial_symmetry_function_1->module~mod_io
module~mod_radial_symmetry_function_1->module~mod_precision
module~mod_radial_symmetry_function_1->module~mod_structures
module~mod_radial_symmetry_function_1->module~mod_throw
module~mod_radial_symmetry_function_1->module~mod_feature_map
module~mod_radial_symmetry_function_1->module~mod_feature_map_neighborlist
module~mod_radial_symmetry_function_1->module~mod_periodic_table
module~mod_abstract_radial_symmetry_function
mod_abstract_radial_symmetry_function
module~mod_radial_symmetry_function_1->module~mod_abstract_radial_symmetry_function
module~mod_radial_symmetry_function_1->module~mod_hash
module~mod_radial_symmetry_function_2->module~mod_cutoff_function
module~mod_radial_symmetry_function_2->module~mod_precision
module~mod_radial_symmetry_function_2->module~mod_structures
module~mod_radial_symmetry_function_2->module~mod_throw
module~mod_radial_symmetry_function_2->module~mod_feature_map
module~mod_radial_symmetry_function_2->module~mod_feature_map_neighborlist
module~mod_radial_symmetry_function_2->module~mod_periodic_table
module~mod_radial_symmetry_function_2->module~mod_abstract_radial_symmetry_function
module~mod_radial_symmetry_function_2->module~mod_abstract_symmetry_function
module~mod_radial_symmetry_function_2->module~mod_hash
module~mod_random->module~mod_precision
module~mod_random->module~mod_constants
module~mod_set_integer->module~mod_throw
module~mod_sort->module~mod_precision
module~mod_split_and_assign->module~mod_mpi
module~mod_split_and_assign->module~mod_precision
module~mod_split_and_assign->module~mod_throw
module~mod_storage_container->module~mod_io
module~mod_storage_container->module~mod_mpi
module~mod_storage_container->mod_property_list
module~mod_storage_container->module~mod_abstract_property_list
module~mod_storage_container->module~mod_dynamic_int_array
module~mod_storage_container->module~mod_sort
module~mod_storage_container->module~mod_string
module~mod_string->module~mod_precision
module~mod_structures_helper->module~mod_precision
module~mod_structures_helper->module~mod_linalg
module~mod_two_body->module~mod_cutoff_function
module~mod_two_body->module~mod_dataloader_file
module~mod_two_body->module~mod_dataset_storage
module~mod_two_body->module~mod_io
module~mod_two_body->module~mod_precision
module~mod_two_body->module~mod_settings
module~mod_two_body->module~mod_structures
module~mod_two_body->module~mod_throw
module~mod_two_body->module~mod_feature_map_neighborlist
module~mod_two_body->module~mod_periodic_table
module~mod_write_headers->module~mod_abstract_property_model
module~mod_write_headers->module~mod_abstractoptimizer
module~mod_write_headers->module~mod_decorations
module~mod_write_headers->module~mod_io
module~mod_write_headers->module~mod_mpi
module~mod_write_headers->module~mod_settings
module~mod_write_headers->module~mod_throw
module~mod_write_headers->module~mod_timer
module~mod_git_info
mod_git_info
module~mod_write_headers->module~mod_git_info
module~mod_version
mod_version
module~mod_write_headers->module~mod_version
module~mod_write_outfiles_training->module~mod_abstract_property_model
module~mod_write_outfiles_training->module~mod_cost_epoch
module~mod_write_outfiles_training->module~mod_dataset_storage
module~mod_write_outfiles_training->module~mod_io
module~mod_write_outfiles_training->module~mod_mpi
module~mod_write_outfiles_training->module~mod_settings
module~mod_write_outfiles_training->module~mod_path
module~mod_write_outfiles_training->module~mod_sort
module~mod_write_outfiles_training->module~mod_genericfile
module~mod_write_outfiles
mod_write_outfiles
module~mod_write_outfiles_training->module~mod_write_outfiles
module~cublas_wrapper->module~mod_settings
module~cublas_wrapper->iso_c_binding
module~mod_abstract_angular_symmetry_function->module~mod_precision
module~mod_abstract_angular_symmetry_function->module~mod_structures
module~mod_abstract_angular_symmetry_function->module~mod_feature_map_neighborlist
module~mod_abstract_angular_symmetry_function->module~mod_periodic_table
module~mod_abstract_angular_symmetry_function->module~mod_abstract_symmetry_function
module~mod_abstract_broadcast_file->module~mod_io
module~mod_abstract_broadcast_file->module~mod_mpi
module~mod_abstract_broadcast_file->module~mod_throw
module~mod_abstract_broadcast_file->module~mod_genericfile
module~mod_abstract_broadcast_file->module~mod_sanitize
module~mod_abstract_iterative_charge_equilibration->module~mod_io
module~mod_abstract_iterative_charge_equilibration->module~mod_precision
module~mod_abstract_iterative_charge_equilibration->module~mod_throw
module~mod_abstract_iterative_charge_equilibration->module~mod_abstract_charge_equilibration
module~mod_abstract_iterative_charge_equilibration->module~mod_abstract_electrostatics
module~mod_abstract_iterative_charge_equilibration->module~mod_pair_electrostatics
module~mod_abstract_radial_symmetry_function->module~mod_precision
module~mod_abstract_radial_symmetry_function->module~mod_structures
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_io
module~mod_abstract_symmetry_function->module~mod_precision
module~mod_abstract_symmetry_function->module~mod_structures
module~mod_abstract_symmetry_function->module~mod_throw
module~mod_abstract_symmetry_function->module~mod_feature_map
module~mod_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_spin_prefactor
mod_spin_prefactor
module~mod_abstract_symmetry_function->module~mod_spin_prefactor
module~mod_activationfunctions->module~mod_throw
module~mod_activationfunction_abstract
mod_activationfunction_abstract
module~mod_activationfunctions->module~mod_activationfunction_abstract
module~mod_activationfunction_linear
mod_activationfunction_linear
module~mod_activationfunctions->module~mod_activationfunction_linear
module~mod_activationfunction_relu
mod_activationfunction_relu
module~mod_activationfunctions->module~mod_activationfunction_relu
module~mod_activationfunction_sigmoid
mod_activationfunction_sigmoid
module~mod_activationfunctions->module~mod_activationfunction_sigmoid
module~mod_activationfunction_softplus
mod_activationfunction_softplus
module~mod_activationfunctions->module~mod_activationfunction_softplus
module~mod_activationfunction_square
mod_activationfunction_square
module~mod_activationfunctions->module~mod_activationfunction_square
module~mod_activationfunction_stanh
mod_activationfunction_stanh
module~mod_activationfunctions->module~mod_activationfunction_stanh
module~mod_activationfunction_tanh
mod_activationfunction_tanh
module~mod_activationfunctions->module~mod_activationfunction_tanh
module~mod_adam->module~mod_abstractoptimizer
module~mod_adam->module~mod_decorations
module~mod_adam->module~mod_io
module~mod_adam->module~mod_precision
module~mod_adam->module~mod_throw
module~mod_adam->module~mod_lossfunctions
module~mod_adam->module~mod_loss_mse
module~mod_learning_rate
mod_learning_rate
module~mod_adam->module~mod_learning_rate
module~mod_arrays_init->module~mod_precision
module~mod_dubious_feature_map_handler->module~mod_decorations
module~mod_dubious_feature_map_handler->module~mod_io
module~mod_dubious_feature_map_handler->module~mod_precision
module~mod_dubious_feature_map_handler->module~mod_throw
module~mod_dubious_feature_map_handler->module~mod_dynamic_int_array
module~mod_dynamic_double_array
mod_dynamic_double_array
module~mod_dubious_feature_map_handler->module~mod_dynamic_double_array
module~mod_dynamic_line_array
mod_dynamic_line_array
module~mod_dubious_feature_map_handler->module~mod_dynamic_line_array
module~mod_dynamic_int_array_2d->module~mod_mpi
module~mod_dynamic_string_array->module~mod_string
module~mod_fastmath->module~mod_precision
module~mod_fft_potential->module~mod_precision
module~mod_fft_potential->module~mod_throw
module~mod_fft_potential->iso_c_binding
module~mod_fft_potential->module~mod_constants
module~mod_fft_potential->module~mod_linalg
module~mod_fft_potential->module~mod_structures_helper
module~mod_fft_potential->module~mod_neighborlist_helper
module~mod_fft
mod_fft
module~mod_fft_potential->module~mod_fft
module~mod_genericfile->module~mod_io
module~mod_genericfile->module~mod_mpi
module~mod_genericfile->module~mod_throw
module~mod_global_feature_calculator->module~mod_data_container
module~mod_global_feature_calculator->module~mod_io
module~mod_global_feature_calculator->module~mod_precision
module~mod_global_feature_calculator->module~mod_structures
module~mod_global_feature_calculator->module~mod_throw
module~mod_global_feature_calculator->module~mod_training_charge_equilibration
module~mod_global_feature_calculator->module~mod_optional_args
module~mod_global_feature_calculator->module~mod_periodic_table
module~mod_free
mod_free
module~mod_global_feature_calculator->module~mod_free
module~mod_global_atomic_descriptor
mod_global_atomic_descriptor
module~mod_global_feature_calculator->module~mod_global_atomic_descriptor
module~mod_global_feature_statistics
mod_global_feature_statistics
module~mod_global_feature_calculator->module~mod_global_feature_statistics
module~mod_statistics_container
mod_statistics_container
module~mod_global_feature_calculator->module~mod_statistics_container
module~mod_gradient_descent->module~mod_abstractoptimizer
module~mod_gradient_descent->module~mod_decorations
module~mod_gradient_descent->module~mod_io
module~mod_gradient_descent->module~mod_precision
module~mod_gradient_descent->module~mod_throw
module~mod_gradient_descent->module~mod_lossfunctions
module~mod_gradient_descent->module~mod_loss_mse
module~mod_gradient_descent->module~mod_learning_rate
module~mod_hash->module~mod_io
module~mod_hash->module~mod_precision
module~mod_hash->module~mod_periodic_table
module~mod_kalman_filter->module~mod_abstractoptimizer
module~mod_kalman_filter->module~mod_io
module~mod_kalman_filter->module~mod_mpi
module~mod_kalman_filter->module~mod_precision
module~mod_kalman_filter->module~mod_throw
module~mod_abstract_kalman_filter
mod_abstract_kalman_filter
module~mod_kalman_filter->module~mod_abstract_kalman_filter
module~mod_kalman_filter_std->module~mod_abstractoptimizer
module~mod_kalman_filter_std->module~mod_io
module~mod_kalman_filter_std->module~mod_mpi
module~mod_kalman_filter_std->module~mod_precision
module~mod_kalman_filter_std->module~mod_throw
module~mod_kalman_filter_std->module~mod_abstract_kalman_filter
module~mod_parse_logical_keyword
mod_parse_logical_keyword
module~mod_kalman_filter_std->module~mod_parse_logical_keyword
module~mod_loss_mae->module~mod_loss_abstract
module~mod_loss_mae->module~mod_precision
module~mod_loss_mse->module~mod_loss_abstract
module~mod_loss_mse->module~mod_precision
module~mod_loss_mse_torch->module~mod_loss_abstract
module~mod_loss_mse_torch->module~mod_precision
module~mod_loss_rmse->module~mod_loss_abstract
module~mod_loss_rmse->module~mod_precision
module~mod_nada_opt->module~mod_abstractoptimizer
module~mod_nada_opt->module~mod_decorations
module~mod_nada_opt->module~mod_io
module~mod_nada_opt->module~mod_precision
module~mod_nada_opt->module~mod_throw
module~mod_nada_opt->module~mod_lossfunctions
module~mod_nada_opt->module~mod_loss_mse
module~mod_nada_opt->module~mod_learning_rate
module~mod_neighbor_grid->module~mod_mpi
module~mod_neighbor_grid->module~mod_precision
module~mod_neighbor_grid->module~mod_dynamic_int_array
module~mod_neighbor_grid->module~mod_structures_helper
module~mod_neighbor_grid->module~mod_neighborlist_helper
module~mod_neighborlist->module~mod_io
module~mod_neighborlist->module~mod_mpi
module~mod_neighborlist->module~mod_precision
module~mod_neighborlist->module~mod_settings
module~mod_neighborlist->module~mod_structures
module~mod_neighborlist->module~mod_throw
module~mod_neighborlist->module~mod_dynamic_int_array
module~mod_neighborlist->module~mod_neighbor_grid
module~mod_neighborlist->module~mod_neighborlist_helper
module~mod_neighborlist->module~mod_dynamic_double_array
module~mod_neighborlist_helper->module~mod_mpi
module~mod_neighborlist_helper->module~mod_precision
module~mod_neighborlist_helper->module~mod_linalg
module~mod_neural_network->module~mod_decorations
module~mod_neural_network->module~mod_io
module~mod_neural_network->module~mod_precision
module~mod_neural_network->module~mod_throw
module~mod_neural_network->module~mod_optional_args
module~mod_neural_network->module~mod_random
module~mod_neural_network->module~mod_activationfunctions
module~mod_layers
mod_layers
module~mod_neural_network->module~mod_layers
module~mod_outer_product->module~mod_precision
module~mod_outer_product->module~mod_linalg
module~mod_parameter_file->module~mod_io
module~mod_parameter_file->module~mod_precision
module~mod_parameter_file->module~mod_throw
module~mod_parameter_file->module~mod_nan_check
module~mod_parameter_file->module~mod_abstract_broadcast_file
module~mod_sanitize->module~mod_throw
module~mod_set_character->module~mod_throw
module~mod_stochastic_gradient_descent->module~mod_abstractoptimizer
module~mod_stochastic_gradient_descent->module~mod_decorations
module~mod_stochastic_gradient_descent->module~mod_io
module~mod_stochastic_gradient_descent->module~mod_precision
module~mod_stochastic_gradient_descent->module~mod_throw
module~mod_stochastic_gradient_descent->module~mod_lossfunctions
module~mod_stochastic_gradient_descent->module~mod_loss_mse
module~mod_stochastic_gradient_descent->module~mod_learning_rate
module~mod_structure_batch_iterator->module~mod_abstract_property_model
module~mod_structure_batch_iterator->module~mod_feature_calculator
module~mod_structure_batch_iterator->module~mod_mpi
module~mod_structure_batch_iterator->module~mod_precision
module~mod_structure_batch_iterator->module~mod_settings
module~mod_structure_batch_iterator->module~mod_structures
module~mod_structure_batch_iterator->module~mod_throw
module~mod_structure_batch_iterator->module~mod_databatcher
module~mod_structure_batch_iterator->module~mod_feature_map_neighborlist
module~mod_structure_batch_iterator->module~mod_get_max_num_output_properties
module~mod_structure_batch_iterator->module~mod_optional_args
module~mod_structure_batch_iterator->module~mod_global_feature_calculator
module~mod_calc_atomic_properties
mod_calc_atomic_properties
module~mod_structure_batch_iterator->module~mod_calc_atomic_properties
module~mod_global_features_helper
mod_global_features_helper
module~mod_structure_batch_iterator->module~mod_global_features_helper
module~mod_table->module~mod_decorations
module~mod_table->module~mod_io
module~mod_table->module~mod_precision
module~mod_table->module~mod_throw
module~mod_write_outfiles->module~mod_dataset_storage
module~mod_write_outfiles->module~mod_initialize
module~mod_write_outfiles->module~mod_io
module~mod_write_outfiles->module~mod_mpi
module~mod_write_outfiles->module~mod_throw
module~mod_write_outfiles->module~mod_string
module~mod_write_outfiles->module~mod_genericfile
module~mod_sum_out
mod_sum_out
module~mod_write_outfiles->module~mod_sum_out
module~sqnm->module~mod_precision
module~sqnm->iso_c_binding
module~sqnm->module~mod_linalg
module~historylist
historylist
module~sqnm->module~historylist
module~historylist->iso_c_binding
module~mod_abstract_kalman_filter->module~mod_abstractoptimizer
module~mod_abstract_kalman_filter->module~mod_data_container
module~mod_abstract_kalman_filter->module~mod_decorations
module~mod_abstract_kalman_filter->module~mod_io
module~mod_abstract_kalman_filter->module~mod_mpi
module~mod_abstract_kalman_filter->module~mod_precision
module~mod_abstract_kalman_filter->module~mod_throw
module~mod_abstract_kalman_filter->module~mod_linalg
module~mod_abstract_kalman_filter->module~mod_lossfunctions
module~mod_abstract_kalman_filter->module~mod_path
module~mod_abstract_kalman_filter->module~mod_loss_mae
module~mod_abstract_kalman_filter->module~mod_parse_logical_keyword
module~mod_activationfunction_linear->module~mod_precision
module~mod_activationfunction_linear->module~mod_activationfunction_abstract
module~mod_activationfunction_relu->module~mod_precision
module~mod_activationfunction_relu->module~mod_activationfunction_abstract
module~mod_activationfunction_sigmoid->module~mod_precision
module~mod_activationfunction_sigmoid->module~mod_activationfunction_abstract
module~mod_activationfunction_softplus->module~mod_precision
module~mod_activationfunction_softplus->module~mod_activationfunction_abstract
module~mod_activationfunction_square->module~mod_precision
module~mod_activationfunction_square->module~mod_activationfunction_abstract
module~mod_activationfunction_stanh->module~mod_precision
module~mod_activationfunction_stanh->module~mod_activationfunction_abstract
module~mod_activationfunction_tanh->module~mod_precision
module~mod_activationfunction_tanh->module~mod_activationfunction_abstract
module~mod_calc_atomic_properties->module~mod_abstract_property_model
module~mod_calc_atomic_properties->module~mod_feature_calculator
module~mod_calc_atomic_properties->module~mod_mpi
module~mod_calc_atomic_properties->module~mod_precision
module~mod_calc_atomic_properties->module~mod_throw
module~mod_calc_atomic_properties->module~mod_timer
module~mod_calc_atomic_properties->module~mod_feature_map_neighborlist
module~mod_calc_atomic_properties->module~mod_forward_batched
module~mod_calc_atomic_properties->module~mod_periodic_table
module~mod_calc_atomic_properties->module~mod_set_integer
module~mod_dynamic_double_array->module~mod_precision
module~mod_dynamic_double_array->module~mod_throw
module~mod_electric_field_prefactor->module~mod_precision
module~mod_electric_field_prefactor->module~mod_settings
module~mod_electric_field_prefactor->module~mod_feature_map_neighborlist
module~mod_fft->iso_c_binding
fftw3
fftw3
module~mod_fft->fftw3
module~mod_free->module~mod_precision
module~mod_global_atomic_descriptor->module~mod_precision
module~mod_global_atomic_descriptor->module~mod_optional_args
module~mod_global_feature_statistics->module~mod_io
module~mod_global_feature_statistics->module~mod_precision
module~mod_global_feature_statistics->module~mod_throw
module~mod_global_feature_statistics->module~mod_periodic_table
module~mod_global_feature_statistics->module~mod_free
module~mod_global_feature_statistics->module~mod_statistics_container
module~mod_statisticsfile
mod_statisticsfile
module~mod_global_feature_statistics->module~mod_statisticsfile
module~mod_global_features_helper->module~mod_feature_calculator
module~mod_global_features_helper->module~mod_precision
module~mod_global_features_helper->module~mod_structures
module~mod_global_features_helper->module~mod_extrapolation_warning
module~mod_global_features_helper->module~mod_global_feature_calculator
module~mod_global_features_helper->module~mod_global_feature_statistics
module~mod_dense_layer
mod_dense_layer
module~mod_layers->module~mod_dense_layer
module~mod_dense_layer_with_single_activations
mod_dense_layer_with_single_activations
module~mod_layers->module~mod_dense_layer_with_single_activations
module~mod_input_layer
mod_input_layer
module~mod_layers->module~mod_input_layer
module~mod_input_layer_with_activations
mod_input_layer_with_activations
module~mod_layers->module~mod_input_layer_with_activations
module~mod_learning_rate->module~mod_abstractoptimizer
module~mod_learning_rate->module~mod_precision
module~mod_parse_logical_keyword->module~mod_io
module~mod_parse_logical_keyword->module~mod_throw
module~mod_spin_prefactor->module~mod_precision
module~mod_spin_prefactor->module~mod_feature_map_neighborlist
module~mod_statistics_container->module~mod_io
module~mod_statistics_container->module~mod_mpi
module~mod_statistics_container->module~mod_precision
module~mod_statistics_container->module~mod_throw
module~mod_statistics_container->module~mod_constants
module~mod_statistics_container->module~mod_periodic_table
module~mod_statistics_container->module~mod_table
module~mod_sum_out->module~mod_io
module~mod_sum_out->module~mod_mpi
module~mod_sum_out->module~mod_precision
module~mod_sum_out->module~mod_throw
module~mod_sum_out->module~mod_dynamic_int_array
module~mod_sum_out->module~mod_storage_container
module~mod_sum_out->module~mod_string
module~mod_sum_out->module~mod_genericfile
module~mod_dense_layer->module~mod_decorations
module~mod_dense_layer->module~mod_io
module~mod_dense_layer->module~mod_precision
module~mod_dense_layer->module~mod_throw
module~mod_dense_layer->module~mod_constants
module~mod_dense_layer->module~mod_global_warning
module~mod_dense_layer->module~mod_initialize_array
module~mod_dense_layer->module~mod_linalg
module~mod_dense_layer->module~mod_nan_check
module~mod_dense_layer->module~mod_optional_args
module~mod_dense_layer->module~mod_random
module~mod_dense_layer->module~mod_activationfunctions
module~mod_dense_layer_with_single_activations->module~mod_decorations
module~mod_dense_layer_with_single_activations->module~mod_io
module~mod_dense_layer_with_single_activations->module~mod_precision
module~mod_dense_layer_with_single_activations->module~mod_throw
module~mod_dense_layer_with_single_activations->module~mod_global_warning
module~mod_dense_layer_with_single_activations->module~mod_linalg
module~mod_dense_layer_with_single_activations->module~mod_activationfunctions
module~mod_dense_layer_with_single_activations->module~mod_dense_layer
module~mod_input_layer->module~mod_decorations
module~mod_input_layer->module~mod_io
module~mod_input_layer->module~mod_precision
module~mod_input_layer->module~mod_throw
module~mod_input_layer->module~mod_constants
module~mod_input_layer_with_activations->module~mod_decorations
module~mod_input_layer_with_activations->module~mod_io
module~mod_input_layer_with_activations->module~mod_precision
module~mod_input_layer_with_activations->module~mod_throw
module~mod_input_layer_with_activations->module~mod_global_warning
module~mod_input_layer_with_activations->module~mod_activationfunctions
module~mod_input_layer_with_activations->module~mod_input_layer
module~mod_statisticsfile->module~mod_mpi
module~mod_statisticsfile->module~mod_abstract_broadcast_file
module~mod_statisticsfile->module~mod_statistics_container
Nodes of different colours represent the following:
Graph Key
Module
Module
Submodule
Submodule
Subroutine
Subroutine
Function
Function
Program
Program
This Page's Entity
This Page's Entity
Solid arrows point from a submodule to the (sub)module which it is
descended from. Dashed arrows point from a module or program unit to
modules which it uses.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.
Used By
module~~mod_train_loop_4g_charges~~UsedByGraph
module~mod_train_loop_4g_charges
mod_train_loop_4g_charges
module~mod_train_mode
mod_train_mode
module~mod_train_mode->module~mod_train_loop_4g_charges
program~runner
RuNNer
program~runner->module~mod_train_mode
Nodes of different colours represent the following:
Graph Key
Module
Module
Submodule
Submodule
Subroutine
Subroutine
Function
Function
Program
Program
This Page's Entity
This Page's Entity
Solid arrows point from a submodule to the (sub)module which it is
descended from. Dashed arrows point from a module or program unit to
modules which it uses.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.
Procedures Summary
Name
Type
Description
train_loop_4g_charges
Subroutine
Main driver routine to train atomic charges with a charge equilibration (QEq) model. This...
initialize_cost_calculator_4g_charge
Subroutine
Initializes the CostCalculator for 4G charge training. This helper subroutine sets up the...
Procedure Details
subroutine train_loop_4g_charges
subroutine train_loop_4g_charges ( & data_loader, & models, & feature_calculators, & cutoff_functions, & ids_train_test, & num_samples_train_test, & optimizers, & results_pred, & loss_functions, & cost_functions, & qeq_solvers, & file_coul_mat &)
Main driver routine to train atomic charges with a charge
equilibration (QEq) model.
This subroutine orchestrates the entire training process for a
4G-HDNNP charge model. It iterates over a specified number of
epochs, and within each epoch, it processes the training data
in chunks and batches.
Outline
Initialization : It initializes a CostCalculator to
manage error metrics and output. An initial cost evaluation is
performed on the untrained models.
Epoch Loop : The main training loop begins, iterating up to
the maximum number of epochs.
Chunking : Within each epoch, the dataset is loaded chunk
by chunk to manage memory usage.
Structure Batching : The training structures within a chunk
are grouped into batches.
Feature Calculation : For each structure batch, atomic
features (symmetry functions) are computed.
Batch Training : The core training logic is invoked for each
batch via train_4g_atomic_charges_structure_batch. This
involves forward and backward passes, loss calculation, and
optimizer updates.
Optimizer Updates : After each epoch, optimizer
hyperparameters (like learning rates) are updated.
Cost Evaluation : At regular intervals the models' performance is
evaluated on both the training and test sets by calling
output_files_and_cost_4g_charges. The results are printed to
standard output and optionally predicted values to separate files.
Finalization : Information about the best performing epoch
is written to file.
The charge equilibration (QEq) method relies on solving a system of linear
equations for each structure, which can be expressed as A * q = b, where
q is the vector of unknown atomic charges. The matrix A, often called
the Coulomb matrix, depends on the atomic geometry and the chemical
hardness of each atom. Solving this system by inverting A at every
training step is computationally expensive, especially for large structures.
To significantly accelerate training, this routine leverages a
TrainingChargeEquilibrator object (qeq_solvers). The key idea is to
pre-calculate the geometry-dependent part of the Coulomb matrix and its
inverse before the main training loop begins. This is handled by the
precalc_coulomb_matrix_all_chunks routine.
There are two main scenarios affecting performance:
Fixed Hardness : When atomic hardness values are kept constant
(i.e., not trained), the entire Coulomb matrix A is constant for a
given structure. In this case, its inverse A⁻¹ can be computed just
once. Charge calculation then becomes a very fast matrix-vector
multiplication (q = A⁻¹ * b). Passing the pre-initialized
qeq_solvers object is therefore highly recommended for optimal
performance.
Trained Hardness : When atomic hardness values are trained,
they change at each training step. The hardnesses
appear on the diagonal of the Coulomb matrix A. Consequently, A
and its inverse change. However, by pre-calculating the
geometry-dependent off-diagonal elements, we still save considerable
computation. The TrainingChargeEquilibrator object can efficiently
update the diagonal and re-invert the matrix, which is much faster
than rebuilding it from scratch every time.
If the optional qeq_solvers argument is not provided, the routine
will construct and invert the Coulomb matrix on-the-fly for each
structure within the training loop. This is highly inefficient and will
lead to a significant slowdown of the training process. It is therefore
strongly advised to ensure sufficient RAM is available to pre-calculate
and store these matrices for the entire dataset, which requires the data
to be loaded in a single chunk.
Arguments
data_loader :
class (FileDataLoader ) [inout]– An initialized `FileDataLoader` with an attached data source. Prior
to calling this routine, the dataloader should have collected
statistical information about the attached data source and read
all reference properties. It can already contain an allocated
`structures` array.
models :
type (ModelPtr ) (dim: (:,:)) [inout]– The list of all initialized models. Multiple committee members may
be specified for each model. Even though only a subset of these models
may be trained, we pass on the full list of models
to reuse our generic prediction routines.
Dimension (num_committee_members, num_models).
feature_calculators :
type (FeatureCalculator ) (dim: (:)) [inout]– List of initialized feature calculators for all `models`. Feature
calculators must already contain fully initialized `Elements` objects
with feature map definitions. If enough memory is available, all
features and feature derivatives should be precomputed before calling
this routine (better OpenMP parallelization). This routine only
evaluates the feature calculators once for each structure batch and
frees the memory after the optimizer update.
cutoff_functions :
type (CutoffFunctionPtr ) (dim: (:)) [inout]– The globally declared list of cutoff functions for calculating
neighbor lists.
ids_train_test :
integer (dim: (:,:)) [in]– The global indices of the training and test set across all chunks and
processes.
Dimension: maxval(num_samples_train_test, dim = 1), 2
num_samples_train_test :
integer (dim: (:)) [in]– The number of train and test samples. This must be the number of
entries in the first dimension of `ids_train_test`.
optimizers :
type (OptimizerPtr ) (dim: (:,:)) [inout]– The optimizers for all `models` that are supposed to be trained.
One separate optimizer must be given for each committee member.
Note that the number of optimizer may be larger than the number of
models themselves, as models can have submodels (like atomic NNs)
that each have separate optimizers.
results_pred :
type (DatasetStorage ) (dim: (:)) [inout]– Initialized `DatasetStorage` for storing the calculated property
values for all atoms. This is used for RMSE calculation and writing
output files (`results_pred` stores values across chunks).
loss_functions :
type (LossFunctionPtr ) (dim: (:)) [in]– All loss functions that are required by the given `optimizers`. Each
optimizer keeps track of its corresponding loss function.
cost_functions :
type (LossFunctionPtr ) (dim: (:)) [in]– All cost functions that shall be used for reporting cost values
after each epoch
qeq_solvers :
type (TrainingChargeEquilibrator ) (dim: (:)) [inout]– One TrainingQEq object for each structure on this process. If the
calculators are given, they must have already been initialized for
all structures on this process. As we use `structure%id_on_process`
to access the object we need for a given update step, it only makes
sense to pass this object when there is only a single chunk. Upon
initialization, the `TrainingChargeEquilibrator` calculates the
Coulomb matrix for a structure and inverts it. Based on this,
charge equilibration comes down to a simple matrix vector multiplication,
which is very efficient. However, this only works as long as the
hardness values do not change (because they appear on the diagonal
of the Coulomb matrix). When the hardness is trained, we reinvert
the Coulomb matrix each time a new update for a strucure is requested.
Nevertheless, we still save the recomputation of the Coulomb matrix
(which is the expensive step, the matrix inversion is rather cheap
for reasonably sized training structures).
If the object is not given, we will initialize it on the fly
one structure at a time, calculate and invert eh Coulomb matrix and
use this to calculate charges. This is, however, highly inefficient,
so you should try your best to buy enough RAM so we can precompute
the A matrix in advance for the entire dataset.
file_coul_mat :
type (DataCont ) [inout]– If Coulomb matrices are parsed from file into `qeq_solvers`, the
corresponding `DataCont` object is required. We will read values
once per structure batch.
Called By
proc~~train_loop_4g_charges~~CalledByGraph
proc~train_loop_4g_charges
mod_train_loop_4g_charges::train_loop_4g_charges
proc~train_mode
mod_train_mode::train_mode
proc~train_mode->proc~train_loop_4g_charges
program~runner
RuNNer
program~runner->proc~train_mode
Nodes of different colours represent the following:
Graph Key
Subroutine
Subroutine
Function
Function
Interface
Interface
Type Bound Procedure
Type Bound Procedure
Unknown Procedure Type
Unknown Procedure Type
Program
Program
This Page's Entity
This Page's Entity
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.
subroutine initialize_cost_calculator_4g_charge
subroutine initialize_cost_calculator_4g_charge ( & cost_functions, & optimal_epoch_property, & cost_calculator &)
Initializes the CostCalculator for 4G charge training.
This helper subroutine sets up the CostCalculator object with
parameters specific to training atomic charges. It defines the
property to be tracked ('charge'), its corresponding label for
output ('Atomic charges'), its unit ('me', milli-electron), and
the conversion factor from atomic units (1000.0). It also
identifies which property should be monitored for determining the
optimal epoch based on user settings.
Arguments
cost_functions :
type (LossFunctionPtr ) (dim: (:)) [in]– The cost functions (e.g., RMSE) to be used for reporting.
optimal_epoch_property :
character [in]– The name of the property to monitor for finding the best epoch.
cost_calculator :
type (CostCalculator ) [out]– The `CostCalculator` object to be initialized.
Called By
proc~~initialize_cost_calculator_4g_charge~~CalledByGraph
proc~initialize_cost_calculator_4g_charge
mod_train_loop_4g_charges::initialize_cost_calculator_4g_charge
proc~train_loop_4g_charges
mod_train_loop_4g_charges::train_loop_4g_charges
proc~train_loop_4g_charges->proc~initialize_cost_calculator_4g_charge
proc~train_mode
mod_train_mode::train_mode
proc~train_mode->proc~train_loop_4g_charges
program~runner
RuNNer
program~runner->proc~train_mode
Nodes of different colours represent the following:
Graph Key
Subroutine
Subroutine
Function
Function
Interface
Interface
Type Bound Procedure
Type Bound Procedure
Unknown Procedure Type
Unknown Procedure Type
Program
Program
This Page's Entity
This Page's Entity
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.