nwchemgit / nwchem

NWChem: Open Source High-Performance Computational Chemistry
http://nwchemgit.github.io
Other
481 stars 160 forks source link

Missing atoms in the .cube files #949

Open alexvakimov opened 4 months ago

alexvakimov commented 4 months ago

Describe the bug Atoms are missing in the .cube file generated by the PSPW code snap1

Orbital isosurface seem to be represented correctly though snap2

Also, when periodic images are added in VMD, atoms seem to be translated to the nearly-identical positions (overlaps) - see one of the screenshots. Screenshot 2024-02-14 092223

Describe settings used NWChem v7.2.2, Linux operating system Please see the attached "out" file for more details

Attach log files please see attached files.zip

To Reproduce

  1. sbatch submit.slm
  2. visualize with VMD The SLURM submit.slm file and the NWChem input file input.nw are attached.

Expected behavior All atoms of the unit cell of NaCl are expected to appear, but some are missing;

alexvakimov commented 4 months ago

A bit more analysis into this - checking that the lat_a, lat_b, lat_c might be in a.u. by default (as suggested by @edoapra in email), so setting them all to 10.658 a.u. = 5.64 Angstrom, leads to a pretty expanded structure. I use the VDW rendering in VMD, so expected to have a much more packed structure in this case. The box (as defined by the LimitXYZ) is the [0, 5.64] x[0, 5.64] x[0, 5.64] Angstrom (at least that's what I thought) - see the picture 1.

test1

So, trying the opposite - assume the lat_a, lat_b, and lat_c be actually in Angstrom, but LimitXYZ in a.u. - this leads to better results - the VDW spheres touch and the box is now of the appropriate shape:

test2

also, when the unit cell (both atoms and orbitals) are replicated in x,y,z directions in VMD - the picture makes sense now: test3

I think the number of atoms printed in the .cube file is reduced to prevent atom overlaps when translating them along the unit cell vectors, so in this regard it is not a bug or a problem.

However, it seems the LimitXYZ sub-section of the "DPLOT" input section is in a.u. by default, not in the Angstrom as the website suggests:

test4

ebylaska commented 4 months ago

You probably need to adjust increase the position tolerance since you're using the limitxyz option

position tolerance = 0.100000E-02

I'll check

ebylaska commented 4 months ago

or possibly the ncell option, e.g.

ncell = 0 0 0

position tolerance = 0.100000E-02

       origin=<   0.000   0.000   0.000 >
ebylaska commented 4 months ago

The position_tolerance didn't fixe the problem. I'll need to debug the code. I should be able to work on this tomorrow. Sorry for the glitch(s).