Skip to content

Draft: Merge LayerPCM

Henri Menke requested to merge layer_pcm into main

Description

This merges the LayerPCM package developed by Jannis Krumland @jannisk93 as part of his thesis in collaboration with Gabriel Gil and Stefano Corni in the group of Caterina Cocchi at Uni Oldenburg.

LayerPCM is an extension of the existing PCM implementation in Octopus specifically developed to account for electrostatic interactions from layered substrates on physisorbed molecules.

The associated publication is

LayerPCM: An implicit scheme for dielectric screening from layered substrates
Jannis Krumland, Gabriel Gil, Stefano Corni, Caterina Cocchi
J. Chem. Phys. 154, 224114 (2021)
https://doi.org/10.1063/5.0050158
https://arxiv.org/abs/2103.07386

This package was also adopted in other investigations:

This is obviously not ready yet. There are a couple of points to address:

  • Currently both src/hamiltonian/lasers.F90 and src/hamiltonian/pcm.F90 pull in the entire src/hamiltonian/layer_pcm.F90 with a preprocessor #include and with some macros set to only select parts of that file. This should be solved in a different way.
  • There are no tests for the new functionality.
  • The upstream source contains a folder layerpcm_scripts. How relevant are these for the functioning of the feature?

News snippet

New package LayerPCM.

LayerPCM is an extension of the existing PCM implementation in Octopus specifically developed to account for electrostatic interactions from layered substrates on physisorbed molecules.

Checklist

  • I have checked that my code follows the Octopus coding standards
  • I have added tests for all the new features added in this request.
Edited by Henri Menke

Merge request reports