diff --git a/plugins/Bk/dressing.irp.f b/plugins/Bk/dressing.irp.f index d0e7c2d3..721a7554 100644 --- a/plugins/Bk/dressing.irp.f +++ b/plugins/Bk/dressing.irp.f @@ -64,4 +64,3 @@ subroutine dress_with_alpha_buffer(Nstates,Ndet,Nint,delta_ij_loc, i_gen, minili end subroutine - diff --git a/plugins/Bk/extra_functions.irp.f b/plugins/Bk/extra_functions.irp.f new file mode 100644 index 00000000..f6d196be --- /dev/null +++ b/plugins/Bk/extra_functions.irp.f @@ -0,0 +1,58 @@ + BEGIN_PROVIDER [ integer, N_dress_int_buffer ] +&BEGIN_PROVIDER [ integer, N_dress_double_buffer ] +&BEGIN_PROVIDER [ integer, N_dress_det_buffer ] + implicit none + N_dress_int_buffer = 1 + N_dress_double_buffer = 1 + N_dress_det_buffer = 1 +END_PROVIDER + + + +subroutine delta_ij_done() + BEGIN_DOC + ! This subroutine is executed on the master when the dressing has been computed, + ! before the diagonalization. + END_DOC +end + +subroutine dress_pulled(ind, int_buf, double_buf, det_buf, N_buf) + use bitmasks + implicit none + BEGIN_DOC + ! Dress the contributions pulled from the slave. + END_DOC + + integer, intent(in) :: ind, N_buf(3) + integer, intent(in) :: int_buf(*) + double precision, intent(in) :: double_buf(*) + integer(bit_kind), intent(in) :: det_buf(N_int,2,*) +end + +subroutine generator_start(i_gen, iproc) + implicit none + BEGIN_DOC + ! This subroutine is executed on the slave before computing the contribution of a generator. + END_DOC + + integer, intent(in) :: i_gen, iproc + integer :: i +end + +subroutine generator_done(i_gen, int_buf, double_buf, det_buf, N_buf, iproc) + implicit none + BEGIN_DOC + ! This subroutine is executed on the slave after computing the contribution of a generator. + END_DOC + integer, intent(in) :: i_gen, iproc + integer, intent(out) :: int_buf(N_dress_int_buffer), N_buf(3) + double precision, intent(out) :: double_buf(N_dress_double_buffer) + integer(bit_kind), intent(out) :: det_buf(N_int, 2, N_dress_det_buffer) + N_buf(:) = 1 + int_buf(:) = 0 + double_buf(:) = 0.d0 + det_buf(:,:,:) = 0 +end + + + diff --git a/plugins/dress_zmq/extra_functions.irp.f.example b/plugins/dress_zmq/extra_functions.irp.f.example new file mode 100644 index 00000000..f6d196be --- /dev/null +++ b/plugins/dress_zmq/extra_functions.irp.f.example @@ -0,0 +1,58 @@ + BEGIN_PROVIDER [ integer, N_dress_int_buffer ] +&BEGIN_PROVIDER [ integer, N_dress_double_buffer ] +&BEGIN_PROVIDER [ integer, N_dress_det_buffer ] + implicit none + N_dress_int_buffer = 1 + N_dress_double_buffer = 1 + N_dress_det_buffer = 1 +END_PROVIDER + + + +subroutine delta_ij_done() + BEGIN_DOC + ! This subroutine is executed on the master when the dressing has been computed, + ! before the diagonalization. + END_DOC +end + +subroutine dress_pulled(ind, int_buf, double_buf, det_buf, N_buf) + use bitmasks + implicit none + BEGIN_DOC + ! Dress the contributions pulled from the slave. + END_DOC + + integer, intent(in) :: ind, N_buf(3) + integer, intent(in) :: int_buf(*) + double precision, intent(in) :: double_buf(*) + integer(bit_kind), intent(in) :: det_buf(N_int,2,*) +end + +subroutine generator_start(i_gen, iproc) + implicit none + BEGIN_DOC + ! This subroutine is executed on the slave before computing the contribution of a generator. + END_DOC + + integer, intent(in) :: i_gen, iproc + integer :: i +end + +subroutine generator_done(i_gen, int_buf, double_buf, det_buf, N_buf, iproc) + implicit none + BEGIN_DOC + ! This subroutine is executed on the slave after computing the contribution of a generator. + END_DOC + integer, intent(in) :: i_gen, iproc + integer, intent(out) :: int_buf(N_dress_int_buffer), N_buf(3) + double precision, intent(out) :: double_buf(N_dress_double_buffer) + integer(bit_kind), intent(out) :: det_buf(N_int, 2, N_dress_det_buffer) + N_buf(:) = 1 + int_buf(:) = 0 + double_buf(:) = 0.d0 + det_buf(:,:,:) = 0 +end + + +