<div dir="ltr"><div><div>Hello,</div></div><div><br></div><div>We want add some additional printing of the effective Hirshfeld volume of atoms in the Module/tsvdw.f90 during CP dynamics. The printing needs to be done at every iprint step in a file named prefix.hrs. We have this already coded locally in 5.0.2 version where we have the tsvdw.90 in the CPV/src only. We want to merge that part of the code in the trunk version. Problem is that we have used the nfi variable from CPV/src/mainvar.f90 to control the printing. Is it alright to use nfi variable from CPV and update the make.depend accordingly. Or can it be done in a different may be simpler way. We would like to add the following + lines.</div><div><br></div><div><br></div><div><div>--- a/Modules/tsvdw.f90</div><div>+++ b/Modules/tsvdw.f90</div><div>@@ -19,6 +19,7 @@ USE cell_base,          ONLY: ainv               !h^-1 matrix for converting bet</div><div> USE cell_base,          ONLY: omega              !cell volume (in au^3)</div><div> USE constants,          ONLY: pi                 !pi in double-precision</div><div> USE control_flags,      ONLY: lwfpbe0            !if .TRUE. then PBE0 calculation using Wannier orbitals is turned on ... BS </div><div>+USE control_flags,      ONLY: iprint             !print control in .hrs file</div><div>+USE cp_main_variables,  ONLY: nfi                !md step index</div><div>+USE io_global,          ONLY: ionode             !logical for I/O node</div><div> USE fft_base,           ONLY: dffts              !FFT derived data type</div><div> USE fft_base,           ONLY: dfftp              !FFT derived data type </div><div> USE funct,              ONLY: get_iexch          !retrieves type of exchange utilized in functional</div><div>@@ -1313,7 +1314,7 @@ PRIVATE :: GetVdWParam</div><div>   !</div><div>   ! Local variables</div><div>   !</div><div>-  INTEGER :: ia,iq,off1</div><div>+  INTEGER :: ia,iq,off1,iunit</div><div>   REAL(DP) :: normr</div><div>   !</div><div>   CALL start_clock('tsvdw_veff')</div><div>@@ -1369,6 +1370,43 @@ PRIVATE :: GetVdWParam</div><div>   !</div><div>   CALL mp_sum(veff,intra_image_comm)</div><div>   !</div><div>+  !BS: print effective Hirshfeld volume of each atom at every iprint steps in .hirsh file ..    </div><div>+  !</div><div>+  IF ((MOD(nfi,iprint).EQ.0)) THEN</div><div>+    !   </div><div>+    IF (ionode) THEN</div><div>+      !   </div><div>+      iunit=printout_base_unit("hrs")</div><div>+      CALL printout_base_open("hrs")</div><div>+      !   </div><div>+      IF (.NOT.tcpbo) THEN</div><div>+        !</div><div>+        WRITE(iunit,'(I8,F16.8)')nfi,tps</div><div>+        !</div><div>+        DO ia=1,nat</div><div>+          WRITE(iunit,'(3X,F20.14)')veff(ia)</div><div>+        END DO    </div><div>+        !</div><div>+      ELSE   </div><div>+        !</div><div>+        IF (conv_elec) THEN</div><div>+          !  </div><div>+          WRITE(iunit,'(I8,f16.8)')nfi,tps</div><div>+          !</div><div>+          DO ia=1,nat</div><div>+            WRITE(iunit,'(3X,F20.14)')veff(ia)</div><div>+          END DO    </div><div>+          !  </div><div>+        END IF  </div><div>+        !</div><div>+      END IF    </div><div>+      !   </div><div>+      CALL printout_base_close("hrs")</div><div>+      !   </div><div>+    END IF    </div><div>+    !   </div><div>+  END IF    </div><div>+  !</div><div>   CALL stop_clock('tsvdw_veff')</div><div>   !</div><div>   RETURN</div></div><div><br></div><div>Thanks & best wishes,</div><div>Biswajit</div><div><br></div><div><br></div>
</div>