@brief Effective core potential gradient
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(information), | intent(inout), | target | :: | infos | ||
type(basis_set), | intent(inout) | :: | basis | |||
real(kind=dp), | intent(in), | contiguous | :: | coord(:,:) | ||
real(kind=dp), | intent(inout) | :: | denab(:) | |||
real(kind=dp) | :: | de(:,:) | ||||
real(kind=dp), | optional | :: | logtol |
subroutine grad_1e_ecp(infos,basis, coord, denab, de, logtol) use types, only: information use parallel, only: par_env_t type(information), target, intent(inout) :: infos type(par_env_t) :: pe REAL(kind=dp), INTENT(INOUT) :: denab(:) type(basis_set), intent(inout) :: basis real(kind=dp), contiguous, intent(in) :: coord(:,:) REAL(kind=dp) :: de(:,:) REAL(kind=dp), optional :: logtol call pe%init(infos%mpiinfo%comm, infos%mpiinfo%usempi) if (pe%rank == 0) then call add_ecpder(basis, coord, denab, de) end if call pe%bcast(de, size(de)) end subroutine grad_1e_ecp