<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">
Dear Developers,
<div class=""><span style="text-indent: -42.66666793823242px;" class=""><br class="">
</span></div>
<div class=""><span style="text-indent: -42.66666793823242px;" class="">I am working on the code to make the calculation of the Hartree potential a bit more clean and code independent (PW vs CP). It may not be very useful per se, but it may help to reduce the
 cyclic dependencies of Environ. </span></div>
<div class=""><span style="text-indent: -42.66666793823242px;" class=""><br class="">
</span></div>
<div class=""><span style="text-indent: -42.66666793823242px;" class="">Having said this, while looking at the current version of the code I realized that there is a new feature related to the electrostatic interactions and the pbc corrections, the Coulomb
 Cutoff 2D. I double checked the formulas, and it seems to me that they are the same of the Martyna-Tuckermann approach in 2D (</span><span style="text-indent: -32pt;" class="">Mináry, P.; Tuckerman, M. E.; Pihakari, K. a.; Martyna, G. J. A New Reciprocal
 Space Based Treatment of Long Range Interactions on Surfaces. </span><i style="text-indent: -32pt;" class="">J. Chem. Phys.</i><span style="text-indent: -32pt;" class="">
</span><b style="text-indent: -32pt;" class="">2002</b><span style="text-indent: -32pt;" class="">,
</span><i style="text-indent: -32pt;" class="">116</i><span style="text-indent: -32pt;" class=""> (13), 5351.), when an appropriate smoothing is added to avoid the cusp at the boundary, similar to what is done in the 0D Martyna-Tuckermann implementation in
 PW (the additional </span>factor exp(-tpiba2*gg(:)*beta/4._dp)**2 in wg_corr )</div>
<div class=""><span style="text-indent: -32pt;" class=""><br class="">
</span></div>
<div class=""><span style="text-indent: -32pt;" class="">Apart from the stress subroutines, which are totally new and very useful, the other subroutines in the </span>Coul_cut_2D.f90 module can be merged inside the martyna-tuckermann.f90 module with very little
 changes. As a matter of fact, I did it already a few years ago, but did not submit it because I struggled -and failed- to make the 1D case work. My impression is that one just needs to change the way the wg_corr(ig) coefficients are computed, which for the
 2D case would be something like</div>
<div class=""><br class="">
</div>
<div class="">
<div class="">     axis = at(3,3) * alat</div>
<div class="">     DO ig =1, ngm</div>
<div class="">       q2 = gg(ig)*tpiba2 </div>
<div class="">       IF (q2>1.e-6_dp) THEN</div>
<div class="">         gxy = SQRT(g(1,ig)**2 + g(2,ig)**2) </div>
<div class="">         wg_corr(ig) = - COS( 0.5D0 * g(3,ig) * tpiba * axis ) * &</div>
<div class="">                     & EXP( -0.5D0 * gxy * tpiba * axis ) * &</div>
<div class="">                     & fpi / q2</div>
<div class="">       ELSE</div>
<div class="">         wg_corr(ig) = 0.D0</div>
<div class="">       END IF</div>
<div class="">    END DO</div>
<div class="">    wg_corr(:) =  wg_corr(:) * exp(-tpiba2*gg(:)*beta/4._dp)**2</div>
<div class="">    if (gamma_only) wg_corr(gstart:ngm) = 2.d0 * wg_corr(gstart:ngm)</div>
</div>
<div class=""><br class="">
</div>
<div class="">I think having the two correction schemes with a more uniform implementation would be desirable. In particular, I find the implementation of the MT approach to be very clean and compact, I would actually suggest to move it to Modules, the only
 dependencies that forbid this are in a subroutines to print out debug stuff, which could be easily commented out. </div>
<div class=""><br class="">
</div>
<div class="">If the developers of this new feature want to fix this by themselves, I would not mind at all. Otherwise, if there are strong opinions on why the Coulomb Cutoff 2D should be implemented in a totally different way from the MT approach, despite
 being both G-space-based corrections, please let me know. At least we should change the capitalization of the module’s name, it is really hArd tO looK At. </div>
<div class=""><br class="">
</div>
<div class="">Best, </div>
<div class=""><br class="">
<div class="">
<div style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none;">
Oliviero Andreussi<br class="">
--<br class="">
Assistant Professor<br class="">
Department of Physics<br class="">
University of North Texas<br class="">
<a href="mailto:oliviero.andreussi@unt.edu" class="">Email: oliviero.andreussi@unt.edu</a> <br class="">
Skype: olivieroandreussi<br class="">
Web: <a href="https://sites.google.com/site/olivieroandreussi" class="">https://sites.google.com/site/olivieroandreussi</a></div>
</div>
<br class="">
</div>
</body>
</html>