Provides a clean interface for computing energies and forces that can be used by optimization algorithms, MD integrators, and MC samplers
Compute energy and forces for current geometry This is the main interface for optimization/dynamics codes
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(system_geometry_t), | intent(inout) | :: | sys_geom | |||
| type(driver_config_t), | intent(in) | :: | driver_config | |||
| type(resources_t), | intent(in) | :: | resources | |||
| real(kind=dp), | intent(out) | :: | energy | |||
| real(kind=dp), | intent(out), | optional | :: | gradient(:,:) |
(3, total_atoms) |
|
| real(kind=dp), | intent(out), | optional | :: | hessian(:,:) |
(3total_atoms, 3total_atoms) |
|
| type(bond_t), | intent(in), | optional | :: | bonds(:) |
Synchronize geometry coordinates from master rank to all worker ranks This is needed when master rank updates coordinates for optimization/dynamics
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(system_geometry_t), | intent(inout) | :: | sys_geom | |||
| type(comm_t), | intent(in) | :: | comm |