Author Topic: Different mesh cut-off for analysis?  (Read 3841 times)

0 Members and 1 Guest are viewing this topic.

Offline ugglebot

  • Regular QuantumATK user
  • **
  • Posts: 22
  • Country: se
  • Reputation: 1
    • View Profile
Different mesh cut-off for analysis?
« on: November 27, 2009, 16:22 »
As far as I understand, ATK uses the mesh cut-off used in the calculation to determine the grid for electron density and other 3D quantities that we can compute in the post-scf analysis step.

However, sometimes I think it would be nice if one could specify a different mesh cut-off for e.g. Bloch functions. For instance, if I use a very small mesh cut-off for nanotubes, but I would like better resolution for the grids. Conversely, sometimes you need a very large mesh cut-off to converge the SCF loop, but then the grids take up too unnecessarily much memory.

So, the question is, how about we could specify a separate mesh cut-off for the 3D grids?

Offline Anders Blom

  • QuantumATK Staff
  • Supreme QuantumATK Wizard
  • *****
  • Posts: 5565
  • Country: dk
  • Reputation: 93
    • View Profile
    • QuantumATK at Synopsys
Re: Different mesh cut-off for analysis?
« Reply #1 on: November 27, 2009, 23:57 »
This is actually possible already in ATK 2008.10, but it's not obvious :) Once you have loaded the SCF object from a checkpoint file (or you just have it from the actual SCF run), you can overwrite its internal mesh cut-off specification to fool it into thinking it should a different one for the analysis. Here's how you set a new 50 Ry cut-off on the object "scf":
Code
import PyATK
ac = scf._SelfConsistentCalculation__attribute_container
ac2 = ac.getAttributeContainer('SetupAttributes')
ac2.setAttribute(PyATK.ValueAttributeDouble('MeshCutoff',50))
We can use this in a complete script (attached) to play around with a simple water molecule. I made 3 different "resolutions", 50, 100 and 350 Ry, you can see the result in the attached pictures.