![]() |
(git:98357aa)
|
Methods dealing with Neural Network potentials. More...
Functions/Subroutines | |
| subroutine, public | nnp_calc_energy_force (nnp, calc_forces) |
| Calculate the energy and force for a given configuration with the NNP. | |
| subroutine, public | nnp_scatter_dgdr_to_forces (nnp, ind, i, denergydsym, force_xyz) |
| Scatter the per-neighbour dG/dr arrays held in the nnp_neighbor_workspace into a per-atom Cartesian force array. Three contributions per central atom i: 1) self: self_dGdr(:, m) -> force_xyz(:, i) 2) radial: walk neighborrad(s)ind(j), read dGdr_rad(s)data(:, sf, j) 3) angular: walk neighborang1(s)ind / ang2(s)ind, read dGdr_ang_jj/kk No global (n_sf, num_atoms) slab is touched. Reused by the helium-NNP coupling in helium_interactions. | |
Methods dealing with Neural Network potentials.
| subroutine, public nnp_force::nnp_calc_energy_force | ( | type(nnp_type), intent(inout), pointer | nnp, |
| logical, intent(in) | calc_forces | ||
| ) |
Calculate the energy and force for a given configuration with the NNP.
| nnp | ... |
| calc_forces | ... |
Definition at line 63 of file nnp_force.F.
| subroutine, public nnp_force::nnp_scatter_dgdr_to_forces | ( | type(nnp_type), intent(in) | nnp, |
| integer, intent(in) | ind, | ||
| integer, intent(in) | i, | ||
| real(kind=dp), dimension(:), intent(in) | denergydsym, | ||
| real(kind=dp), dimension(:, :), intent(inout) | force_xyz | ||
| ) |
Scatter the per-neighbour dG/dr arrays held in the nnp_neighbor_workspace into a per-atom Cartesian force array. Three contributions per central atom i: 1) self: self_dGdr(:, m) -> force_xyz(:, i) 2) radial: walk neighborrad(s)ind(j), read dGdr_rad(s)data(:, sf, j) 3) angular: walk neighborang1(s)ind / ang2(s)ind, read dGdr_ang_jj/kk No global (n_sf, num_atoms) slab is touched. Reused by the helium-NNP coupling in helium_interactions.
Precondition: nnp_calc_acsf(nnp, i, calc_forces=.TRUE.[, stress]) must have run for this same atom i immediately before; the per-element workspace it fills is overwritten on every ACSF call.
| nnp | ... |
| ind | central-atom element index |
| i | central atom index (absolute) |
| denergydsym | dE/dG_k for k = 1..n_input_nodes(ind) |
| force_xyz | (3, num_atoms) destination – accumulated, NOT overwritten |
Definition at line 716 of file nnp_force.F.