set_gcp_work_partition Subroutine

public subroutine set_gcp_work_partition(verror, vgcp, part, nparts) bind(C, name=namespace//"set_gcp_work_partition")

Assign an externally managed part of the interaction loops to these parameters.

Parts are zero based, summing the results of all parts reproduces the complete calculation.

Arguments

Type IntentOptional Attributes Name
type(c_ptr), value :: verror
type(c_ptr), value :: vgcp
integer(kind=c_int), intent(in), value :: part
integer(kind=c_int), intent(in), value :: nparts

Source Code

subroutine set_gcp_work_partition(verror, vgcp, part, nparts) &
      & bind(C, name=namespace//"set_gcp_work_partition")
   type(c_ptr), value :: verror
   type(vp_error), pointer :: error
   type(c_ptr), value :: vgcp
   type(vp_gcp), pointer :: gcp
   integer(c_int), value, intent(in) :: part
   integer(c_int), value, intent(in) :: nparts

   if (.not.c_associated(verror)) return
   call c_f_pointer(verror, error)

   if (.not.c_associated(vgcp)) then
      call fatal_error(error%ptr, "Counter-poise parameters are missing")
      return
   end if
   call c_f_pointer(vgcp, gcp)

   call new_work_partition(error%ptr, gcp%partition, int(part), int(nparts))
end subroutine set_gcp_work_partition