mod_ee4g_feature_calculator
Lines: 261 |
Visibility: private
Implements the ee4GFeatureCalculator
Author: Moritz R. Schaefer
Dependencies
Uses
module~~mod_ee4g_feature_calculator~~UsesGraph
module~mod_ee4g_feature_calculator
mod_ee4g_feature_calculator
module~mod_constants
mod_constants
module~mod_ee4g_feature_calculator->module~mod_constants
module~mod_feature_map_neighborlist
mod_feature_map_neighborlist
module~mod_ee4g_feature_calculator->module~mod_feature_map_neighborlist
module~mod_global_feature_calculator
mod_global_feature_calculator
module~mod_ee4g_feature_calculator->module~mod_global_feature_calculator
module~mod_inputnn
mod_inputnn
module~mod_ee4g_feature_calculator->module~mod_inputnn
module~mod_io
mod_io
module~mod_ee4g_feature_calculator->module~mod_io
module~mod_outer_product
mod_outer_product
module~mod_ee4g_feature_calculator->module~mod_outer_product
module~mod_path
mod_path
module~mod_ee4g_feature_calculator->module~mod_path
module~mod_periodic_table
mod_periodic_table
module~mod_ee4g_feature_calculator->module~mod_periodic_table
module~mod_precision
mod_precision
module~mod_ee4g_feature_calculator->module~mod_precision
module~mod_settings
mod_settings
module~mod_ee4g_feature_calculator->module~mod_settings
module~mod_sort
mod_sort
module~mod_ee4g_feature_calculator->module~mod_sort
module~mod_structures
mod_structures
module~mod_ee4g_feature_calculator->module~mod_structures
module~mod_throw
mod_throw
module~mod_ee4g_feature_calculator->module~mod_throw
module~mod_constants->module~mod_precision
iso_c_binding
iso_c_binding
module~mod_constants->iso_c_binding
module~mod_feature_map_neighborlist->module~mod_constants
module~mod_feature_map_neighborlist->module~mod_io
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_abstract_cutoff_function
mod_abstract_cutoff_function
module~mod_feature_map_neighborlist->module~mod_abstract_cutoff_function
module~mod_mpi
mod_mpi
module~mod_feature_map_neighborlist->module~mod_mpi
module~mod_neighborlist
mod_neighborlist
module~mod_feature_map_neighborlist->module~mod_neighborlist
module~mod_timer
mod_timer
module~mod_feature_map_neighborlist->module~mod_timer
module~mod_global_feature_calculator->module~mod_io
module~mod_global_feature_calculator->module~mod_periodic_table
module~mod_global_feature_calculator->module~mod_precision
module~mod_global_feature_calculator->module~mod_structures
module~mod_global_feature_calculator->module~mod_throw
module~mod_data_container
mod_data_container
module~mod_global_feature_calculator->module~mod_data_container
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_optional_args
mod_optional_args
module~mod_global_feature_calculator->module~mod_optional_args
module~mod_statistics_container
mod_statistics_container
module~mod_global_feature_calculator->module~mod_statistics_container
module~mod_training_charge_equilibration
mod_training_charge_equilibration
module~mod_global_feature_calculator->module~mod_training_charge_equilibration
module~mod_inputnn->module~mod_io
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_inputnn->module~mod_mpi
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_outer_product->module~mod_precision
module~mod_linalg
mod_linalg
module~mod_outer_product->module~mod_linalg
module~mod_path->module~mod_io
module~mod_periodic_table->module~mod_constants
module~mod_periodic_table->module~mod_io
module~mod_periodic_table->module~mod_precision
module~mod_periodic_table->module~mod_throw
module~mod_array_helpers
mod_array_helpers
module~mod_periodic_table->module~mod_array_helpers
module~mod_precision->iso_c_binding
module~mod_precision->iso_fortran_env
module~mod_settings->module~mod_constants
module~mod_settings->module~mod_io
module~mod_settings->module~mod_periodic_table
module~mod_settings->module~mod_precision
module~mod_settings->module~mod_throw
module~mod_cpu_vendor
mod_cpu_vendor
module~mod_settings->module~mod_cpu_vendor
module~mod_sort->module~mod_precision
module~mod_structures->module~mod_constants
module~mod_structures->module~mod_periodic_table
module~mod_structures->module~mod_precision
module~mod_structures->module~mod_throw
module~mod_structures->module~mod_array_helpers
module~mod_structures->module~mod_linalg
module~mod_structures->module~mod_mpi
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_precision
module~mod_throw->module~mod_sort
module~mod_throw->iso_c_binding
module~mod_throw->iso_fortran_env
module~mod_throw->module~mod_mpi
module~mod_abstract_broadcast_file->module~mod_io
module~mod_abstract_broadcast_file->module~mod_throw
module~mod_abstract_broadcast_file->module~mod_mpi
module~mod_genericfile
mod_genericfile
module~mod_abstract_broadcast_file->module~mod_genericfile
module~mod_sanitize
mod_sanitize
module~mod_abstract_broadcast_file->module~mod_sanitize
module~mod_abstract_cutoff_function->module~mod_precision
module~mod_array_helpers->module~mod_precision
module~mod_array_helpers->module~mod_throw
module~mod_cpu_vendor->iso_c_binding
module~mod_data_container->module~mod_io
module~mod_data_container->module~mod_precision
module~mod_data_container->module~mod_throw
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_periodic_table
module~mod_global_feature_statistics->module~mod_precision
module~mod_global_feature_statistics->module~mod_throw
module~mod_global_feature_statistics->module~mod_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_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_mpi->module~mod_precision
mpi_f08
mpi_f08
module~mod_mpi->mpi_f08
module~mod_neighborlist->module~mod_io
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_mpi
module~mod_dynamic_double_array
mod_dynamic_double_array
module~mod_neighborlist->module~mod_dynamic_double_array
module~mod_dynamic_int_array
mod_dynamic_int_array
module~mod_neighborlist->module~mod_dynamic_int_array
module~mod_neighbor_grid
mod_neighbor_grid
module~mod_neighborlist->module~mod_neighbor_grid
module~mod_neighborlist_helper
mod_neighborlist_helper
module~mod_neighborlist->module~mod_neighborlist_helper
module~mod_statistics_container->module~mod_constants
module~mod_statistics_container->module~mod_io
module~mod_statistics_container->module~mod_periodic_table
module~mod_statistics_container->module~mod_precision
module~mod_statistics_container->module~mod_throw
module~mod_statistics_container->module~mod_mpi
module~mod_table
mod_table
module~mod_statistics_container->module~mod_table
module~mod_structures_helper->module~mod_precision
module~mod_structures_helper->module~mod_linalg
module~mod_timer->module~mod_io
module~mod_timer->module~mod_precision
module~mod_timer->module~mod_throw
module~mod_timer->module~mod_optional_args
ieee_arithmetic
ieee_arithmetic
module~mod_timer->ieee_arithmetic
module~mod_training_charge_equilibration->module~mod_precision
module~mod_training_charge_equilibration->module~mod_structures
module~mod_training_charge_equilibration->module~mod_data_container
module~mod_training_charge_equilibration->module~mod_linalg
module~mod_training_charge_equilibration->module~mod_optional_args
module~mod_abstract_electrostatics
mod_abstract_electrostatics
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_ewald_summation
mod_ewald_summation
module~mod_training_charge_equilibration->module~mod_ewald_summation
module~mod_pair_electrostatics
mod_pair_electrostatics
module~mod_training_charge_equilibration->module~mod_pair_electrostatics
module~cublas_wrapper->module~mod_settings
module~cublas_wrapper->iso_c_binding
module~mod_abstract_electrostatics->module~mod_precision
module~mod_abstract_electrostatics->module~mod_structures
module~mod_cross_matrix->module~mod_precision
module~mod_cross_matrix->module~mod_linalg
module~mod_dynamic_double_array->module~mod_precision
module~mod_dynamic_double_array->module~mod_throw
module~mod_ewald_summation->module~mod_constants
module~mod_ewald_summation->module~mod_outer_product
module~mod_ewald_summation->module~mod_precision
module~mod_ewald_summation->module~mod_linalg
module~mod_ewald_summation->module~mod_abstract_electrostatics
module~mod_ewald_summation->module~mod_neighbor_grid
module~mod_ewald_summation->module~mod_neighborlist_helper
module~mod_ewald_summation->module~mod_pair_electrostatics
module~mod_genericfile->module~mod_io
module~mod_genericfile->module~mod_throw
module~mod_genericfile->module~mod_mpi
module~mod_neighbor_grid->module~mod_precision
module~mod_neighbor_grid->module~mod_mpi
module~mod_neighbor_grid->module~mod_structures_helper
module~mod_neighbor_grid->module~mod_dynamic_int_array
module~mod_neighbor_grid->module~mod_neighborlist_helper
module~mod_neighborlist_helper->module~mod_precision
module~mod_neighborlist_helper->module~mod_linalg
module~mod_neighborlist_helper->module~mod_mpi
module~mod_pair_electrostatics->module~mod_constants
module~mod_pair_electrostatics->module~mod_precision
module~mod_pair_electrostatics->module~mod_throw
module~mod_pair_electrostatics->module~mod_abstract_electrostatics
module~mod_sanitize->module~mod_throw
module~mod_statisticsfile->module~mod_abstract_broadcast_file
module~mod_statisticsfile->module~mod_mpi
module~mod_statisticsfile->module~mod_statistics_container
module~mod_table->module~mod_io
module~mod_table->module~mod_precision
module~mod_table->module~mod_throw
module~mod_decorations
mod_decorations
module~mod_table->module~mod_decorations
module~mod_decorations->module~mod_io
module~mod_decorations->module~mod_precision
module~mod_decorations->module~mod_throw
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_ee4g_feature_calculator~~UsedByGraph
module~mod_ee4g_feature_calculator
mod_ee4g_feature_calculator
module~mod_evaluate_4g_single_structure
mod_evaluate_4g_single_structure
module~mod_evaluate_4g_single_structure->module~mod_ee4g_feature_calculator
module~mod_feature_map_scaling_all_chunks
mod_feature_map_scaling_all_chunks
module~mod_feature_map_scaling_all_chunks->module~mod_ee4g_feature_calculator
module~mod_initialize
mod_initialize
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_ee4g_feature_calculator
module~mod_predict_multiple_structures
mod_predict_multiple_structures
module~mod_output_files_and_cost->module~mod_predict_multiple_structures
module~mod_cost_calculator
mod_cost_calculator
module~mod_output_files_and_cost->module~mod_cost_calculator
module~mod_post_processing_4g_single_structure
mod_post_processing_4g_single_structure
module~mod_post_processing_4g_single_structure->module~mod_ee4g_feature_calculator
module~mod_post_processing_4g_single_structure->module~mod_evaluate_4g_single_structure
module~mod_post_processing_wrapper_single_structure
mod_post_processing_wrapper_single_structure
module~mod_post_processing_wrapper_single_structure->module~mod_ee4g_feature_calculator
module~mod_post_processing_wrapper_single_structure->module~mod_evaluate_4g_single_structure
module~mod_post_processing_wrapper_single_structure->module~mod_post_processing_4g_single_structure
module~mod_precompute_global_features_all_chunks
mod_precompute_global_features_all_chunks
module~mod_precompute_global_features_all_chunks->module~mod_ee4g_feature_calculator
module~mod_predict_ee4g_feature_calculator_multiple_structures
mod_predict_ee4g_feature_calculator_multiple_structures
module~mod_precompute_global_features_all_chunks->module~mod_predict_ee4g_feature_calculator_multiple_structures
module~mod_predict_ee4g_feature_calculator_multiple_structures->module~mod_ee4g_feature_calculator
module~mod_predict_mode
mod_predict_mode
module~mod_predict_mode->module~mod_ee4g_feature_calculator
module~mod_predict_mode->module~mod_initialize
module~mod_predict_mode->module~mod_predict_multiple_structures
module~mod_write_outfiles
mod_write_outfiles
module~mod_predict_mode->module~mod_write_outfiles
module~mod_predict_multiple_structures->module~mod_ee4g_feature_calculator
module~mod_predict_multiple_structures->module~mod_post_processing_wrapper_single_structure
module~mod_predict_single_structure
mod_predict_single_structure
module~mod_predict_single_structure->module~mod_ee4g_feature_calculator
module~mod_predict_single_structure->module~mod_post_processing_wrapper_single_structure
module~mod_runner_interface
mod_runner_interface
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_ee4g_feature_calculator
module~mod_train_loop_short_range->module~mod_initialize
module~mod_train_loop_short_range->module~mod_output_files_and_cost
module~mod_train_loop_short_range->module~mod_predict_ee4g_feature_calculator_multiple_structures
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_cost_calculator
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_train_mode
mod_train_mode
module~mod_train_mode->module~mod_ee4g_feature_calculator
module~mod_train_mode->module~mod_feature_map_scaling_all_chunks
module~mod_train_mode->module~mod_initialize
module~mod_train_mode->module~mod_predict_ee4g_feature_calculator_multiple_structures
module~mod_train_mode->module~mod_train_loop_short_range
module~mod_predict_all_chunks
mod_predict_all_chunks
module~mod_train_mode->module~mod_predict_all_chunks
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_write_outfiles_training
mod_write_outfiles_training
module~mod_train_mode->module~mod_write_outfiles_training
program~runner
RuNNer
program~runner->module~mod_ee4g_feature_calculator
program~runner->module~mod_initialize
program~runner->module~mod_precompute_global_features_all_chunks
program~runner->module~mod_predict_mode
program~runner->module~mod_train_mode
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_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_predict_all_chunks->module~mod_predict_multiple_structures
module~mod_runner_interface_bindings->module~mod_evaluate_4g_single_structure
module~mod_runner_interface_bindings->module~mod_initialize
module~mod_runner_interface_bindings->module~mod_runner_interface
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_cost_calculator
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_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_write_outfiles_training->module~mod_write_outfiles
module~mod_cost_calculator->module~mod_write_outfiles_training
module~mod_output_files_and_cost_4g_charges->module~mod_cost_calculator
module~mod_output_files_and_cost_4g_short_range->module~mod_cost_calculator
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.
Module Variables
EE4G_CHARGE_FILE_NAME :
character
EE4G_FEATURE_DERIVATIVE_FILE_NAME :
character
EE4G_SCALING_FILE_NAME :
character
EE4G_FEAT_NAME :
character – Constant for the name of the feature handled by the
`EE4GFeatureCalculator`.
TWO_OVER_SQRT_PI :
real (DP)
Derived Types Summary
Procedures Summary
Derived Types Details
type EE4GFeatureCalculator
Components
feat_name :
character – Name of the global feature map that is handled by this
`GlobalFeatureCalculator`.
– Inherited from GlobalFeatureCalculator
read_feature :
logical – Flag to indicate whether the global features should be read from
disk instead of being computed. Handled by the `evaluate` routine.
– Inherited from GlobalFeatureCalculator
read_feature_derivative :
logical – Flag to indicate whether the global feature derivatives should be read
from disk instead of being computed. Handled by the `evaluate` routine.
– Inherited from GlobalFeatureCalculator
computed_feature :
logical – Flag to indicate whether the global features have been computed/read
from disk. This is set to `.true.` after the `evaluate` routine has
been called and the global features have been computed or read from
disk.
– Inherited from GlobalFeatureCalculator
computed_feature_derivative :
logical – Flag to indicate whether the global feature derivatives have been
computed/read from disk. This is set to `.true.` after the `evaluate`
routine has been called and the global feature derivatives have been
computed or read from disk.
– Inherited from GlobalFeatureCalculator
atomic_numbers_set :
logical – Flag to indicate whether the atomic numbers have been set.
– Inherited from GlobalFeatureCalculator
use_old_scaling :
logical – Flag to indicate whether the old scaling method should be used.
– Inherited from GlobalFeatureCalculator
desc :
type (GlobalAtomicDescriptor ) (dim: (:))– Type which stores the global/extra features and their derivatives
for each structure.
Dimensions(num_global_feature_maps, num_structures).
– Inherited from GlobalFeatureCalculator
num_features :
integer – The number of global features per atom that at are stored/computed/read
by this type.
– Inherited from GlobalFeatureCalculator
statistics :
type (GlobalFeatureStatistics )– Type holding the scaling_factor and centering_subtrahend. It also
provides the necessary routines to compute, store, readn and write
the statistics.
– Inherited from GlobalFeatureCalculator
neighbor_list_idx :
integer
atomic_number_to_ielem :
integer (dim: (MAX_ELEM_NUM))
point_charges :
logical
atomic_numbers :
integer (dim: (:))
sqrt2_gamma :
real (DP) (dim: (:,:))
Type-Bound Procedures
Inherits
type~~ee4gfeaturecalculator~~InheritsGraph
type~ee4gfeaturecalculator
EE4GFeatureCalculator
type~globalfeaturecalculator
GlobalFeatureCalculator
type~ee4gfeaturecalculator->type~globalfeaturecalculator
type~globalatomicdescriptor
GlobalAtomicDescriptor
type~globalfeaturecalculator->type~globalatomicdescriptor
desc
type~globalfeaturestatistics
GlobalFeatureStatistics
type~globalfeaturecalculator->type~globalfeaturestatistics
statistics
type~statisticscontainer
StatisticsContainer
type~globalfeaturestatistics->type~statisticscontainer
statistics
Nodes of different colours represent the following:
Graph Key
Type
Type
This Page's Entity
This Page's Entity
Solid arrows point from a derived type to the parent type which it
extends. Dashed arrows point from a derived type to the other
types it contains as a components, with a label listing the name(s) of
said component(s).
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.
Inherited By
type~~ee4gfeaturecalculator~~InheritedByGraph
type~ee4gfeaturecalculator
EE4GFeatureCalculator
type~runnerinterface
RuNNerInterface
type~runnerinterface->type~ee4gfeaturecalculator
ee4g_calc
Nodes of different colours represent the following:
Graph Key
Type
Type
This Page's Entity
This Page's Entity
Solid arrows point from a derived type to the parent type which it
extends. Dashed arrows point from a derived type to the other
types it contains as a components, with a label listing the name(s) of
said component(s).
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.
Interface Details
interface EE4GFeatureCalculator
Procedure Details
function constructor_from_file
function constructor_from_file ( & lines, & id_committee, & num_committee_members, & atomic_numbers, & sigma &)
Arguments
lines :
character (dim: (:)) [in]
id_committee :
integer [in]
num_committee_members :
integer [in]
atomic_numbers :
integer (dim: (:)) [in]
sigma :
real (DP) (dim: (size(atomic_numbers))) [in]
Called By
proc~~constructor_from_file~~CalledByGraph
proc~constructor_from_file
mod_ee4g_feature_calculator::constructor_from_file
interface~ee4gfeaturecalculator
mod_ee4g_feature_calculator::EE4GFeatureCalculator
interface~ee4gfeaturecalculator->proc~constructor_from_file
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.
function v_over_qj
function v_over_qj ( & self, & nl, & ineigh, & iielem, & jjelem &)
Arguments
Called By
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 eval_ee4g_feature_calculator
subroutine eval_ee4g_feature_calculator ( & self, & calc_v, & calc_dv_dr, & struct, & idx_struct, & neighbor_lists, & q, & dq_dr &)
Note: this scales as O(N_atoms^2 * N_neighbors) due to the charge
derivatives which is quite expensive. However, this is only needed
during force training since we utilize the force-trick during
prediction. There might be room for optimizations here.
Arguments
self :
class (EE4GFeatureCalculator ) [inout]
calc_v :
logical [in]
calc_dv_dr :
logical [in]
struct :
type (Structure ) [in]
idx_struct :
integer [in]
neighbor_lists :
type (FeatureMapNeighborList ) (dim: (:)) [in]– Note: Distances stored are assumed to be non-zero
q :
real (DP) (dim: (struct%num_local_atoms)) [in]
dq_dr :
real (DP) (dim: (3,struct%num_atoms,struct%num_local_atoms)) [in]
Called By
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 calc_scaled_v_and_derivatives
subroutine calc_scaled_v_and_derivatives ( & self, & struct, & neighbor_lists, & q, & v, & v_scaled, & scaled_dv_dq_neigh, & scaled_partial_v_partial_r_neigh &)
Calc scaled feature values and their derivatives wrt the atomic charges.
Meant to be called during a prediction. It is necessary that the scaling
factor was already set/computed.
TODO: check if the compiler vectorizes this correctly.
Arguments
self :
class (EE4GFeatureCalculator ) [in]
struct :
type (Structure ) [in]
neighbor_lists :
type (FeatureMapNeighborList ) (dim: (:)) [in]
q :
real (DP) (dim: (struct%num_local_atoms)) [in]
v :
real (DP) (dim: (self%num_features,struct%num_local_atoms)) [out]– Electrostatically embedded atomic potentials (neither scaled nor centered).
v_scaled :
real (DP) (dim: (:,:)) [out]– Scaled and centered `v`, DIMENSION(num_features, num_local_atoms)
scaled_dv_dq_neigh :
real (DP) (dim: (:)) [out]
scaled_partial_v_partial_r_neigh :
real (DP) (dim: (:,:)) [out]– dimension(3, edges)
Called By
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 chain_de_dv_to_de_dq
subroutine chain_de_dv_to_de_dq ( & self, & struct, & neighbor_lists, & de_dv, & scaled_dv_dq_neigh, & de_dq &)
Arguments
self :
class (EE4GFeatureCalculator ) [in]
struct :
type (Structure ) [in]
neighbor_lists :
type (FeatureMapNeighborList ) (dim: (:)) [in]
de_dv :
real (DP) (dim: (self%num_features,struct%num_local_atoms)) [in]
scaled_dv_dq_neigh :
real (DP) (dim: (:)) [in]
de_dq :
real (DP) (dim: (struct%num_atoms)) [inout]
Called By
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 chain_de_dv_geom_to_forces
subroutine chain_de_dv_geom_to_forces ( & self, & struct, & neighbor_lists, & de_dv, & scaled_partial_v_partial_r_neigh, & do_forces, & do_stress, & forces, & de_dstrain &)
Arguments
self :
class (EE4GFeatureCalculator ) [in]
struct :
type (Structure ) [in]
neighbor_lists :
type (FeatureMapNeighborList ) (dim: (:)) [in]
de_dv :
real (DP) (dim: (self%num_features,struct%num_local_atoms)) [in]– w.r.t. *scaled* v
scaled_partial_v_partial_r_neigh :
real (DP) (dim: (:,:)) [in]
do_forces :
logical [in]
do_stress :
logical [in]
forces :
real (DP) (dim: (3,struct%num_atoms)) [inout]
de_dstrain :
real (DP) (dim: (3,3)) [inout]
Called By
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 geometric_contribution
subroutine geometric_contribution ( & self, & iielem, & ifeat, & xyz_rel, & dfc_dxyz_ineigh, & r_ij, & f_cut, & jat, & q_j, & phi, & partial_v_partial_r_neigh &)
Arguments
self :
class (EE4GFeatureCalculator ) [in]
iielem :
integer [in]
ifeat :
integer [in]
xyz_rel :
real (DP) [in]
dfc_dxyz_ineigh :
real (DP) [in]
r_ij :
real (DP) [in]
f_cut :
real (DP) [in]
jat :
integer [in]
q_j :
real (DP) [in]
phi :
real (DP) [out]
partial_v_partial_r_neigh :
real (DP) (dim: (3)) [out]
Called By
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.