Tutorial PAW1 beautified

This commit is contained in:
Marc Torrent 2020-12-13 20:33:54 +01:00
parent e8a733a1fe
commit e679835376
14 changed files with 26079 additions and 7350 deletions

6
doc/.gitignore vendored
View File

@ -1,13 +1,14 @@
# The following md files have been copied from ~abinit and should be `git ignored`
INSTALL_gpu.md
INSTALL_EasyBuild.md
INSTALL_CentOS.md
INSTALL_MacOS.md
INSTALL_gpu.md
INSTALL_Ubuntu.md
# The following md files have been automatically generated and should be `git ignored`
developers/autoconf_examples.md
variables/index.md
variables/external_parameters.md
variables/multibinit.md
variables/aim.md
variables/atdep.md
variables/basic.md
@ -27,9 +28,8 @@ variables/paw.md
variables/rlx.md
variables/vdw.md
variables/w90.md
variables/multibinit.md
variables/anaddb.md
variables/optic.md
variables/anaddb.md
variables/varset_stats.md
topics/Abipy.md
topics/APPA.md

View File

@ -2,14 +2,13 @@
authors: MT, FJ
---
# First tutorial on the Projector Augmented-Wave (PAW) technique
# First tutorial on the Projector Augmented-Wave (PAW) method
## Projector Augmented-Wave technique, how to use it?
## Projector Augmented-Wave approach, how to use it?
This tutorial aims at showing how to perform a calculation within the **Projector Augmented-Wave** (PAW) method.
You will learn how to launch a PAW calculation and what are the main input
variables that govern convergence and numerical efficiency.
You are supposed to know how to use ABINIT with _Norm-Conserving PseudoPotentials_ (NCPP).
@ -72,35 +71,31 @@ All the input files can be found in the `$ABI_TESTS/tutorial/Input` directory.*
`$ABI_TESTS/tutorial/Refs` and `$ABI_TESTS/tutorial/Refs/tpaw1_addons`
directories (for the present tutorial they are named `tpaw1_*.abo`).
The input file *tpaw1_1.in* is an example of a file to be used to compute
The input file *tpaw1_1.abi* is an example of a file to be used to compute
the total energy of diamond at the experimental volume (within the
_LDA exchange-correlation functional_). You might get
the corresponding output file (it is available in *$ABI_TESTS/tutorial/Refs/tpaw1_1.abo).
Copy the files *tpaw1_1.in* in your work directory,
_LDA exchange-correlation functional_). Copy the *tpaw1_1.abi* file in your work directory,
```sh
cd $ABI_TESTS/tutorial/Input
mkdir Work_paw1
cd Work_paw1
cp ../tpaw1_1.in .
cp ../tpaw1_1.abi .
```
!!! important
You may have to change the path to reach the Psps_for_tests repository. For this, modify the varaible `pp_dirpath` in the input file.
and execute ABINIT:
and execute:
abinit tpaw1_1.in > log 2> err &
abinit tpaw1_1.abi >& log &
The code should run very quickly.
In the meantime, you can read the input file and see that there is no PAW input variable.
{% dialog tests/tutorial/Input/tpaw1_1.in %}
{% dialog tests/tutorial/Input/tpaw1_1.abi %}
Now, open the *tpaw1_1.in* file and change the line iwth pseudos information: replace the *PseudosTM_pwteter/6c.pspnc* file with *C.LDA_PW-JTH.xml*.
Now, open the *tpaw1_1.abi* file and change the line with pseudopotential information:
replace the *PseudosTM_pwteter/6c.pspnc* file with *Pseudodojo_paw_pw_standard/C.xml*.
Run the code again:
abinit tpaw1_1.in > log 2> err &
abinit tpaw1_1.abi >& log &
Your run should stop almost immediately!
The input file, indeed, is missing the mandatory argument [[pawecutdg]]!!
@ -109,7 +104,7 @@ Add the line:
pawecutdg 50
to *tpaw1_1.in* and run it again. Now the code completes successfully.
to *tpaw1_1.abi* and run it again. Now the code completes successfully.
!!! note
@ -125,19 +120,20 @@ to *tpaw1_1.in* and run it again. Now the code completes successfully.
the cut-off needed for the Norm-Conserving PseudoPotential (see next section),
**a PAW calculation will actually require less CPU time**.
Let's open the output file (*tpaw1_1.abo*) and have a look inside.
Let's open the output file (*tpaw1_1.abo*) and have a look inside (remember:
you can compare with a reference file in *$ABI_TESTS/tutorial/Refs/*).
Compared to an output file for a Norm-Conserving PseudoPotential run, an
output file for PAW contains the following specific topics:
- At the beginning of the file,
some specific default PAW input variables ([[ngfftdg]], [[pawecutdg]], and
[[useylm]]), mentioned in the section:
* At the beginning of the file,
some specific default PAW input variables ([[ngfftdg]], [[pawecutdg]], and
[[useylm]]), mentioned in the section:
```
-outvars: echo values of preprocessed input variables --------
```
- The use of two FFT grids, mentioned in:
* The use of two FFT grids, mentioned in:
```
Coarse grid specifications (used for wave-functions):
@ -152,45 +148,51 @@ getcut: wavevector= 0.0000 0.0000 0.0000 ngfft= 32 32 32
```
- A specific description of the PAW dataset (you might follow the tutorial [PAW2](paw2),
* A specific description of the PAW dataset (you might follow the tutorial [PAW2](paw2),
devoted to the building of the PAW atomic data, for a complete understanding of the file):
```
Pseudopotential format is: paw10
--- Pseudopotential description ------------------------------------------------
- pspini: atom type 1 psp file is /Users/torrentm/WORK/ABINIT/GIT/beauty/tests//Psps_for_tests/Pseudodojo_paw_pw_standard/C.xml
- pspatm: opening atomic psp file /Users/torrentm/WORK/ABINIT/GIT/beauty/tests//Psps_for_tests/Pseudodojo_paw_pw_standard/C.xml
- pspatm : Reading pseudopotential header in XML form from /Users/torrentm/WORK/ABINIT/GIT/beauty/tests//Psps_for_tests/Pseudodojo_paw_pw_standard/C.xml
Pseudopotential format is: paw10
basis_size (lnmax)= 4 (lmn_size= 8), orbitals= 0 0 1 1
Spheres core radius: rc_sph= 1.50736703
1 radial meshes are used:
- mesh 1: r(i)=AA*[exp(BB*(i-1))-1], size= 500 , AA= 0.33742E-02 BB= 0.20146E-01
- mesh 1: r(i)=AA*[exp(BB*(i-1))-1], size=2001 , AA= 0.94549E-03 BB= 0.56729E-02
Shapefunction is SIN type: shapef(r)=[sin(pi*r/rshp)/(pi*r/rshp)]**2
Radius for shape functions = 1.28249356
mmax= 500
Radius for shape functions = 1.30052589
mmax= 2001
Radial grid used for partial waves is grid 1
Radial grid used for projectors is grid 1
Radial grid used for (t)core density is grid 1
Radial grid used for Vloc is grid 1
Radial grid used for LDA-1/2 potential is grid 1
Radial grid used for pseudo valence density is grid 1
Mesh size for Vloc has been set to 1756 to avoid numerical noise.
Compensation charge density is not taken into account in XC energy/potential
pspatm: atomic psp has been read and splines computed
```
- After the SCF cycle section:
The value of the integrated compensation charge evaluated by two different
numerical methodologies; 1- computed in the _augmentation regions_
on the "spherical" grid, 2- computed in the whole simulation cell on the
"FFT" grid...
A discussion on these two values will be done in a forthcoming section.
* After the SCF cycle section:
The value of the integrated compensation charge evaluated by two different
numerical methodologies:
1. computed in the _augmentation regions_
on the "spherical" grid,
2. computed in the whole simulation cell on the "FFT" grid...
A discussion on these two values will be done in a forthcoming section.
```
PAW TEST:
==== Compensation charge inside spheres ============
The following values must be close to each other ...
Compensation charge over spherical meshes = 0.263855884339479
Compensation charge over fine fft grid = 0.263852893893634
Compensation charge over spherical meshes = 0.263866295499286
Compensation charge over fine fft grid = 0.263862122639226
```
- Information concerning the non-local term (pseudopotential strength $D_{ij}$)
and the spherical density matrix (augmentation wave occupancies $\rho_{ij}$):
* Information related the non-local term (pseudopotential intensity $D_{ij}$)
and the spherical density matrix (augmentation wave occupancies $\rho_{ij}$):
```
==== Results concerning PAW augmentation regions ====
@ -208,45 +210,43 @@ Atom # 2
...
```
- At the end of the file we find the decomposition of the total energy both
by direct calculation and double counting calculation:
* At the end of the file we find the decomposition of the total energy both
by direct calculation and double counting calculation:
```
--- !EnergyTerms
iteration_state : {dtset: 1, }
comment : Components of total free energy in Hartree
kinetic : 6.90446929441886E+00
hartree : 9.63708091533161E-01
xc : -4.29580646918379E+00
kinetic : 6.90447470595323E+00
hartree : 9.62706609299964E-01
xc : -4.29580260772849E+00
Ewald energy : -1.27864121210521E+01
psp_core : 9.19865486989434E-01
local_psp : -4.67413594752577E+00
spherical_terms : 1.44220243759604E+00
total_energy : -1.15261092272241E+01
total_energy_eV : -3.13641382594284E+02
psp_core : 9.19814512188249E-01
local_psp : -4.66849481780168E+00
spherical_terms : 1.43754510318459E+00
total_energy : -1.15261686159562E+01
total_energy_eV : -3.13642998643870E+02
...
--- !EnergyTermsDC
iteration_state : {dtset: 1, }
comment : '"Double-counting" decomposition of free energy'
band_energy : 3.07962181105384E-01
band_energy : 3.08710945092562E-01
Ewald energy : -1.27864121210521E+01
psp_core : 9.19865486989434E-01
xc_dc : -7.39239833326780E-01
spherical_terms : 7.71714533951319E-01
total_energy_dc : -1.15261097523327E+01
total_energy_dc_eV : -3.13641396883215E+02
psp_core : 9.19814512188249E-01
xc_dc : -7.38241276339915E-01
spherical_terms : 7.69958781192718E-01
total_energy_dc : -1.15261691589185E+01
total_energy_dc_eV : -3.13643013418624E+02
...
```
!!! Note
The PAW total energy is not the equal to the one obtained in the Norm-Conserving PseudoPotential case:
in the Norm-Conserving PseudoPotential case, the energy reference has been arbitrarily
modified by the pseudopotential construction procedure.
Comparing total energies computed with different PAW potentials is more meaningful: most of
The PAW total energy is not the equal to the one obtained in the Norm-Conserving PseudoPotential case.
This is due to the arbitrary modification of the energy reference during the pseudopotential
construction.
In PAW, comparing total energies computed with different atomic datasets is more meaningful: most of
the parts of the energy are calculated exactly, and in general you should be
able to compare numbers for (valence) *energies* between different PAW potentials or different codes.
@ -255,52 +255,52 @@ total_energy_dc_eV : -3.13641396883215E+02
As in the usual Norm-Conserving PseudoPotential case, the critical convergence parameter is the cut-off
energy defining the size of the plane-wave basis.
###3.a. Convergence with respect to ecut in the Norm-Conserving PseudoPotential case##
###3.a. Norm-Conserving PseudoPotential case##
The input file *tpaw1_2.in* contains data to be used to compute the convergence in ecut
The input file *tpaw1_2.abi* contains data to be used to compute the convergence in [[ecut]]
for diamond (at experimental volume). There are 9 datasets, with increasing [[ecut]] values
from 8 Ha to 24 Ha.
You might use the *tpaw1_2.in* file (with a standard Norm-Conserving
You might use the *tpaw1_2.abi* file (with a standard Norm-Conserving
PseudoPotential), and run:
abinit tpaw1_2.in > log 2> err &
abinit tpaw1_1.abi >& log &
You should obtain the following _total energy_ values (see *tpaw1_2.abo*):
etotal1 -1.1628880677E+01
etotal2 -1.1828052470E+01
etotal3 -1.1921833945E+01
etotal4 -1.1976374633E+01
etotal5 -1.2017601960E+01
etotal6 -1.2046855404E+01
etotal7 -1.2062173253E+01
etotal8 -1.2069642342E+01
etotal9 -1.2073328672E+01
etotal1 -1.1628880677E+01
etotal2 -1.1828052470E+01
etotal3 -1.1921833945E+01
etotal4 -1.1976374633E+01
etotal5 -1.2017601960E+01
etotal6 -1.2046855404E+01
etotal7 -1.2062173253E+01
etotal8 -1.2069642342E+01
etotal9 -1.2073328672E+01
You can check that the etotal convergence (at the 1 mHartree level) is not
achieved for ecut = 24 Hartree.
achieved for $e_{cut} = 14$ Hartree.
###3.b. Convergence with respect to ecut in the PAW case###
###3.b. Projector Augmented-Wave case###
Use the same input files as in section **1.a**.
Again, modify the last line of *tpaw1_2.in*, replacing the *PseudosTM_pwteter/6c.pspnc* file by *C.LDA_PW-JTH.xml*.
Run the code again and open the output file. You should obtain the values:
Use the same input file as in section **3.a**.
Again, modify the last line of *tpaw1_2.abi*, replacing the *PseudosTM_pwteter/6c.pspnc* file
by *Pseudodojo_paw_pw_standard/C.xml*.
Run the code again and open the ABINIT output file (_.abo_). You should obtain the values:
etotal1 -1.1404413200E+01
etotal2 -1.1496546303E+01
etotal3 -1.1518699851E+01
etotal4 -1.1524923431E+01
etotal5 -1.1526676260E+01
etotal6 -1.1526950267E+01
etotal7 -1.1526965855E+01
etotal8 -1.1527043191E+01
etotal9 -1.1527176114E+01
etotal1 -1.1404460615E+01
etotal2 -1.1496598029E+01
etotal3 -1.1518754947E+01
etotal4 -1.1524981521E+01
etotal5 -1.1526736707E+01
etotal6 -1.1527011746E+01
etotal7 -1.1527027274E+01
etotal8 -1.1527104066E+01
etotal9 -1.1527236307E+01
You can check that:
The _etotal_ convergence (at 1 mHartree) is achieved for _14 <= ecut <= 16 Hartree_
The _etotal_ convergence (at 1 mHartree) is achieved for _$14 \le e_{cut} \le 16$ Hartree_
(_etotal5_ is within 1 mHartree of the final value);
With the same input parameters, for diamond, **a PAW calculation needs a lower cutoff,
@ -311,39 +311,38 @@ compared to a calculation with NCPPs**.
In a NCPP calculation, the _plane wave_ density grid should be (at least) twice bigger
than the wavefunctions grid, in each direction.
In a PAW calculation, the _plane wave_ density grid is tunable
thanks to the input variable [[pawecutdg]] (PAW: ECUT for Double Grid). This
is mainly needed to allow the mapping of densities and potentials, located
in the augmentation regions (spheres), onto the global FFT grid.
thanks to the input variable [[pawecutdg]] (PAW: ECUT for Double Grid).
This is mainly needed to allow the mapping of densities and potentials, located
in the augmentation regions (spheres), onto the global FFT grid.
The number of points of the Fourier grid located in the spheres must be large
enough to preserve a minimal accuracy. It is determined from the cut-off energy
[[pawecutdg]]. An alternative is to use directly the input variable
[[ngfftdg]]. One of the most sensitive objects affected by this "grid
[[pawecutdg]].
One of the most sensitive objects affected by this "grid
transfer" is the compensation charge density; its integral over the
augmentation regions (on spherical grids) must cancel with its integral over
the whole simulation cell (on the FFT grid).
Use now the input file *tpaw1_3.in* .
The only difference with the *tpaw1_2.in* file is that [[ecut]] is fixed to 12
Use now the input file *tpaw1_3.abi*.
The only difference with the *tpaw1_2.abi* file is that [[ecut]] is fixed to 12
Ha, while [[pawecutdg]] runs from 12 to 39 Ha.
{% dialog tests/tutorial/Input/tpaw1_3.in %}
{% dialog tests/tutorial/Input/tpaw1_3.abi %}
Launch ABINIT with these files; you should obtain the values (file *tpaw1_3.abo*):
etotal1 -1.1518150865E+01
etotal2 -1.1518273022E+01
etotal3 -1.1518608846E+01
etotal4 -1.1518744552E+01
etotal5 -1.1518729256E+01
etotal6 -1.1518683931E+01
etotal7 -1.1518660738E+01
etotal8 -1.1518667056E+01
etotal9 -1.1518682154E+01
etotal10 -1.1518697442E+01
etotal1 -1.1518201683E+01
etotal2 -1.1518333032E+01
etotal3 -1.1518666700E+01
etotal4 -1.1518802859E+01
etotal5 -1.1518785111E+01
etotal6 -1.1518739739E+01
etotal7 -1.1518716669E+01
etotal8 -1.1518723268E+01
etotal9 -1.1518738376E+01
etotal10 -1.1518752752E+01
We see that the variation of the energy wit respect to the [[pawecutdg]] parameter is well
below the 1 mHa level.
We see that the variation of the energy with respect to the [[pawecutdg]] parameter is well
below the 1 mHa level.
In principle, it should be sufficient to choose
pawecutdg = 12 Ha in order to obtain an energy change lower than 1 mHa.
In practice, it is better to keep a security margin. Here, for pawecutdg = 24 Ha
@ -363,8 +362,8 @@ possible to check it in the output file, just after the SCF cycle by looking at:
PAW TEST:
==== Compensation charge inside spheres ============
The following values must be close to each other ...
Compensation charge over spherical meshes = 0.252496383260266
Compensation charge over fine fft grid = 0.252495562362116
Compensation charge over spherical meshes = 0.252499599273249
Compensation charge over fine fft grid = 0.252497392737764
```
The two values of the integrated compensation charge density must be close to each other.
@ -373,33 +372,21 @@ over a radial grid does not use the same scheme as integration over a FFT grid).
_Additional test_:
We want now to check the convergence with respect to [[ecut]] with a fixed value [[pawecutdg]] = 24 Ha.
Let's modify *tpaw1_2.in* file, setting pawecutdg to 24 Ha, and let's launch ABINIT again.
Let's modify *tpaw1_2.abi* file, setting pawecutdg to 24 Ha, and let's launch ABINIT again.
You should obtain the values:
etotal1 -1.1404443407E+01
etotal2 -1.1496575772E+01
etotal3 -1.1518729256E+01
etotal4 -1.1524953006E+01
etotal5 -1.1526706024E+01
etotal6 -1.1526980122E+01
etotal7 -1.1526995701E+01
etotal8 -1.1527072969E+01
etotal9 -1.1527205784E+01
etotal1 -1.1628880677E+01
etotal2 -1.1828052470E+01
etotal3 -1.1921833945E+01
etotal4 -1.1976374633E+01
etotal5 -1.2017601960E+01
etotal6 -1.2046855404E+01
etotal7 -1.2062173253E+01
etotal8 -1.2069642342E+01
etotal9 -1.2073328672E+01
You can check again that:
The _etotal_ convergence (at the 1 mHartree level) is achieved for 14 <= ecut <= 16 Hartree;
!!! Note
Associated with the input variable [[pawecutdg]] is the input variable
[[ngfftdg]]: it defines the size of the FFT grid associated with [[pawecutdg]].
Note that [[pawecutdg]] is only useful to define the FFT grid for the density
in a convenient way. You can therefore tune directly [[ngfftdg]] to define the
size of the FFT grid for the density.
You can check again that the _etotal_ convergence (at the 1 mHartree level)
is achieved for $14 \le e_{cut} \le 16$ Hartree.
!!! Note
@ -416,35 +403,39 @@ The _etotal_ convergence (at the 1 mHartree level) is achieved for 14 <= ecut <=
## 5. Plotting PAW contributions to the Density of States (DOS)
We now use the input file *tpaw1_4.in* file.
We now use the input file *tpaw1_4.abi* file.
ABINIT is used to compute the Density Of State (DOS)
(see the [[prtdos]] keyword in the input file).
Also note that more k-points are used in order to increase the accuracy of the DOS.
[[ecut]] is set to 12 Ha, while [[pawecutdg]] is 24 Ha.
{% dialog tests/tutorial/Input/tpaw1_4.in %}
{% dialog tests/tutorial/Input/tpaw1_4.abi %}
Launch the code with these files; you should obtain the *tpaw1_4.abo* and the DOS file (*tpaw1_4o_DOS*):
abinit tpaw1_4.in > log 2> err &
abinit tpaw1_4.abi >& log &
You can plot the DOS file if you want; for this purpose, use a graphical tool
and plot column 3 with respect to column 2. If you use the |xmgrace| tool, launch:
You can plot the DOS file; for this purpose, use a graphical tool
and plot column 3 with respect to column 2.
Example: if you use the |xmgrace| tool, launch:
xmgrace -block tpaw1_4o_DOS -bxy 1:2
At this stage, you have a usual Density of State plot; nothing specific to PAW.
Now, edit the *tpaw1_4.in* file, comment the "prtdos 1" line, and uncomment (or add):
Now, edit the *tpaw1_4.abi* file, comment the "prtdos 1" line, and uncomment (or add):
prtdos 3 pawprtdos 1 natsph 1 iatsph 1 ratsph 1.51
prtdos 3
pawprtdos 1
natsph 1 iatsph 1
ratsph 1.51
[[prtdos]] 3 now requires the output of the projected DOS;
[[natsph]] 1 [[iatsph]] 1 [[ratsph]] 1.51 selects the first carbon atom as
the center of projection, and sets the radius of the projection area to 1.51
[[prtdos]]=3 requires the output of the projected DOS;
[[natsph]]=1, [[iatsph]]=1 select the first carbon atom as
the center of projection, and [[ratsph]]=1.51 sets the radius of the projection area to 1.51
atomic units (this is exactly the radius of the PAW augmentation regions:
generally the best choice).
The [[pawprtdos]] 1 is specific to PAW.
generally the best choice).
[[pawprtdos]]=1 is specific to PAW.
With this option, ABINIT should compute all the contributions to the projected DOS.
Let us remember that:
@ -460,11 +451,11 @@ Within PAW, the total projected DOS has 3 contributions:
2. The all-electron on-site (AE) contribution (from $\langle \tprj^a_i|\tPsi\rangle |\phi_i^a\rangle$),
3. The pseudo on-site (PS) contribution (from $\langle \tprj^a_i|\tPsi\rangle |\tphi_i^a\rangle$).
Launch ABINIT again (with the modified input file).
Execute ABINIT again (with the modified input file).
You get a new DOS file, named *tpaw1_4o_DOS_AT0001*.
You can edit it and look inside; it contains the 3 PAW contributions
(mentioned above) for each angular momentum. In the diamond case, only $l = 0$ and
$l = 1$ momenta are to be considered.
(mentioned above) for each angular momentum.
_In the diamond case, only $l = 0$ and $l = 1$ momenta are to be considered_.
Now, plot the file, using the 7th, 12th and 17th columns with respect to the
2nd one; it plots the 3 PAW contributions for $l = 0$ (the total DOS is the sum of
@ -478,8 +469,8 @@ You should get this:
![Projected DOS - 4 proj](paw1_assets/DOS-4proj.jpg)
As you can see, the smooth PW contribution and the PS on-site contribution are close. At basis completeness,
they should cancel; we could approximate the DOS by the AE on-site part taken alone.
That's exactly the purpose of the [[pawprtdos]] = 2 option; in that case, only the AE
they should cancel; we could approximate the DOS by the AE on-site part taken alone.
That's exactly the purpose of the [[pawprtdos]] = 2 option: in that case, only the AE
on-site contribution is computed and given as a good approximation of the
total projected DOS. The main advantage of this option is that the computing time is
greatly reduced (the DOS is instantaneously computed).
@ -496,25 +487,31 @@ _partial waves_ per angular momentum. It is generally the best compromise
between the completeness of the partial wave basis and the efficiency of the
PAW dataset (the more _partial waves_ you have, the longer the CPU time used by ABINIT is).
Let's have a look at the *$ABI_PSPDIR/C.LDA_PW-JTH.xml* file.
The tag "<valence_states" has 4 "<state" lines. This indicates the number of partial waves (4) and their $l$ angular momentum.
In the present file, there are `two l = 0 partial waves and two l = 1 partial waves`.
Let's have a look at the *<span style="color:green">\$ABI_PSPDIR/Pseudodojo_paw_pw_standard/C.xml</span>* file.
The tag <span style="color:green"><valence_states</span> has 4
<span style="color:green"><state</span> lines. This indicates the number of partial
waves (4) and their $l$ angular momentum. In the present file, there are two $l = 0$
partial waves and two $l = 1$ partial waves.
Now, let's open the *\$ABI_PSPDIR/C.LDA_PW-2proj-JTH.xml*
and *\$ABI_PSPDIR/C.LDA_PW-6proj-JTH.xml* files.
In the first file, only one _partial wave_ per $l$ is present; in the second one, 3 _partial
waves_ per $l$ are present.
The completeness of the partial wave basis increases when you use *C.LDA_PW-2proj-JTH.xml*,
*C.LDA_PW-JTH.xml* and *C.LDA_PW-6proj-JTH.xml*.
Now, let's open the *<span style="color:green">\$ABI_PSPDIR/C_paw_pw_2proj.xml</span>*
and *<span style="color:green">\$ABI_PSPDIR/C_paw_pw_6proj.xml</span>* PAW dataset files.
The first dataset is based on only **one** _partial wave_ per $l$; the second one is based on
**three** _partial waves_ per $l$.
The completeness of the partial wave basis increases when you use
*<span style="color:green">C_paw_pw_2proj.xml</span>*,
*<span style="color:green">Pseudodojo_paw_pw_standard/C.xml</span>*
and *<span style="color:green">C_paw_pw_6proj.xml</span>*.
Now, let us plot the DOS for the two new PAW datasets.
Now, let us plot the DOS using the two new PAW datasets.
1. Save the existing *tpaw1_4o_DOS_AT0001* file, naming it f.i. *tpaw1_4o_4proj_DOS_AT0001*.
2. Open the *tpaw1_4.in* file and modify it in order to use the *C.LDA_PW-2proj-JTH.xml* PAW dataset.
3. Launch ABINIT.
2. Open the *tpaw1_4.abi* file and modify it in order to use the
*<span style="color:green">C_paw_pw_2proj.xml</span>* PAW dataset.
3. Run ABINIT.
4. Save the new *tpaw1_4o_DOS_AT0001* file, naming it f.i. *tpaw1_4o_2proj_DOS_AT0001*.
5. Open the *tpaw1_4.in* file and modify it in order to use the *C.LDA_PW-6proj-JTH.xml* PAW dataset.
6. Launch ABINIT again.
5. Open the *tpaw1_4.abi* file and modify it in order to use the
*<span style="color:green">C_paw_pw_2proj.xml</span>* PAW dataset.
6. Run ABINIT again.
7. Save the new *tpaw1_4o_DOS_AT0001* file, naming it f.i. *tpaw1_4o_6proj_DOS_AT0001*.
Then, plot the contributions to the projected DOS for the two new DOS files.
@ -528,36 +525,40 @@ Adding the DOS obtained in the previous section to the comparison, you
immediately see that the superposition of the plane wave part DOS (PW) and the PS
on-site DOS depends on the completeness of the partial wave basis!
Now, you can have a look at the 3 output files (one for each PAW dataset)
for instance in a comparison tool.
Now, you can have a look at the 3 output files (one for each PAW dataset).
A way to estimate the completeness of the partial wave basis is to compare
derivatives of total energy; if you look at the stress tensor:
```
For the 2 `partial-wave` basis: 2.88568213E-04 2.88568213E-04 2.88568213E-04 0. 0. 0.
For the 4 `partial-wave` basis: 4.97807406E-04 4.97807406E-04 4.97807406E-04 0. 0. 0.
For the 6 `partial-wave` basis: 5.38983766E-04 5.38983766E-04 5.38983766E-04 0. 0. 0.
For the 2 `partial-wave` basis: 2.85307799E-04 2.85307799E-04 2.85307799E-04 0. 0. 0.
For the 4 `partial-wave` basis: 4.97872484E-04 4.97872484E-04 4.97872484E-04 0. 0. 0.
For the 6 `partial-wave` basis: 5.38392693E-04 5.38392693E-04 5.38392693E-04 0. 0. 0.
```
The 2 *partial-wave* basis is clearly not complete; the 4 partial-wave basis results are correct.
The *2 partial-wave* basis is clearly not complete; the *4 partial-wave basis* results are correct.
Such a test is useful to estimate the precision we can expect on the stress tensor
(at least due to the partial wave basis completeness).
You can compare other results in the 3 output files: total energy, eigenvalues, occupations...
Note: if you want to learn how to generate PAW datasets with different *partial wave* basis,
you might follow the [tutorial on generating PAW datasets(PAW2)](paw2).
!!! Note
The CPU time increases with the size of the partial wave basis. This is why it is
not recommended to use systematically high-precision PAW datasets.
If you want to learn how to generate PAW datasets with different *partial wave* basis,
you might follow the [tutorial on generating PAW datasets (PAW2)](paw2).
## 7. Checking the validity of PAW results
The validity of our computation has to be checked
by comparison, on known structures, with known results.
by comparison, on known structures, with known results.
In the case of diamond, lots of computations and experimental results exist.
Very important remark: the validity of PAW calculations (**completeness of plane wave basis and
partial wave basis**) should always be checked by comparison
with **all-electrons** computations or with other existing PAW results;
it should not be done by comparison with experimental results.
As the PAW method has the same accuracy than all-electron methods, results should be very close.
!!! important
The validity of PAW calculations (**completeness of plane wave basis and
partial wave basis**) should always be checked by comparison
with **all-electrons** computations or with other existing PAW results;
it should not be done by comparison with experimental results.
As the PAW method has the same accuracy than all-electron methods, results should be very close.
In the case of diamond, all-electron results can be found f.i. in [[cite:Holzwarth1997]].
All-electron equilibrium parameters for diamond (within _Local Density Approximation_) obtained
@ -572,19 +573,19 @@ Experiments give:
B = 443 GPa
Let's test with ABINIT.
We use now the input file *tpaw1_5.in* file and we run
ABINIT to compute values of _etotal- for several cell parameters
We use now the input file *tpaw1_5.abi* file and we run
ABINIT to compute values of _etotal_ for several cell parameters
around 3.54 angstrom, using the standard PAW dataset.
{% dialog tests/tutorial/Input/tpaw1_5.in %}
{% dialog tests/tutorial/Input/tpaw1_5.abi %}
abinit tpaw1_5.in > log 2> err &
abinit tpaw1_1.abi >& log &
From the *tpaw1_5.abo* file, you can extract the 7 values of _acell_ and 7 values
of _etotal_, then put them into a file and plot it with a graphical tool.
You should get:
![diamond: etotal vs acell](paw1_assets/etotal-acell.jpg)
![diamond: etotal vs acell](paw1_assets/etotal-acell.png){ width=60% }
From this curve, you can extract the cell values of $a_0$ and $B$
(with the method of your choice, for example by a Birch-Murnhagan spline fit).
@ -615,26 +616,28 @@ The overlap check can even be by-passed with [[pawovlp]]=-1 (not recommended!).
is eventually printed.
Also note that you can control the compensation charge radius and shape
function while generating the PAW dataset (see [tutorial on generating PAW datasets(PAW2)](paw2)).
function while generating the PAW dataset (see [tutorial on generating PAW datasets (PAW2)](paw2)).
### 8.b. Mixing scheme for the Self-Consistent cycle; decomposition of the total energy###
The use of an efficient **mixing scheme** in the self-consistent loop is a crucial
point to minimize the number of steps to achieve convergence.
This mixing can be done on the potential or on the density. By default, in a
Norm-Conserving PseudoPotential calculation, the mixing is done on the potential;
This mixing can be done on the potential or on the density.
By default, in a Norm-Conserving PseudoPotential calculation, the mixing is done on the potential;
but, for technical reasons, this choice is not optimal for PAW calculations.
Thus, by default, the mixing is done on the density when PAW is activated.
Thus, by default, the mixing is done on the density when PAW is activated.
The mixing scheme can be controlled by the [[iscf]] variable (see the different options of this input variable).
To compare both schemes, you can edit the *tpaw1_1.in* file and try [[iscf]] = 7
To compare both schemes, you can edit the *tpaw1_1.abi* file and try [[iscf]] = 7
or 17 and compare the behaviour of the SC cycle in both cases; as you can see, the
final _total energy_ is the same but the way to reach it is completely different.
Now, have a look at the end of the file and focus on the `Components of total
free energy`; the total energy is decomposed according to two different schemes (`direct` and `double counting`);
at very high convergence of the SCF cycle the potential/density
residual is very small and these two values should be the same. But it has been observed that
residual is very small and these two values should be the same.
But it has been observed that
the converged value was reached more rapidly by the `direct` energy, when the
mixing is on the potential, and by the `double counting` energy when the mixing
is on the density. Thus, by default, in the output file is to print the direct
@ -661,6 +664,7 @@ computed; it is indeed a very good approximation.
Converging a _Self-Consistent Cycle_, or ensuring the global minimum is reached,
with PAW+U is sometimes difficult. Using [[usedmatpu]] and [[dmatpawu]] can help.
See [tutorial on DFT+U](Dftu).
### 8.d. Printing volume for PAW###
@ -673,55 +677,11 @@ $D_{ij}$ or _partial waves occupancies_ $\rho_{ij}$.
Looking at the [[varset:paw|PAW variable set]], you can find the description
of additional input keywords related to PAW.
They are to be used when tuning the computation, in order to gain accuracy or save CPU time.
They are to be used when tuning the computation, in order to gain accuracy or save CPU time.
See also descriptions of these variables and input file examples in the
[PAW topic](../topics/PAW) page.
!!! Warning
In a standard computation, these variables should not be modified!
**Variables that can be used to gain accuracy (in ascending order of importance)**
[[pawxcdev]]
: Control of the accuracy of exchange-correlation on-site potentials
(try [[pawxcdev]] = 2 to increase accuracy).
[[mqgriddg]]
: Control of the accuracy of spline fits to transfer densities/potentials from FFT grid to spherical grid.
[[pawnzlm]]
: Control how the symmetries are applied to compute the moments of spherical densities.
**Variables that can be used to save memory (in ascending order of importance)**
[[pawstgylm]]
: Control of the storage of spherical harmonics around atoms.
[[pawmixdg]]
: Control the grid used to mix the potential/density during SCF cycles.
[[pawlcutd]]
: Control of the number of angular momenta taken into account in on-site densities.
[[pawlmix]]
: Control of the number of $\rho_{ij}$ components to be mixed during SCF cycle.
**Variables that can be used to save CPU time (in ascending order of importance)**
[[pawnhatxc]]
: Control of the numerical treatment of gradients in case of GGA.
[[pawstgylm]]
: Control of the storage of spherical harmonics around atoms.
[[pawlcutd]]
: Control of the number of angular momenta taken into account in on-site densities.
[[pawlmix]]
: Control of the number of $\rho_{ij}$ components to be mixed during SCF cycle.
[[bxctmindg]]
: Can be used to decrease the size of fine FFT grid for a given value of [[pawecutdg]].
!!! Note
The above list is not exhaustive.
Several other keywords can be used to tune ABINIT PAW calculations.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 95 KiB

View File

@ -569,7 +569,7 @@ subroutine vtowfk(cg,cgq,cprj,cpus,dphase_k,dtefield,dtfil,dtset,&
call timab(30,1,tsec) ! "vtowfk (afterloop)"
!if (dtset%prtvol > 0)
call wrtout(std_out, sjoin(" Number of Vnl|Psi> applications:", itoa(nonlop_counter)))
!call wrtout(std_out, sjoin(" Number of Vnl|Psi> applications:", itoa(nonlop_counter)))
!###################################################################

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,43 +1,60 @@
# =======================================
# Input for PAW1 tutorial
# Diamond at experimental volume
# =======================================
#Cell and atoms definition
acell 3*3.567 angstrom
rprim 0.0 1/2 1/2
1/2 0.0 1/2
1/2 1/2 0.0
ntypat 1 natom 2 typat 2*1
xred 0.0 0.0 0.0
1/4 1/4 1/4
znucl 6 nband 6
#Definition of the unit cell
acell 3*3.567 angstrom # Lengths of the primitive vectors (exp. param. in angstrom)
rprim # 3 orthogonal primitive vectors (FCC lattice)
0.0 1/2 1/2
1/2 0.0 1/2
1/2 1/2 0.0
nsym 0 # Automatic detection of symetries
#Grid definitions
ecut 15.
ecutsm 0.5
#Definition of the atom types and pseudopotentials
ntypat 1 # There is only one type of atom
znucl 6 # Atomic number of the possible type(s) of atom. Here carbon.
pp_dirpath "$ABI_PSPDIR" # Path to the directory were
# pseudopotentials for tests are stored
pseudos "PseudosTM_pwteter/6c.pspnc" # Name and location of the pseudopotential
#pseudos "Pseudodojo_paw_pw_standard/C.xml" # To be uncommented later
#Definition of the atoms
natom 2 # There are two atoms
typat 1 1 # They both are of type 1, that is, Carbon
xred # Location of the atoms:
0.0 0.0 0.0 # Triplet giving the reduced coordinates of atom 1
1/4 1/4 1/4 # Triplet giving the reduced coordinates of atom 2
#Definition of bands and occupation numbers
nband 6 # Compute 6 bands (4 occupied, 2 empty)
occopt 1 # Automatic generation of occupation numbers, as a semiconductor
#Numerical parameters of the calculation : planewave basis set and k point grid
ecut 15.0 # Maximal plane-wave kinetic energy cut-off, in Hartree
ecutsm 0.5 # Introduce a smooth PW cutoff within an 0.5 Ha region
kptopt 1 # Automatic generation of k points, taking into account the symmetry
ngkpt 6 6 6 # This is a 6x6x6 grid based on the primitive vectors
nshiftk 4 # of the reciprocal space, repeated four times,
shiftk # with different shifts:
0.5 0.5 0.5
0.5 0.0 0.0
0.0 0.5 0.0
0.0 0.0 0.5
#Parameters for the SCF procedure
nstep 20 # Maximal number of SCF cycles
tolvrs 1.0d-10 # Will stop when, twice in a row, the difference
# between two consecutive evaluations of potential residual
# differ by less than tolvrs
#Miscelaneous parameters
prtwf 0 # Do not print wavefunctions
prtden 0 # Do not print density
prteig 0 # Do not print eigenvalues
#SCF cycle parameters
tolvrs 1.0d-10
nstep 20
#K-points and sym
nsym 0
occopt 1
ngkpt 6 6 6
nshiftk 4
shiftk 0.5 0.5 0.5
0.5 0.0 0.0
0.0 0.5 0.0
0.0 0.0 0.5
#I/O parameters
prtwf 0 prtden 0 prteig 0
pp_dirpath "$ABI_PSPDIR"
pseudos "PseudosTM_pwteter/6c.pspnc"
##############################################################
# This section is used only for regression testing of ABINIT #
##############################################################
#%%<BEGIN TEST_INFO>
#%% [setup]
#%% executable = abinit

View File

@ -1,47 +1,71 @@
# =======================================
# Input for PAW1 tutorial
# Diamond at experimental volume
# =======================================
# Convergence with respect to the plane-wave cut-off
#Datasets: convergence on ecut
ndtset 9 ecut: 8. ecut+ 2.
#Define the different datasets
ndtset 9 # 9 datasets
ecut: 8. # The starting values of the plane-wave cut-off energy
ecut+ 2. # The increment of ecut from one dataset to the other
getwfk -1 # The starting wave-functions are those of the previous dataset
#Cell and atoms definition
acell 3*3.567 angstrom
rprim 0.0 1/2 1/2
1/2 0.0 1/2
1/2 1/2 0.0
ntypat 1 natom 2 typat 2*1
xred 0.0 0.0 0.0
1/4 1/4 1/4
znucl 6 nband 6
#-------------------------------------------------------------------------------
#The rest of this file is similar to the tpaw1_1.abi file
#Basis definitions
ecut 15.
ecutsm 0.5
pawecutdg 50.
#Definition of the unit cell
acell 3*3.567 angstrom # Lengths of the primitive vectors (exp. param. in angstrom)
rprim # 3 orthogonal primitive vectors (FCC lattice)
0.0 1/2 1/2
1/2 0.0 1/2
1/2 1/2 0.0
nsym 0 # Automatic detection of symetries
#SCF cycle parameters
tolvrs 1.0d-10
nstep 20
#Definition of the atom types and pseudopotentials
ntypat 1 # There is only one type of atom
znucl 6 # Atomic number of the possible type(s) of atom. Here carbon.
pp_dirpath "$ABI_PSPDIR" # Path to the directory were
# pseudopotentials for tests are stored
pseudos "PseudosTM_pwteter/6c.pspnc" # Name and location of the pseudopotential
#pseudos "Pseudodojo_paw_pw_standard/C.xml" # To be uncommented later
#Definition of the atoms
natom 2 # There are two atoms
typat 1 1 # They both are of type 1, that is, Carbon
xred # Location of the atoms:
0.0 0.0 0.0 # Triplet giving the reduced coordinates of atom 1
1/4 1/4 1/4 # Triplet giving the reduced coordinates of atom 2
#K-points and sym
nsym 0
occopt 1
ngkpt 6 6 6
nshiftk 4
shiftk 0.5 0.5 0.5
0.5 0.0 0.0
0.0 0.5 0.0
0.0 0.0 0.5
#Definition of bands and occupation numbers
nband 6 # Compute 6 bands (4 occupied, 2 empty)
occopt 1 # Automatic generation of occupation numbers, as a semiconductor
#I/O parameters
prtwf 1 prtden 0 prteig 0
getwfk -1
#Numerical parameters of the calculation : planewave basis set and k point grid
ecut 15.0 # Maximal plane-wave kinetic energy cut-off, in Hartree (not used here)
ecutsm 0.5 # Introduce a smooth PW cutoff within an 0.5 Ha region
pawecutdg 50. # Max. plane-wave kinetic energy cut-off, in Ha, for the PAW double grid
kptopt 1 # Automatic generation of k points, taking into account the symmetry
ngkpt 6 6 6 # This is a 6x6x6 grid based on the primitive vectors
nshiftk 4 # of the reciprocal space, repeated four times,
shiftk # with different shifts:
0.5 0.5 0.5
0.5 0.0 0.0
0.0 0.5 0.0
0.0 0.0 0.5
pp_dirpath "$ABI_PSPDIR"
pseudos "PseudosTM_pwteter/6c.pspnc"
#Parameters for the SCF procedure
nstep 20 # Maximal number of SCF cycles
tolvrs 1.0d-10 # Will stop when, twice in a row, the difference
# between two consecutive evaluations of potential residual
# differ by less than tolvrs
#Miscelaneous parameters
prtwf 1 # Print wavefunctions (re-used from one dataset to the other)
prtden 0 # Do not print density
prteig 0 # Do not print eigenvalues
##############################################################
# This section is used only for regression testing of ABINIT #
##############################################################
#%%<BEGIN TEST_INFO>
#%% [setup]
#%% executable = abinit
@ -57,4 +81,5 @@ ndtset 9 ecut: 8. ecut+ 2.
#%% description =
#%% Input for PAW1 tutorial
#%% Diamond at experimental volume
#%% Convergence with respect to the plane-wave cut-off
#%%<END TEST_INFO>

View File

@ -1,46 +1,71 @@
# =======================================
# Input for PAW1 tutorial
# Diamond at experimental volume
# =======================================
# Convergence with respect to the Double Grid plane-wave cut-off
#Datasets: convergence on pawecutdg
ndtset 10 pawecutdg: 12. pawecutdg+ 3.
#Define the different datasets
ndtset 10 # 10 datasets
pawecutdg: 12. # The starting values of the Double Grid plane-wave cut-off energy
pawecutdg+ 3. # The increment of pawecutdg from one dataset to the other
getwfk -1 # The starting wave-functions are those of the previous dataset
#Cell and atoms definition
acell 3*3.567 angstrom
rprim 0.0 1/2 1/2
1/2 0.0 1/2
1/2 1/2 0.0
ntypat 1 natom 2 typat 2*1
xred 0.0 0.0 0.0
1/4 1/4 1/4
znucl 6 nband 6
#-------------------------------------------------------------------------------
#The rest of this file is similar to the tpaw1_1.abi file
# except the ecut value (12 Ha) deduced from the convergence study
#Basis definitions
ecut 12.
ecutsm 0.5
#Definition of the unit cell
acell 3*3.567 angstrom # Lengths of the primitive vectors (exp. param. in angstrom)
rprim # 3 orthogonal primitive vectors (FCC lattice)
0.0 1/2 1/2
1/2 0.0 1/2
1/2 1/2 0.0
nsym 0 # Automatic detection of symetries
#SCF cycle parameters
tolvrs 1.0d-10
nstep 20
#Definition of the atom types and pseudopotentials
ntypat 1 # There is only one type of atom
znucl 6 # Atomic number of the possible type(s) of atom. Here carbon.
pp_dirpath "$ABI_PSPDIR" # Path to the directory were
# pseudopotentials for tests are stored
pseudos "Pseudodojo_paw_pw_standard/C.xml" # Name and location of the pseudopotential
#Definition of the atoms
natom 2 # There are two atoms
typat 1 1 # They both are of type 1, that is, Carbon
xred # Location of the atoms:
0.0 0.0 0.0 # Triplet giving the reduced coordinates of atom 1
1/4 1/4 1/4 # Triplet giving the reduced coordinates of atom 2
#K-points and sym
nsym 0
occopt 1
ngkpt 6 6 6
nshiftk 4
shiftk 0.5 0.5 0.5
0.5 0.0 0.0
0.0 0.5 0.0
0.0 0.0 0.5
#Definition of bands and occupation numbers
nband 6 # Compute 6 bands (4 occupied, 2 empty)
occopt 1 # Automatic generation of occupation numbers, as a semiconductor
#I/O parameters
prtwf 1 prtden 0 prteig 0
getwfk -1
#Numerical parameters of the calculation : planewave basis set and k point grid
ecut 12.0 # Maximal plane-wave kinetic energy cut-off, in Hartree
ecutsm 0.5 # Introduce a smooth PW cutoff within an 0.5 Ha region (not used here)
pawecutdg 50. # Max. plane-wave kinetic energy cut-off, in Ha, for the PAW double grid
kptopt 1 # Automatic generation of k points, taking into account the symmetry
ngkpt 6 6 6 # This is a 6x6x6 grid based on the primitive vectors
nshiftk 4 # of the reciprocal space, repeated four times,
shiftk # with different shifts:
0.5 0.5 0.5
0.5 0.0 0.0
0.0 0.5 0.0
0.0 0.0 0.5
pp_dirpath "$ABI_PSPDIR"
pseudos "C.LDA_PW-JTH.xml"
#Parameters for the SCF procedure
nstep 20 # Maximal number of SCF cycles
tolvrs 1.0d-10 # Will stop when, twice in a row, the difference
# between two consecutive evaluations of potential residual
# differ by less than tolvrs
#Miscelaneous parameters
prtwf 1 # Print wavefunctions (re-used from one dataset to the other)
prtden 0 # Do not print density
prteig 0 # Do not print eigenvalues
##############################################################
# This section is used only for regression testing of ABINIT #
##############################################################
#%%<BEGIN TEST_INFO>
#%% [setup]
#%% executable = abinit
@ -56,4 +81,5 @@ ndtset 10 pawecutdg: 12. pawecutdg+ 3.
#%% description =
#%% Input for PAW1 tutorial
#%% Diamond at experimental volume
#%% Convergence with respect to the Double Grid plane-wave cut-off
#%%<END TEST_INFO>

View File

@ -1,51 +1,86 @@
# Input for PAW1 tutorial
# Diamond at experimental volume
# =======================================
# Computation of Density of States (DOS)
#Output of the total DOS
prtdos 1
#Specific input parameters related to DOS printing
#Output of the projected DOS (with PAW contribs)
# prtdos 3 pawprtdos 1
# natsph 1 iatsph 1 ratsph 1.51
#Case 1: Total DOS
prtdos 1 # Flag to activate the total DOS output
#Case 2: projected DOS (to be uncommented later)
#prtdos 3 # Flag to activate the projected DOS output
#pawprtdos 1 # Flag to activate the output of all PAW contributions
#natsph 1 # Number of atom(s) around which the projected DOS has to computed
#iatsph 1 # Index of these atoms
#ratsph 1.51 # Radius defining the projection area around the atom(s)
#For this calculation we take a metallic scheme for the occupation numbers
#This is mandatory for a DOS calculation
occopt 7 # Automatic generation of occupation numbers, as a metal
tsmear 0.005 # Smearing temperature for the metallic occupation scheme (Hartree)
#For this calculation we take more k-points to have a smoother DOS curve
ngkpt 10 10 10 # This is a 10x10x10 grid based on the primitive vectors
#-------------------------------------------------------------------------------
#The rest of this file is similar to the tpaw1_1.abi file
# using the ecut and pawecutdg values deduced from the convergence studies
#Definition of the unit cell
acell 3*3.567 angstrom # Lengths of the primitive vectors (exp. param. in angstrom)
rprim # 3 orthogonal primitive vectors (FCC lattice)
0.0 1/2 1/2
1/2 0.0 1/2
1/2 1/2 0.0
nsym 0 # Automatic detection of symetries
#Definition of the atom types and pseudopotentials
ntypat 1 # There is only one type of atom
znucl 6 # Atomic number of the possible type(s) of atom. Here carbon.
pp_dirpath "$ABI_PSPDIR" # Path to the directory were
# pseudopotentials for tests are stored
pseudos "Pseudodojo_paw_pw_standard/C.xml" # Name and location of the pseudopotential
#pseudos "C_paw_pw_2proj.xml" # Uncomment this line later
#pseudos "C_paw_pw_2proj.xml" # Uncomment this line later
#Definition of the atoms
natom 2 # There are two atoms
typat 1 1 # They both are of type 1, that is, Carbon
xred # Location of the atoms:
0.0 0.0 0.0 # Triplet giving the reduced coordinates of atom 1
1/4 1/4 1/4 # Triplet giving the reduced coordinates of atom 2
#Definition of bands and occupation numbers
nband 6 # Compute 6 bands (4 occupied, 2 empty)
#Numerical parameters of the calculation : planewave basis set and k point grid
ecut 12.0 # Maximal plane-wave kinetic energy cut-off, in Hartree
ecutsm 0.5 # Introduce a smooth PW cutoff within an 0.5 Ha region (not used here)
pawecutdg 24. # Max. plane-wave kinetic energy cut-off, in Ha, for the PAW double grid
kptopt 1 # Automatic generation of k points, taking into account the symmetry
nshiftk 4 # of the reciprocal space, repeated four times,
shiftk # with different shifts:
0.5 0.5 0.5
0.5 0.0 0.0
0.0 0.5 0.0
0.0 0.0 0.5
#Parameters for the SCF procedure
nstep 20 # Maximal number of SCF cycles
tolvrs 1.0d-10 # Will stop when, twice in a row, the difference
# between two consecutive evaluations of potential residual
# differ by less than tolvrs
#Miscelaneous parameters
prtwf 0 # Do not print wavefunctions
prtden 0 # Do not print density
prteig 0 # Do not print eigenvalues
#Cell and atoms definition
acell 3*3.567 angstrom
rprim 0.0 1/2 1/2
1/2 0.0 1/2
1/2 1/2 0.0
ntypat 1 natom 2 typat 2*1
xred 0.0 0.0 0.0
1/4 1/4 1/4
znucl 6 nband 6
#Basis definitions
ecut 12.
ecutsm 0.5
pawecutdg 24.
#SCF cycle parameters
tolwfr 1.0d-12 nbdbuf 2 #nbdbuf:does not take care of empty bands
nstep 10
#K-points and sym
nsym 0
occopt 7 tsmear 0.005
ngkpt 10 10 10
nshiftk 4
shiftk 0.5 0.5 0.5
0.5 0.0 0.0
0.0 0.5 0.0
0.0 0.0 0.5
#I/O parameters
prtwf 0 prtden 0 prteig 0
pp_dirpath "$ABI_PSPDIR"
pseudos "C.LDA_PW-JTH.xml"
##############################################################
# This section is used only for regression testing of ABINIT #
##############################################################
#%%<BEGIN TEST_INFO>
#%% [setup]
#%% executable = abinit
@ -61,4 +96,5 @@
#%% description =
#%% Input for PAW1 tutorial
#%% Diamond at experimental volume
#%% Computation of Density of States
#%%<END TEST_INFO>

View File

@ -1,47 +1,70 @@
# =======================================
# Input for PAW1 tutorial
# Diamond: etotal vs acell curve around equilibrium
# =======================================
#Datasets: etotal vs acell
ndtset 7 acell: 3*3.515 angstrom acell+ 3*0.005 angstrom
#Define the different datasets
ndtset 7 # 7 datasets
acell: 3*3.515 angstrom # The starting values of the primitive vector lengths
acell+ 3*0.005 angstrom # The increment of acell from one dataset to the other
getwfk -1 # The starting wave-functions are those of the previous dataset
#Cell and atoms definition
acell 3*3.567 angstrom
rprim 0.0 1/2 1/2
1/2 0.0 1/2
1/2 1/2 0.0
ntypat 1 natom 2 typat 2*1
xred 0.0 0.0 0.0
1/4 1/4 1/4
znucl 6 nband 6
#-------------------------------------------------------------------------------
#The rest of this file is similar to the tpaw1_4.abi file
# with ecut=20, pawecutdg=50 and ngkpt=3*10 for higher precision
#Basis definitions
ecut 20.
ecutsm 0.5
pawecutdg 50.
#Definition of the unit cell
acell 3*3.567 angstrom # Lengths of the primitive vectors (not used here)
rprim # 3 orthogonal primitive vectors (FCC lattice)
0.0 1/2 1/2
1/2 0.0 1/2
1/2 1/2 0.0
nsym 0 # Automatic detection of symetries
#SCF cycle parameters
tolvrs 1.0d-10
nstep 10
#Definition of the atom types and pseudopotentials
ntypat 1 # There is only one type of atom
znucl 6 # Atomic number of the possible type(s) of atom. Here carbon.
pp_dirpath "$ABI_PSPDIR" # Path to the directory were
# pseudopotentials for tests are stored
pseudos "Pseudodojo_paw_pw_standard/C.xml" # Name and location of the pseudopotential
#Definition of the atoms
natom 2 # There are two atoms
typat 1 1 # They both are of type 1, that is, Carbon
xred # Location of the atoms:
0.0 0.0 0.0 # Triplet giving the reduced coordinates of atom 1
1/4 1/4 1/4 # Triplet giving the reduced coordinates of atom 2
#K-points and sym
nsym 0
occopt 1
ngkpt 10 10 10
nshiftk 4
shiftk 0.5 0.5 0.5
0.5 0.0 0.0
0.0 0.5 0.0
0.0 0.0 0.5
#Definition of bands and occupation numbers
nband 6 # Compute 6 bands (4 occupied, 2 empty)
occopt 1 # Automatic generation of occupation numbers, as a semiconductor
#I/O parameters
prtwf 1 prtden 0 prteig 0
getwfk -1
#Numerical parameters of the calculation : planewave basis set and k point grid
ecut 20.0 # Maximal plane-wave kinetic energy cut-off, in Hartree
ecutsm 0.5 # Introduce a smooth PW cutoff within an 0.5 Ha region (not used here)
pawecutdg 50. # Max. plane-wave kinetic energy cut-off, in Ha, for the PAW double grid
kptopt 1 # Automatic generation of k points, taking into account the symmetry
ngkpt 10 10 10 # This is a 10x10x10 grid based on the primitive vectors
nshiftk 4 # of the reciprocal space, repeated four times,
shiftk # with different shifts:
0.5 0.5 0.5
0.5 0.0 0.0
0.0 0.5 0.0
0.0 0.0 0.5
pp_dirpath "$ABI_PSPDIR"
pseudos "C.LDA_PW-JTH.xml"
#Parameters for the SCF procedure
nstep 10 # Maximal number of SCF cycles
tolvrs 1.0d-10 # Will stop when, twice in a row, the difference
# between two consecutive evaluations of potential residual
# differ by less than tolvrs
#Miscelaneous parameters
prtwf 1 # Print wavefunctions (re-used from one dataset to the other)
prtden 0 # Do not print density
prteig 0 # Do not print eigenvalues
##############################################################
# This section is used only for regression testing of ABINIT #
##############################################################
#%%<BEGIN TEST_INFO>
#%% [setup]
#%% executable = abinit