QuantumATK Forum

QuantumATK => General Questions and Answers => Topic started by: Hasan Sahin on March 7, 2009, 19:24

Title: Isovalue in VNL
Post by: Hasan Sahin on March 7, 2009, 19:24
How and Why ATK set an isovalue when I plot Charge density or LDOS. I see that it chooses different default isovalues for different charge densities. Why doesnt it plots with same default parameters?
Title: Re: Isovalue in VNL
Post by: Anders Blom on March 7, 2009, 21:12
I'll be honest: I don't know how VNL chooses the default isovalue. But it doesn't really matter, since you are free to choose any isovalue you prefer for the plot :)
Title: Re: Isovalue in VNL
Post by: Hasan Sahin on March 8, 2009, 18:08
If VNL shows the "resulting" magnitude of Bloch wavefunctions, setting it to another isovalue may causes some paroblems. Magnitudes of the wavefunctions must be compared via the charge density plots.  If we plot charge densities for different modes with same iso value their magnitudes become same. So I think that vNL has a rule when it chooses a default iso value. What is the rule ???
Title: Re: Isovalue in VNL
Post by: Anders Blom on March 8, 2009, 18:31
I found the rule by inspecting the source code (guess we haven't touched that part of the source since the first release!). However, let me say up front, that the default choice is more or less arbitrary; there is no deeper thought behind it, and any other choice would have been just as good (or just as arbitrary). I'll explain more.

Still, the rule is simple: The default isovalue is (max-min)/6 where max and min are max/min of the data in the function to be plotted. A secondary rule is use if the tickbox "use absolute isovalue" is not ticked (the default is ticked), in which case min+(max-min)/3 is used.

So, now that is defined, let's ensure there are no misconceptions regarding the data that is plotted (this may be obvious to you, Hasan, and perhaps to everyone, but I find it better to be as clear and specific as possible).

To compute a Bloch function you specify the k-point and index n, and obtain the function Psi_{nk}(r). (Hope my pseudo-LaTeX is understandable.) This is a periodic complex function, defined for each point r=(x,y,z) in the unit cell, and normalized such that when we integrate it over the entire unit cell we get 1. Therefore, its unit is Ry^(-3/2).

When we plot the Bloch function as an isosurface, we pick a particular value u, and instruct the plotting engine to make a 3D surface which consists of all the points in space where |Psi_{nk}(r)|=u (I should double-check if it's |Psi|^2 or |Psi|).

The electron density, on the other hand, is, essentially, a sum of all occupied Bloch states. It has the same unit, seemingly (Ry^{3/2}), but really there is a unit of charge involved too. Integrating the electron density over the unit cell gives the total number of electrons in the unit cell. This integration is replaced by a sum over the k-points used in the calculation (e.g. 3x3x3 = 27 points), each of which also has a weight factor.

So, I think under any circumstance you have to account for the number of electrons and weight factors when you compare the Bloch function to the electron density. Also note that you can plot the Bloch function for any state {nk}, not just the 27 ones used in the calculation. Also note that just because a particular Bloch function has a particular magnitude in a particular point doesn't mean there is any electron density; it also depends on whether the state is occupied or not (and again, the state enters weighted into the sum/integral).

I have a feeling I did not quite understand your question :) But I figured with the above as background, we could discuss the matter more concretely.
Title: Re: Isovalue in VNL
Post by: Hasan Sahin on March 8, 2009, 18:45
Hi Anders,

I'll think a little more about Bloch wave function, charge density and isovalue. Explanation will be useful,  thank for your time. 
Title: Re: Isovalue in VNL
Post by: Nayab Shiraz on March 24, 2020, 15:30
Hi

Can you please explain how to select isovalue for electron density visualization? and what does isovalue signify?
From what I understand electron density is a function of three spatial variables and hence a 3D sphere, each isovalue represents the surface of constant radius on that sphere. Please correct me if I am wrong here.
Title: Re: Isovalue in VNL
Post by: Petr Khomyakov on March 24, 2020, 19:49
Isovalue surface is a surface where the value of a particular quantity (e.g., electron density) is constant (which is given by isovalue).