mod_abstract_property_list
Lines: 151 |
Visibility: private
Dependencies
Uses
module~~mod_abstract_property_list~~UsesGraph
module~mod_abstract_property_list
mod_abstract_property_list
module~mod_dynamic_int_array
mod_dynamic_int_array
module~mod_abstract_property_list->module~mod_dynamic_int_array
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_mpi
mod_mpi
module~mod_abstract_property_list->module~mod_mpi
module~mod_optional_args
mod_optional_args
module~mod_abstract_property_list->module~mod_optional_args
module~mod_string
mod_string
module~mod_abstract_property_list->module~mod_string
module~mod_throw
mod_throw
module~mod_abstract_property_list->module~mod_throw
module~mod_dynamic_int_array_2d->module~mod_mpi
module~mod_dynamic_string_array->module~mod_string
module~mod_precision
mod_precision
module~mod_mpi->module~mod_precision
mpi_f08
mpi_f08
module~mod_mpi->mpi_f08
module~mod_string->module~mod_precision
module~mod_throw->module~mod_mpi
iso_c_binding
iso_c_binding
module~mod_throw->iso_c_binding
iso_fortran_env
iso_fortran_env
module~mod_throw->iso_fortran_env
module~mod_io
mod_io
module~mod_throw->module~mod_io
module~mod_throw->module~mod_precision
module~mod_sort
mod_sort
module~mod_throw->module~mod_sort
module~mod_io->module~mod_optional_args
module~mod_io->iso_fortran_env
module~mod_io->module~mod_precision
module~mod_precision->iso_c_binding
module~mod_precision->iso_fortran_env
module~mod_sort->module~mod_precision
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_abstract_property_list~~UsedByGraph
module~mod_abstract_property_list
mod_abstract_property_list
module~mod_initialize
mod_initialize
module~mod_initialize->module~mod_abstract_property_list
module~mod_dataset_storage
mod_dataset_storage
module~mod_initialize->module~mod_dataset_storage
module~mod_two_body
mod_two_body
module~mod_initialize->module~mod_two_body
module~mod_storage_container
mod_storage_container
module~mod_storage_container->module~mod_abstract_property_list
module~mod_dataset_storage->module~mod_storage_container
module~mod_predict_mode
mod_predict_mode
module~mod_predict_mode->module~mod_initialize
module~mod_predict_mode->module~mod_dataset_storage
module~mod_write_outfiles
mod_write_outfiles
module~mod_predict_mode->module~mod_write_outfiles
module~mod_predict_multiple_structures
mod_predict_multiple_structures
module~mod_predict_mode->module~mod_predict_multiple_structures
module~mod_predict_mode->module~mod_two_body
module~mod_dataloader_file
mod_dataloader_file
module~mod_predict_mode->module~mod_dataloader_file
module~mod_runner_interface_bindings
mod_runner_interface_bindings
module~mod_runner_interface_bindings->module~mod_initialize
module~mod_runner_interface_bindings->module~mod_two_body
module~mod_runner_interface
mod_runner_interface
module~mod_runner_interface_bindings->module~mod_runner_interface
module~mod_sum_out
mod_sum_out
module~mod_sum_out->module~mod_storage_container
module~mod_train_energy_multiple_structures
mod_train_energy_multiple_structures
module~mod_train_energy_multiple_structures->module~mod_initialize
module~mod_train_energy_multiple_structures->module~mod_dataset_storage
module~mod_train_forces_multiple_structures
mod_train_forces_multiple_structures
module~mod_train_forces_multiple_structures->module~mod_initialize
module~mod_train_forces_multiple_structures->module~mod_dataset_storage
module~mod_train_forces_multiple_structures->module~mod_train_energy_multiple_structures
module~mod_train_loop_4g_charges
mod_train_loop_4g_charges
module~mod_train_loop_4g_charges->module~mod_initialize
module~mod_train_loop_4g_charges->module~mod_dataset_storage
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_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_4g_charges->module~mod_dataloader_file
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_loop_atomic_property
mod_train_loop_atomic_property
module~mod_train_loop_atomic_property->module~mod_initialize
module~mod_train_loop_atomic_property->module~mod_dataset_storage
module~mod_train_loop_atomic_property->module~mod_cost_calculator
module~mod_train_loop_atomic_property->module~mod_cost_epoch
module~mod_output_files_and_cost
mod_output_files_and_cost
module~mod_train_loop_atomic_property->module~mod_output_files_and_cost
module~mod_train_loop_atomic_property->module~mod_dataloader_file
module~mod_train_loop_short_range
mod_train_loop_short_range
module~mod_train_loop_short_range->module~mod_initialize
module~mod_train_loop_short_range->module~mod_dataset_storage
module~mod_train_loop_short_range->module~mod_train_energy_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_train_loop_short_range->module~mod_cost_epoch
module~mod_train_loop_short_range->module~mod_output_files_and_cost
module~mod_output_files_and_cost_4g_short_range
mod_output_files_and_cost_4g_short_range
module~mod_train_loop_short_range->module~mod_output_files_and_cost_4g_short_range
module~mod_predict_qeq_feature_calculator_multiple_structures
mod_predict_qeq_feature_calculator_multiple_structures
module~mod_train_loop_short_range->module~mod_predict_qeq_feature_calculator_multiple_structures
module~mod_train_loop_short_range->module~mod_dataloader_file
module~mod_predict_ee4g_feature_calculator_multiple_structures
mod_predict_ee4g_feature_calculator_multiple_structures
module~mod_train_loop_short_range->module~mod_predict_ee4g_feature_calculator_multiple_structures
module~mod_train_mode
mod_train_mode
module~mod_train_mode->module~mod_initialize
module~mod_train_mode->module~mod_dataset_storage
module~mod_train_mode->module~mod_train_loop_4g_charges
module~mod_train_mode->module~mod_train_loop_atomic_property
module~mod_train_mode->module~mod_train_loop_short_range
module~mod_train_mode->module~mod_cost_epoch
module~mod_dataset_statistics
mod_dataset_statistics
module~mod_train_mode->module~mod_dataset_statistics
module~mod_predict_4g_charges_training_qeq_multiple_structures
mod_predict_4g_charges_training_qeq_multiple_structures
module~mod_train_mode->module~mod_predict_4g_charges_training_qeq_multiple_structures
module~mod_predict_all_chunks
mod_predict_all_chunks
module~mod_train_mode->module~mod_predict_all_chunks
module~mod_train_mode->module~mod_predict_qeq_feature_calculator_multiple_structures
module~mod_train_test_split
mod_train_test_split
module~mod_train_mode->module~mod_train_test_split
module~mod_train_mode->module~mod_two_body
module~mod_write_outfiles_training
mod_write_outfiles_training
module~mod_train_mode->module~mod_write_outfiles_training
module~mod_train_mode->module~mod_dataloader_file
module~mod_dataset_statistics_chi_all_chunks
mod_dataset_statistics_chi_all_chunks
module~mod_train_mode->module~mod_dataset_statistics_chi_all_chunks
module~mod_feature_map_scaling_all_chunks
mod_feature_map_scaling_all_chunks
module~mod_train_mode->module~mod_feature_map_scaling_all_chunks
module~mod_precalc_coulomb_matrix_all_chunks
mod_precalc_coulomb_matrix_all_chunks
module~mod_train_mode->module~mod_precalc_coulomb_matrix_all_chunks
module~mod_precalc_nl_deriv_features_single_chunk
mod_precalc_nl_deriv_features_single_chunk
module~mod_train_mode->module~mod_precalc_nl_deriv_features_single_chunk
module~mod_train_mode->module~mod_predict_ee4g_feature_calculator_multiple_structures
module~mod_write_outfiles->module~mod_initialize
module~mod_write_outfiles->module~mod_dataset_storage
module~mod_write_outfiles->module~mod_sum_out
program~runner
RuNNer
program~runner->module~mod_initialize
program~runner->module~mod_predict_mode
program~runner->module~mod_train_mode
program~runner->module~mod_two_body
program~runner->module~mod_dataloader_file
module~mod_inputdata
mod_inputdata
program~runner->module~mod_inputdata
module~mod_precompute_features_all_chunks
mod_precompute_features_all_chunks
program~runner->module~mod_precompute_features_all_chunks
module~mod_precompute_global_features_all_chunks
mod_precompute_global_features_all_chunks
program~runner->module~mod_precompute_global_features_all_chunks
module~mod_calculate_coulomb_matrix
mod_calculate_coulomb_matrix
program~runner->module~mod_calculate_coulomb_matrix
module~mod_abstract_structure_data_file
mod_abstract_structure_data_file
module~mod_abstract_structure_data_file->module~mod_dataset_storage
module~mod_cost_calculator->module~mod_dataset_storage
module~mod_cost_calculator->module~mod_cost_epoch
module~mod_cost_calculator->module~mod_write_outfiles_training
module~mod_cost_calculator->module~mod_dataloader_file
module~mod_cost_epoch->module~mod_dataset_storage
module~mod_dataset_statistics->module~mod_dataset_storage
module~mod_dataset_statistics->module~mod_dataloader_file
module~mod_lammps_interface
mod_lammps_interface
module~mod_lammps_interface->module~mod_runner_interface_bindings
module~mod_lammps_interface->module~mod_runner_interface
module~mod_output_files_and_cost->module~mod_dataset_storage
module~mod_output_files_and_cost->module~mod_cost_calculator
module~mod_output_files_and_cost->module~mod_predict_multiple_structures
module~mod_output_files_and_cost->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_cost_calculator
module~mod_output_files_and_cost_4g_charges->module~mod_predict_4g_charges_training_qeq_multiple_structures
module~mod_output_files_and_cost_4g_charges->module~mod_dataloader_file
module~mod_output_files_and_cost_4g_short_range->module~mod_dataset_storage
module~mod_output_files_and_cost_4g_short_range->module~mod_cost_calculator
module~mod_predict_4g_short_range_training_qeq_multiple_structures
mod_predict_4g_short_range_training_qeq_multiple_structures
module~mod_output_files_and_cost_4g_short_range->module~mod_predict_4g_short_range_training_qeq_multiple_structures
module~mod_output_files_and_cost_4g_short_range->module~mod_predict_qeq_feature_calculator_multiple_structures
module~mod_output_files_and_cost_4g_short_range->module~mod_dataloader_file
module~mod_post_processing_wrapper_single_structure
mod_post_processing_wrapper_single_structure
module~mod_post_processing_wrapper_single_structure->module~mod_dataset_storage
module~mod_store_atomic_property_single_structure
mod_store_atomic_property_single_structure
module~mod_post_processing_wrapper_single_structure->module~mod_store_atomic_property_single_structure
module~mod_post_processing_wrapper_single_structure->module~mod_two_body
module~mod_predict_4g_charges_training_qeq_multiple_structures->module~mod_dataset_storage
module~mod_predict_4g_short_range_training_qeq_multiple_structures->module~mod_dataset_storage
module~mod_predict_all_chunks->module~mod_dataset_storage
module~mod_predict_all_chunks->module~mod_predict_multiple_structures
module~mod_predict_all_chunks->module~mod_two_body
module~mod_predict_all_chunks->module~mod_dataloader_file
module~mod_predict_multiple_structures->module~mod_dataset_storage
module~mod_predict_multiple_structures->module~mod_post_processing_wrapper_single_structure
module~mod_predict_multiple_structures->module~mod_store_atomic_property_single_structure
module~mod_predict_multiple_structures->module~mod_two_body
module~mod_predict_qeq_feature_calculator_multiple_structures->module~mod_dataset_storage
module~mod_predict_qeq_feature_calculator_multiple_structures->module~mod_dataloader_file
module~mod_store_atomic_property_single_structure->module~mod_dataset_storage
module~mod_train_test_split->module~mod_dataset_storage
module~mod_train_test_split->module~mod_cost_epoch
module~mod_two_body->module~mod_dataset_storage
module~mod_two_body->module~mod_dataloader_file
module~mod_write_outfiles_training->module~mod_dataset_storage
module~mod_write_outfiles_training->module~mod_write_outfiles
module~mod_write_outfiles_training->module~mod_cost_epoch
module~mod_dataloader_file->module~mod_abstract_structure_data_file
module~mod_dataset_statistics_chi_all_chunks->module~mod_cost_epoch
module~mod_dataset_statistics_chi_all_chunks->module~mod_dataset_statistics
module~mod_dataset_statistics_chi_all_chunks->module~mod_dataloader_file
module~mod_feature_map_scaling_all_chunks->module~mod_cost_epoch
module~mod_feature_map_scaling_all_chunks->module~mod_dataloader_file
module~mod_feature_map_scaling_all_chunks->module~mod_precalc_nl_deriv_features_single_chunk
module~mod_inputdata->module~mod_abstract_structure_data_file
module~mod_precalc_coulomb_matrix_all_chunks->module~mod_predict_4g_charges_training_qeq_multiple_structures
module~mod_precalc_coulomb_matrix_all_chunks->module~mod_dataloader_file
module~mod_precompute_features_all_chunks->module~mod_train_test_split
module~mod_precompute_features_all_chunks->module~mod_dataloader_file
module~mod_precompute_global_features_all_chunks->module~mod_predict_qeq_feature_calculator_multiple_structures
module~mod_precompute_global_features_all_chunks->module~mod_dataloader_file
module~mod_precompute_global_features_all_chunks->module~mod_predict_ee4g_feature_calculator_multiple_structures
module~mod_predict_single_structure
mod_predict_single_structure
module~mod_predict_single_structure->module~mod_post_processing_wrapper_single_structure
module~mod_predict_single_structure->module~mod_two_body
module~mod_runner_interface->module~mod_two_body
module~mod_calculate_coulomb_matrix->module~mod_dataloader_file
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_precalc_nl_deriv_features_single_chunk->module~mod_dataloader_file
module~mod_predict_ee4g_feature_calculator_multiple_structures->module~mod_dataloader_file
module~mod_train_4g_atomic_charges_structure_batch->module~mod_dataloader_file
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.
Derived Types Summary
Name
Description
AbstractPropertyList
Parent object for PropertyLists. A PropertyList object contains an arbitrary number of...
Procedures Summary
Name
Type
Description
prepare_initialization
Subroutine
Initialize temporary dynamic arrays to prepare the object for add_property calls.
add_property
Subroutine
Add information about a property that shall be stored to this object. Called during...
name2idx
Subroutine
Get the index of the property with the given name.
tag2idx
Subroutine
Get the index of all properties with a given tag.
Derived Types Details
type AbstractPropertyList
Parent object for PropertyLists.
A PropertyList object contains an arbitrary number of properties of
a given type (currently integer or real). In this context, one property
is e.g. the ID of a structure (integer property of length 1) or the force
components of an atom (real property of length 3 (x, y and z)).
Child classes should implement a props array, its type being a child
class of AbstractFlatData. For example, PropertyListInt contains a
props array of type FlatDataInt. These AbstractFlatData descendants
contains the actual data array which is of an intrinsic type.
This class does most of the heavy lifting for converting names and tags
to the indices in the props array. The relevant routines for this are:
- name2idx: find out the index of a property with given name in the
props array.
- tag2idx: find out the index of all properties that have the given tag.
These routines also demonstrate that there are two ways to store data
in a PropertyList object: by name or by tag. However, converting a name
to an index is costly (findloc call), so the preferred way is to convert
the necessary names to indices once early in the program, and then
directly index into the props array.
Components
Type-Bound Procedures
Name
Attributes
Binding
initialize
public
⇒ initialize
name2idx_child
public
⇒ name2idx_child
has_tag
public
⇒ has_tag
rewind
public
⇒ rewind
collect
public
⇒ collect
sort
public
⇒ sort
freeze
public
⇒ freeze
prepare_initialization
public
⇒ prepare_initialization
add_property
public
⇒ add_property
name2idx
public
⇒ name2idx
tag2idx
public
⇒ tag2idx
Inherits
type~~abstractpropertylist~~InheritsGraph
type~abstractpropertylist
AbstractPropertyList
type~dynamicintarray
DynamicIntArray
type~abstractpropertylist->type~dynamicintarray
init_length, init_write_idx
type~dynamicintarray2d
DynamicIntArray2D
type~abstractpropertylist->type~dynamicintarray2d
init_tags
type~dynamicstringarray
DynamicStringArray
type~abstractpropertylist->type~dynamicstringarray
init_names, init_write_labels
type~string
String
type~dynamicstringarray->type~string
data
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.
Procedure Details
subroutine prepare_initialization
subroutine prepare_initialization ( & self &)
Initialize temporary dynamic arrays to prepare the object for add_property
calls.
Arguments
subroutine add_property
subroutine add_property ( & self, & name, & write_labels, & length, & tags, & write_idx &)
Add information about a property that shall be stored to this object.
Called during initialization only. prepare_initialization must be
called before the first call to this subroutine or it will fail.
Every property which should be stored in the PropertyList object after
initialization is done, must be added during initialization using this
routine. For each property that is added, one FlatData object is created
in the props array of the PropertyList object.
Arguments
self :
class (AbstractPropertyList ) [inout]
name :
character [in]– Name of the future property.
write_labels :
type (String ) (dim: (:)) [in]– If given, this must be an array of length `length`, meaning there must
be one header per column that might be dumped to a file later on.
Default is using the name as the header for each column.
length :
integer [in]– How many values are stored per entry in the array.
This is the first dimension of the `data` array of the `FlatData` object.
For example, it would be 1 for the atomic charge, 3 for the forces,
or 9 for the energy strain derivative (if stored as a flat vector).
Default is 1.
tags :
integer (dim: (:)) [in]– If given, a list of tags that this property can be searched by later.
Use `tag2idx` to get the indices of all properties with a given tag.
write_idx :
integer [in]– If given, the location of the property per row during writing to a file.
Default is -1, indicating automatic sorting.
subroutine name2idx
subroutine name2idx ( & self, & name, & prop_idx, & allow_failure &)
Get the index of the property with the given name.
Arguments
self :
class (AbstractPropertyList ) [in]
name :
character [in]– Name of the property which should be searched.
prop_idx :
integer [out]– The index that was found.
allow_failure :
logical [in]– If True, we do not throw an exception if the name is not present.
In this case the calling routine should implement some form of error
handling. `prop_idx` will be 0 if the name is not found.
subroutine tag2idx
subroutine tag2idx ( & self, & tag, & indices, & linvert &)
Get the index of all properties with a given tag.
Arguments
self :
class (AbstractPropertyList ) [in]
tag :
integer [in]– Tag to search for.
indices :
integer (dim: (:)) [out]– The index of all properties carrying this tag in the `props` array.
linvert :
logical [in]– If True, we return the index of all properties _without_ that tag.