This thread is locked.Only browsing is available.
Top Page > Browsing
Present wf in real space
Date: 2014/05/17 20:45
Name: Artem Pulkin   <artem.pulkin@epfl.ch>

Dear Taisuke,

I would like to present a calculated wavefunction in real space. Is there any routine in openmx which does the job? Probably these kinds of routines are used in calculation of overlap coefficients? Can you give a hint?

Sincerely yours,

Artem Pulkin
メンテ
Page: [1]

Re: Present wf in real space ( No.1 )
Date: 2014/05/20 16:34
Name: T. Ozaki

Hi,

Cube files might suit your requirement.
Please loot at http://www.openmx-square.org/openmx_man3.7/node22.html

Regards,

TO
メンテ
Re: Present wf in real space ( No.2 )
Date: 2014/05/23 21:10
Name: Artem  <artem.pulkin@epfl.ch>

Hi,

In the reference you provided there is only electronic density and potentials on the real space grid, but nothing about KS wavefunctions. Also, my problem is a bit more general:

I have a wavefunction in the localized basis set (i.e. a vector of 1000 or so complex amplitudes). I would like to convert it to real space (i.e. multiply by PAOs and spherical functions). Is it the right way to do it?

I checked the format of PAO file and I really appreciate it's human-readable format. Could you please also clarify these questions:

PAO.Mul 15 <- Is this a number of PAOs for particular l? I.e. I can specify the basis set up to "p15" for example for l=1?

After "<pseudo.atomic.orbitals.L=0" the table of real numbers comes. One has 17 columns there, but the first two columns coincide with previous table "valence.charge.density".

What is the meaning of "valence.charge.density"?
Do the columns 3-17 represent radial part of PAOs?
What are the distances r_i for which the radial part of PAO are computed?
Do you have any documentation on the PAO files format?

Regards,

Artem
メンテ
Re: Present wf in real space ( No.3 )
Date: 2014/05/23 21:47
Name: T. Ozaki

Hi,

> In the reference you provided there is only electronic density and potentials on the real
> space grid, but nothing about KS wavefunctions

Cube files such as *.homo0_0.cube are available for the KS wave functions.
How to get the cube files can be found at the website
http://www.openmx-square.org/openmx_man3.7/node22.html
I would hope that you check it carefully.

> PAO.Mul 15 <- Is this a number of PAOs for particular l?

Yes it is.

> What is the meaning of "valence.charge.density"?

"valence.charge.density" means charge density of the valence electrons included
in the pseudopotential generation.

> Do the columns 3-17 represent radial part of PAOs?

Yes they do.

> What are the distances r_i for which the radial part of PAO are computed?

The first and second columns are radial grids "x" and "r", respectively, where r = exp(x).
The following 15 columns correspond to 15 PAOs.

> Do you have any documentation on the PAO files format?

Some of information can be found in the manual of ADPACK.
http://www.openmx-square.org/adpack_man2.2/node8.html

If you still have questions even after reading the manual, please post your questions.
I may be able to answer to them.

Regards,

TO
メンテ
Re: Present wf in real space ( No.4 )
Date: 2014/05/23 21:50
Name: Artem  <artem.pulkin@epfl.ch>

Dear Taisuke,

Thanks for a prompt answer. It seems like this part is clear for me and I will be able to proceed to visualization.

Artem
メンテ
Re: Present wf in real space ( No.5 )
Date: 2014/05/28 17:39
Name: Artem  <artem.pulkin@epfl.ch>

Dear Taisuke,

Is the index order in OpenMX following:

psi[spin, atom number, angular quantum number l, number of nodes in basis function, angular quantum number m] ?

Also I would very happy to know if the angular basis functions in OpenMX are real spherical harmonics and if they go in the order specified for example in Get_Orbitals.c? I.e. does the second index of "AF" specifies spherical harmonics in the same order they are specified in the Hamiltonian for example?

if (L0==0){
AF[0][0] = 0.282094791773878; //Y_00
}
else if (L0==1){
dum = 0.48860251190292*siQ;
AF[1][0] = dum*coP; //Y_1,1
AF[1][1] = dum*siP; //Y_1,-1
AF[1][2] = 0.48860251190292*coQ; //Y_10
}
else if (L0==2){
dum1 = siQ*siQ;
dum2 = 1.09254843059208*siQ*coQ;
AF[2][0] = 0.94617469575756*coQ*coQ - 0.31539156525252;
AF[2][1] = 0.54627421529604*dum1*(1.0 - 2.0*siP*siP);
AF[2][2] = 1.09254843059208*dum1*siP*coP;
AF[2][3] = dum2*coP;
AF[2][4] = dum2*siP;
}

else if (L0==3){
AF[3][0] = 0.373176332590116*(5.0*coQ*coQ*coQ - 3.0*coQ);
AF[3][1] = 0.457045799464466*coP*siQ*(5.0*coQ*coQ - 1.0);
AF[3][2] = 0.457045799464466*siP*siQ*(5.0*coQ*coQ - 1.0);
AF[3][3] = 1.44530572132028*siQ*siQ*coQ*(coP*coP-siP*siP);
AF[3][4] = 2.89061144264055*siQ*siQ*coQ*siP*coP;
AF[3][5] = 0.590043589926644*siQ*siQ*siQ*(4.0*coP*coP*coP - 3.0*coP);
AF[3][6] = 0.590043589926644*siQ*siQ*siQ*(3.0*siP - 4.0*siP*siP*siP);
}

The very last question is about Get_Orbitals.c and some other source files:

$ grep 0.94617469575756 *.c
AngularF.c: Y = 0.94617469575756*coQ*coQ - 0.31539156525252;
Get_Cnt_dOrbitals.c: AF[2][0] = 0.94617469575756*coQ*coQ - 0.31539156525252;
Get_Cnt_Orbitals.c: AF[2][0] = 0.94617469575756*coQ*coQ - 0.31539156525252;
Get_dOrbitals.c: AF[2][0] = 0.94617469575756*coQ*coQ - 0.31539156525252;
Get_Orbitals.c: AF[2][0] = 0.94617469575756*coQ*coQ - 0.31539156525252;
Set_Orbitals_Grid.c: AF[2][0] = 0.94617469575756*coQ*coQ - 0.31539156525252;
Set_Orbitals_Grid.c: AF[2][0] = 0.94617469575756*coQ*coQ - 0.31539156525252;
Voronoi_Orbital_Moment.c: AF[2][0] = 0.94617469575756*coQ*coQ - 0.31539156525252;

In each file from above you use spherical coordinates to calculate spherical harmonics. Instead, in Wikipedia, for example (http://en.wikipedia.org/wiki/Table_of_spherical_harmonics#Real_spherical_harmonics) the real spherical harmonics are expressed in cartesian coordinates, except of radius r. My question is: why do you use time-consuming trigonometry (arctan, arccos, sin, cos) instead of more straightforward and fast cartesian representation?

Thank you for your answers.

Regards,

Artem
メンテ
Re: Present wf in real space ( No.6 )
Date: 2014/05/29 21:31
Name: T. Ozaki

Hi,

> Is the index order in OpenMX following:
> psi[spin, atom number, angular quantum number l, number of nodes in basis function,
> angular quantum number m] ?

The index order of psi is given by the example in
http://www.openmx-square.org/openmx_man3.7/node80.html


> Also I would very happy to know if the angular basis functions in OpenMX are real
> spherical harmonics and if they go in the order specified for example in Get_Orbitals.c?
> I.e. does the second index of "AF" specifies spherical harmonics in the same order they
> are specified in the Hamiltonian for example?

The angular functions are real, and the order of functions are found in
http://www.openmx-square.org/openmx_man3.7/node82.html
They are the same as that given in Get_Orbital.c.


> In each file from above you use spherical coordinates to calculate spherical harmonics.
> Instead, in Wikipedia, for example
> (http://en.wikipedia.org/wiki/Table_of_spherical_harmonics#Real_spherical_harmonics) the
> real spherical harmonics are expressed in cartesian coordinates, except of radius r. My
> question is: why do you use time-consuming trigonometry (arctan, arccos, sin, cos)
> instead of more straightforward and fast cartesian representation?

Thank you for your suggestion. The computational time of that part is a small fraction.
Thus we did not care about the computational efficiency so far. However, it may be true
that it would be better to calculate those function in the cartesian representation.

Regards,

TO
メンテ

Page: [1]