(git:21ef868)
Loading...
Searching...
No Matches
nnp_environment_types Module Reference

Data types for neural network potentials. More...

Data Types

type  nnp_acsf_ang_type
 Set of angular symmetry function type. More...
 
type  nnp_acsf_rad_type
 Set of radial symmetry function type. More...
 
type  nnp_arc_type
 Data type for artificial neural networks. More...
 
type  nnp_cell_list_cache_type
 Linked-cell + Verlet-skin cache for the NNP descriptor neighbour walk. Persisted across MD steps so the image pool, bin geometry, and reference positions survive between force evaluations and the head/next chain can be reused as long as no atom has drifted more than skin/2. Operated on by nnp_cell_list.F. More...
 
type  nnp_dgdr_grp_type
 Per-(element, SF-group) dG_k/dr buffer, sized to the group's n_symf (no max_*_symf padding) and the observed peak neighbour count for the group. Grown lazily (1.5x) so it settles at the true peak. More...
 
type  nnp_neigh_grp_type
 Per-SF-group dense neighbour container. cap is the allocated slab size; the live count is nnp_neighbor_typen_rad/n_ang1/n_ang2 for the matching group. ind(j) is the j-th neighbour's atom index; dist(1:3, j) is its displacement and dist(4, j) its norm. Sized lazily by nnp_neigh_grp_grow. More...
 
type  nnp_neighbor_interface_state_type
 Persistent neighbour-interface state. Owned by nnp_type so that the per-nnp pair-routing tables and per-element workspaces survive across MD steps without leaking between independent &NNP force_evals. Operated on by nnp_neighbor_interface.F. More...
 
type  nnp_neighbor_pair_map_type
 Species-pair routing table. For one (central element, neighbour element) pair, lists which radial / angular symmetry-function groups need that neighbour and the worst-case relevant cutoff. More...
 
type  nnp_neighbor_type
 Contains neighbors list of an atom (per-group dense layout). More...
 
type  nnp_neighbor_workspace_type
 Reusable per-element scratch / persistent caches for the ACSF descriptor and force assembly. See nnp_neighbor_interface for the routines that populate and grow these buffers. More...
 
type  nnp_symfgrp_type
 Symmetry functions group type. More...
 
type  nnp_type
 Main data type collecting all relevant data for neural network potentials. More...
 

Functions/Subroutines

subroutine, public nnp_env_release (nnp_env)
 Release data structure that holds all the information for neural network potentials.
 
subroutine, public nnp_cell_list_cache_release (cache)
 Free the allocatable parts of a cell-list cache. Co-located with the type definition to avoid creating a USE-cycle through nnp_cell_list.
 
subroutine, public nnp_neighbor_interface_state_release (state)
 Free the allocatable parts of a neighbour-interface state. Co-located with the type definition to avoid creating a USE-cycle through nnp_neighbor_interface.
 
subroutine, public nnp_env_get (nnp_env, nnp_forces, subsys, atomic_kind_set, particle_set, local_particles, molecule_kind_set, molecule_set, local_molecules, nnp_input, force_env_input, cell, cell_ref, use_ref_cell, nnp_potential_energy, virial)
 Returns various attributes of the nnp environment.
 
subroutine, public nnp_env_set (nnp_env, nnp_forces, subsys, atomic_kind_set, particle_set, local_particles, molecule_kind_set, molecule_set, local_molecules, nnp_input, force_env_input, cell, cell_ref, use_ref_cell, nnp_potential_energy)
 Sets various attributes of the nnp environment.
 

Variables

integer, parameter, public nnp_cut_cos = 1
 derived data types
 
integer, parameter, public nnp_cut_tanh = 2
 
integer, parameter, public nnp_actfnct_tanh = 1
 
integer, parameter, public nnp_actfnct_gaus = 2
 
integer, parameter, public nnp_actfnct_lin = 3
 
integer, parameter, public nnp_actfnct_cos = 4
 
integer, parameter, public nnp_actfnct_sig = 5
 
integer, parameter, public nnp_actfnct_invsig = 6
 
integer, parameter, public nnp_actfnct_exp = 7
 
integer, parameter, public nnp_actfnct_softplus = 8
 
integer, parameter, public nnp_actfnct_quad = 9
 

Detailed Description

Data types for neural network potentials.

Author
Christoph Schran (chris.nosp@m.toph.nosp@m..schr.nosp@m.an@r.nosp@m.ub.de)
Dhruv Sharma (ds217.nosp@m.3@ca.nosp@m.m.ac..nosp@m.uk)
Date
2020-10-10

Function/Subroutine Documentation

◆ nnp_env_release()

subroutine, public nnp_environment_types::nnp_env_release ( type(nnp_type), intent(inout)  nnp_env)

Release data structure that holds all the information for neural network potentials.

Parameters
nnp_env...
Date
2020-10-10
Author
Christoph Schran (chris.nosp@m.toph.nosp@m..schr.nosp@m.an@r.nosp@m.ub.de)

Definition at line 451 of file nnp_environment_types.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ nnp_cell_list_cache_release()

subroutine, public nnp_environment_types::nnp_cell_list_cache_release ( type(nnp_cell_list_cache_type), intent(inout)  cache)

Free the allocatable parts of a cell-list cache. Co-located with the type definition to avoid creating a USE-cycle through nnp_cell_list.

Parameters
cachecell-list cache whose allocatable image-pool and bin arrays are freed
Author
Dhruv Sharma (ds217.nosp@m.3@ca.nosp@m.m.ac..nosp@m.uk)

Definition at line 604 of file nnp_environment_types.F.

Here is the caller graph for this function:

◆ nnp_neighbor_interface_state_release()

subroutine, public nnp_environment_types::nnp_neighbor_interface_state_release ( type(nnp_neighbor_interface_state_type), intent(inout)  state)

Free the allocatable parts of a neighbour-interface state. Co-located with the type definition to avoid creating a USE-cycle through nnp_neighbor_interface.

Parameters
stateneighbour-interface state whose pair maps and per-element workspaces are freed
Author
Dhruv Sharma (ds217.nosp@m.3@ca.nosp@m.m.ac..nosp@m.uk)

Definition at line 627 of file nnp_environment_types.F.

Here is the caller graph for this function:

◆ nnp_env_get()

subroutine, public nnp_environment_types::nnp_env_get ( type(nnp_type), intent(in)  nnp_env,
real(kind=dp), dimension(:, :), optional, pointer  nnp_forces,
type(cp_subsys_type), optional, pointer  subsys,
type(atomic_kind_type), dimension(:), optional, pointer  atomic_kind_set,
type(particle_type), dimension(:), optional, pointer  particle_set,
type(distribution_1d_type), optional, pointer  local_particles,
type(molecule_kind_type), dimension(:), optional, pointer  molecule_kind_set,
type(molecule_type), dimension(:), optional, pointer  molecule_set,
type(distribution_1d_type), optional, pointer  local_molecules,
type(section_vals_type), optional, pointer  nnp_input,
type(section_vals_type), optional, pointer  force_env_input,
type(cell_type), optional, pointer  cell,
type(cell_type), optional, pointer  cell_ref,
logical, intent(out), optional  use_ref_cell,
real(kind=dp), intent(out), optional  nnp_potential_energy,
type(virial_type), optional, pointer  virial 
)

Returns various attributes of the nnp environment.

Parameters
nnp_env...
nnp_forces...
subsysthe particles, molecules,... of this environment
atomic_kind_setThe set of all atomic kinds involved
particle_setThe set of all particles
local_particlesAll particles on this particular node
molecule_kind_setThe set of all different molecule kinds involved
molecule_setThe set of all molecules
local_moleculesAll molecules on this particular node
nnp_input...
force_env_inputPointer to the force_env input section
cellThe simulation cell
cell_refThe reference simulation cell
use_ref_cellLogical which indicates if reference simulation cell is used
nnp_potential_energy...
virialDummy virial pointer
Date
2020-10-10
Author
Christoph Schran (chris.nosp@m.toph.nosp@m..schr.nosp@m.an@r.nosp@m.ub.de)
Note
For possible missing arguments see the attributes of nnp_type

Definition at line 756 of file nnp_environment_types.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ nnp_env_set()

subroutine, public nnp_environment_types::nnp_env_set ( type(nnp_type), intent(inout)  nnp_env,
real(kind=dp), dimension(:, :), optional, pointer  nnp_forces,
type(cp_subsys_type), optional, pointer  subsys,
type(atomic_kind_type), dimension(:), optional, pointer  atomic_kind_set,
type(particle_type), dimension(:), optional, pointer  particle_set,
type(distribution_1d_type), optional, pointer  local_particles,
type(molecule_kind_type), dimension(:), optional, pointer  molecule_kind_set,
type(molecule_type), dimension(:), optional, pointer  molecule_set,
type(distribution_1d_type), optional, pointer  local_molecules,
type(section_vals_type), optional, pointer  nnp_input,
type(section_vals_type), optional, pointer  force_env_input,
type(cell_type), optional, pointer  cell,
type(cell_type), optional, pointer  cell_ref,
logical, intent(in), optional  use_ref_cell,
real(kind=dp), intent(in), optional  nnp_potential_energy 
)

Sets various attributes of the nnp environment.

Parameters
nnp_env...
nnp_forces...
subsysthe particles, molecules,... of this environment
atomic_kind_setThe set of all atomic kinds involved
particle_setThe set of all particles
local_particlesAll particles on this particular node
molecule_kind_setThe set of all different molecule kinds involved
molecule_setThe set of all molecules
local_moleculesAll molecules on this particular node
nnp_input...
force_env_inputPointer to the force_env input section
cell...
cell_refThe reference simulation cell
use_ref_cellLogical which indicates if reference simulation cell is used
nnp_potential_energy...
Date
2020-10-10
Author
Christoph Schran (chris.nosp@m.toph.nosp@m..schr.nosp@m.an@r.nosp@m.ub.de)
Note
For possible missing arguments see the attributes of nnp_type

Definition at line 844 of file nnp_environment_types.F.

Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ nnp_cut_cos

integer, parameter, public nnp_environment_types::nnp_cut_cos = 1

derived data types

Definition at line 73 of file nnp_environment_types.F.

◆ nnp_cut_tanh

integer, parameter, public nnp_environment_types::nnp_cut_tanh = 2

Definition at line 73 of file nnp_environment_types.F.

◆ nnp_actfnct_tanh

integer, parameter, public nnp_environment_types::nnp_actfnct_tanh = 1

Definition at line 77 of file nnp_environment_types.F.

◆ nnp_actfnct_gaus

integer, parameter, public nnp_environment_types::nnp_actfnct_gaus = 2

Definition at line 77 of file nnp_environment_types.F.

◆ nnp_actfnct_lin

integer, parameter, public nnp_environment_types::nnp_actfnct_lin = 3

Definition at line 77 of file nnp_environment_types.F.

◆ nnp_actfnct_cos

integer, parameter, public nnp_environment_types::nnp_actfnct_cos = 4

Definition at line 77 of file nnp_environment_types.F.

◆ nnp_actfnct_sig

integer, parameter, public nnp_environment_types::nnp_actfnct_sig = 5

Definition at line 77 of file nnp_environment_types.F.

◆ nnp_actfnct_invsig

integer, parameter, public nnp_environment_types::nnp_actfnct_invsig = 6

Definition at line 77 of file nnp_environment_types.F.

◆ nnp_actfnct_exp

integer, parameter, public nnp_environment_types::nnp_actfnct_exp = 7

Definition at line 77 of file nnp_environment_types.F.

◆ nnp_actfnct_softplus

integer, parameter, public nnp_environment_types::nnp_actfnct_softplus = 8

Definition at line 77 of file nnp_environment_types.F.

◆ nnp_actfnct_quad

integer, parameter, public nnp_environment_types::nnp_actfnct_quad = 9

Definition at line 77 of file nnp_environment_types.F.