mod_runner_interface¶
Type and routines that can be used to interface RuNNer with other programs. author: Knut Nikolas Lausch, Gunnar Schmitz, Moritz R. Schaefer
Dependencies¶
Module Variables¶
-
runner_interface: type(RuNNerInterface)
Derived Types Summary¶
| Name | Description |
|---|---|
RuNNerInterface |
Procedures Summary¶
| Name | Type | Description |
|---|---|---|
reallocate_interface |
Subroutine | |
reinitialize_electrostatics_interface |
Subroutine | This should only be called on MPI process with rank 0. |
runner_interface_check_init |
Subroutine |
Derived Types Details¶
type RuNNerInterface¶
Components
-
max_cutoff: real(DP) -
models: type(ModelPtr) (dim: (:,:))– The models for the RuNNer interface. The first dimension is the number of committee members per distinct model. The second dimension is the number of distinct models. -
cutoff_functions: type(CutoffFunctionPtr) (dim: (:)) -
feature_calculators: type(FeatureCalculator) (dim: (:)) -
vdw_calc: type(HirshfeldVdwCalculator) -
two_body_calc: type(TwoBodyCalculator) -
elec_calc: class(AbstractElectrostaticsCalculator) -
qeq_solver: class(AbstractChargeEquilibrator) -
num_fc: integer(CINT)– number of cutoff functions -
struct: type(Structure)– Structure of current timestep -
neighbor_lists: type(FeatureMapNeighborList) (dim: (:))– Neighbor lists for `struct`. -
l_initialized: logical(CBOOL)– Whether this interface has been successfully initialized. -
l_structure: logical(CBOOL)– true if structure is set -
l_neighbor_lists: logical(CBOOL)– true if neighbor lists of structure are calculated -
num_atoms: integer -
num_local_atoms: integer -
num_atoms_global: integer -
max_num_neighbors: integer -
settings: type(Settings) -
num_models: integer -
max_num_output_properties: integer– The maximum number of output properties provided by any model. Stored for (re)allocating the atomic_properties array and its derivative. -
max_num_features: integer– The maximum number of features provided by any feature calculator. Stored for (re)allocating the d_atomic_properties_d_features array. -
max_num_global_features: integer -
cflength: real(DP)– length conversion factor to Bohr only used in lammps_interface -
cfenergy: real(DP)– energy conversion factor to Hartree only used in lammps_interface -
atom_energies: real(DP) (dim: (MAX_ELEM_NUM))– energy offset -
id_on_process_atoms: integer (dim: (:)) -
model_indices: integer (dim: (:)) -
atomic_properties: real(DP) (dim: (:,:,:,:))– The values of the atomic properties of all models for all local atoms. Dimension (num_local_atoms, max_num_output_properties, num_committee_members, num_models) -
d_atomic_properties_d_features: real(DP) (dim: (:,:,:,:,:))– The gradients of all atomic properties of all models for all local atoms in `struct` with respect to the xyz coordinates of the neighboring atoms. Dimension (max_num_features, num_local_atoms, max_num_output_properties, num_committee_members, num_models) -
atomic_charges: real(DP) (dim: (:,:))– Holds the atomic charges calculated by the QEq solver. Dimension(num_atoms, num_committee_members) -
l_atomic_charges: logical(CBOOL) (dim: (:))– Holds information whether charges are already stored for a committee member to be used as initial guess Dimension(num_committee_members) -
atomic_hardness: real(DP) (dim: (:,:))– Holds the atomic charges calculated by the QEq solver. Dimension(num_atoms, num_committee_members) -
ee4g_calc: type(EE4GFeatureCalculator) (dim: (:)) -
qeq_feat_stats: type(GlobalFeatureStatistics) (dim: (:)) -
ee4g_scaled_partial: real(DP) -
ee4g_de_dv: real(DP)
Type-Bound Procedures
| Name | Attributes | Binding |
|---|---|---|
| check_init | public | ⇒ runner_interface_check_init |
| reallocate | public | ⇒ reallocate_interface |
| reinitialize_electrostatics | public | ⇒ reinitialize_electrostatics_interface |
Inherits
Procedure Details¶
subroutine reallocate_interface¶
subroutine reallocate_interface( &
self &
)
Arguments
-
self: class(RuNNerInterface) [inout]
Called By
subroutine reinitialize_electrostatics_interface¶
subroutine reinitialize_electrostatics_interface( &
self, &
num_atoms_global, &
pos_global, &
atomic_numbers_global &
)
This should only be called on MPI process with rank 0.
Arguments
-
self: class(RuNNerInterface) [inout] -
num_atoms_global: integer [in] -
pos_global: real(DP) (dim: (3,num_atoms_global)) [in] -
atomic_numbers_global: integer (dim: (num_atoms_global)) [in]
Called By
subroutine runner_interface_check_init¶
subroutine runner_interface_check_init( &
self &
)
Arguments
-
self: class(RuNNerInterface) [in]
Called By