NLO tutorial broken

I was following up on the suggestion to try some NLO calculations with a simper system so I decided to review the NLO tutorials from the abinit website (nonlinear - abinit). These tutorials apply the PEAD and DFPT methods to determine the non-linear susceptibility of AlP. I note that the tutorial files are online on the abinit web site, but don’t seem to be included with the 9.10.1 distribution of abinit. When I attempted to run the PEAD example (tnlo_2.abi), the calculation proceeded without error to the end. There were some warnings about parallelization being inefficient (some processors may have been idle), but nothing that would appear to affect the calculated results. Before running the calculation, I changed the ecut value to a more realistic value (30 Rd from 8) and increased the number of allowed SCF loops to 100.

The tutorial calculation gives errors stating that

" dfptnl_doutput: WARNING -matrix of third-order energies incomplete,
non-linear optical coefficients may be wrong."

The input file is included here for reference (I don’t have the ability to upload files yet)
Note that all of the susceptibility values reported are zero. As I would like to calculate the nonlinear supsceptability for an even more complicated (but still cubic) system, I am would like to know what is wrong with the tutorial file input. It probably should be fixed so that it can be used as an example for others trying to understand how to use the nonlinear optical calculations features of abinit. Thanks for any help that can be offered.

# Linear and nonlinear response calculation for AlP
# Perturbations: electric fields & atomic displacements

ndtset 5

#DATASET1 : scf calculation: GS WF in the IBZ
#********************************************
   prtden1    1        # save density on disk, will be used in other datasets
    prtwf1    1        # save WF on disk, will be used in other datasets
   kptopt1    1        # use Irreducible Brillouin Zone (all symmetry taken into account)
   toldfe1    1.0d-12  # SCF convergence criteria (could be tolwfr or tolvrs)

#DATASET2 : non scf calculation: GS WF in half BZ
#*****************************************************
   getden2    1        # use density from dataset 1
   kptopt2    2        # use Half Brillouin Zone (only time-reversal symmetry taken into account)
   getwfk2    1        # use GS WF from dataset 1 (as input)
     iscf2   -2        # non-self-consistent calculation
   tolwfr2    1.0d-22  # convergence criteria on WF, need high precision for response
    prtwf2    1        # save WF on disk, will be used in other datasets

#DATASET3 : derivative of WF with respect to k points (d/dk)
#**********************************************************
   getwfk3    2        # use GS WF from dataset 2
   kptopt3    2        # use Half Brillouin Zone (only time-reversal symmetry taken into account)
   rfelfd3    2        # compute 1st-order WF derivatives (d/dk)
   tolwfr3    1.0d-22  # convergence criteria on 1st-order WF
    prtwf3    1        # save 1st-order WF on disk, will be used in other datasets

#DATASET4 : response functions (2nd derivatives of E)
#           and corresponding 1st order WF derivatives
#           phonons, electric fields, and strains are all done
#**************************************************************
   getwfk4    2        # use GS WF from dataset 2
   kptopt4    2        # use Half Brillouin Zone (only time-reversal symmetry taken into account)
   getddk4    3        # use ddk WF from dataset 3 (needed for electric field)
   rfphon4    1        # compute 1st-order WF derivatives with respect to atomic displacements...
   rfelfd4    3        # compute 1st-order WF derivatives with respect to electric field
   rfstrs4    3        # compute 1st-order WF derivatives with respect to strains
   tolvrs4    1.0d-12  # SCF convergence criteria (could be tolwfr)
  prepanl4    1        # make sure that response functions are correctly prepared for a non-linear computation
    prtwf4    1        # save 1st-order WF on disk, will be used in other datasets
   prtden4    1        # save 1st-order density on disk, will be used in other datasets

#DATASET5 : 3rd derivatives of E
#*********************************
   getwfk5           2     # use GS WF from dataset 2
  get1den5           4     # use 1st-order densities from dataset 4
   get1wf5           4     # use 1st-order WFs from dataset 4
   kptopt5           2     # use Half Brillouin Zone (only time-reversal symmetry taken into account)
optdriver5           5     # compute 3rd order derivatives of the energy
  d3e_pert1_elfd5    1     # activate electric field for 1st perturbation...
  d3e_pert1_phon5    1     # ...and also atomic displacements...
 d3e_pert1_atpol5    1 2   # ...for all atoms (so here only 1 and 2)...
  d3e_pert2_elfd5    1     # activate electric field for 2nd perturbation...
  d3e_pert3_elfd5    1     # activate electric field for 3rd perturbation...

#Definition of the unit cell
# these cell parameters were derived from a relaxation run done with the
# current ecut and kpt values. The current ecut value used is very low but
# is done to speed the calculations.
# acell      7.2728565836E+00  7.2728565836E+00  7.2728565836E+00 Bohr # ecut 5
# acell      7.2511099467E+00  7.2511099467E+00  7.2511099467E+00 Bohr # ecut 30
acell      7.1391127387E+00  7.1391127387E+00  7.1391127387E+00 Bohr # ecut 2.8
rprim      0.0000000000E+00  7.0710678119E-01  7.0710678119E-01
           7.0710678119E-01  0.0000000000E+00  7.0710678119E-01
           7.0710678119E-01  7.0710678119E-01  0.0000000000E+00

#Definition of the atom types and pseudopotentials
 ntypat 2 # two types of atoms
 znucl 15 13 # the atom types are Phosphorous and Aluminum

# the following norm-conserving pseudopotentials are stored in the abinit distribution, but are freely
# available through www.pseudo-dojo.org
# this set uses the Perdew-Wang parameterization of LDA for the xc model
 pp_dirpath "$ABI_PSPDIR"
 pseudos "Pseudodojo_nc_sr_04_pw_standard_psp8/P.psp8, Pseudodojo_nc_sr_04_pw_standard_psp8/Al.psp8"

#Definition of the atoms
 natom 2 # two atoms in the cell
 typat 1 2 # type 1 is Phosphorous, type 2 is Aluminum (order defined by znucl above and pseudos list)
 nband 4 # nband is restricted here to the number of filled bands only, no empty bands.
 nbdbuf 0

# atomic positions in units of cell vectors
xred
1/4 1/4 1/4
0 0 0

#Numerical parameters of the calculation : planewave basis set and k point grid
ecut 30.0 # this value is very low but is used here to achieve very low calculation times.
        # in a production environment this should be checked carefully for convergence and
        # a more reasonable value is probably around 30
ecutsm 0.5
dilatmx 1.05
ngkpt 6 6 6 # must be checked carefully for convergence, Raman calculations converge slowly with kpt
nshiftk 4 # this Monkhorst-Pack shift pattern is used so that the symmetry of the shifted grid
          # is correct. A gamma-centered grid would also have the correct symmetry but would be
          # less efficient.
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

# scf parameters
nstep 100  # limit number of steps for the tutorial, in general this should be set to its
         # default (30) or higher

# suppress printing of density, wavefunctions, etc except what is
# explicitly requested above in the ndtset section
prtwf 0
prtden 0
prteig 0

Output :

Matrix of third-order derivatives (reduced coordinates)
 before computing the permutations of the perturbations
 
     j1       j2       j3              matrix element
  dir pert dir pert dir pert           real part           imaginary part
 

  Non-linear optical susceptibility tensor d (pm/V)
  in cartesian coordinates
   i1dir  i2dir  i3dir             d
      1      1      1          0.000000000
      1      1      2          0.000000000
      1      1      3          0.000000000
      1      2      1          0.000000000
      1      2      2          0.000000000
      1      2      3          0.000000000
      1      3      1          0.000000000
      1      3      2          0.000000000
      1      3      3          0.000000000
      2      1      1          0.000000000
      2      1      2          0.000000000
      2      1      3          0.000000000
      2      2      1          0.000000000
      2      2      2          0.000000000
      2      2      3          0.000000000
      2      3      1          0.000000000
      2      3      2          0.000000000
      2      3      3          0.000000000
      3      1      1          0.000000000
      3      1      2          0.000000000
      3      1      3          0.000000000
      3      2      1          0.000000000
      3      2      2          0.000000000
      3      2      3          0.000000000
      3      3      1          0.000000000
      3      3      2          0.000000000
      3      3      3          0.000000000
 
 dfptnl_doutput: WARNING -
  matrix of third-order energies incomplete,
  non-linear optical coefficients may be wrong.

 First-order change in the electronic dielectric 
  susceptibility tensor (Bohr^-1)
  induced by an atomic displacement
   atom  displacement
    1          1        0.000000000        0.000000000        0.000000000
                        0.000000000        0.000000000        0.000000000
                        0.000000000        0.000000000        0.000000000
    1          2        0.000000000        0.000000000        0.000000000
                        0.000000000        0.000000000        0.000000000
                        0.000000000        0.000000000        0.000000000
    1          3        0.000000000        0.000000000        0.000000000
                        0.000000000        0.000000000        0.000000000
                        0.000000000        0.000000000        0.000000000
 
    2          1        0.000000000        0.000000000        0.000000000
                        0.000000000        0.000000000        0.000000000
                        0.000000000        0.000000000        0.000000000
    2          2        0.000000000        0.000000000        0.000000000
                        0.000000000        0.000000000        0.000000000
                        0.000000000        0.000000000        0.000000000
    2          3        0.000000000        0.000000000        0.000000000
                        0.000000000        0.000000000        0.000000000
                        0.000000000        0.000000000        0.000000000
 
 
 dfptnl_doutput: WARNING -
  matrix of third-order energies incomplete,
  changes in the dielectric susceptibility may be wrong.

1 Like

Hi Paul - for both the tutorial and your diamond, could you check the DDB files to see what is present and absent in the last data block for q=0. It could be that the log file is just complaining because you have the 3rd order derivatives but not the second loaded. In one of your diamond cases you were missing atom 64.
For DS4 there should be ((natom+3)*3)**2 entries, as you have added the stress stuff on top of the electric field.
For DS5 there should be (natom *3 + 1) *3 *3 (again *3 for the permutations of the R derivative)

I just ran your AlP with low ecut of 3 and ngkpt 2 2 2, and get no warning message. The DDB file looks complete. The diamond one is just missing atom 64 perturbations, which had been omitted in your input. I am using my devel version 9.11, but I doubt that makes any difference.

Hi Mattheu,

Thank you, as always, for your time.
For the PEAD calculation, there are a total of 32 DS4 related files as can be seen below. You are absolutely right about my diamond calculation missing a perturbation – I forgot to increase change the d3e_pert1_atpol to include the extra atom when I added H. This is something easily fixed. I am concerned as to why the tutorial gives zeros for the susceptibility of AlP. I would like to understand what is going wrong with the input for a simple system like AlP before the more time consuming diamond system. Do you have any ideas what might be going wrong?

-rw-r--r-- 1 paulfons paulfons 76941500 Sep 26 16:46 tnlo_2o_DS4_1WF1
-rw-r--r-- 1 paulfons paulfons 76941500 Sep 26 16:47 tnlo_2o_DS4_1WF10
-rw-r--r-- 1 paulfons paulfons 76941500 Sep 26 16:48 tnlo_2o_DS4_1WF11
-rw-r--r-- 1 paulfons paulfons 76941500 Sep 26 16:49 tnlo_2o_DS4_1WF12
-rw-r--r-- 1 paulfons paulfons 76941500 Sep 26 16:49 tnlo_2o_DS4_1WF13
-rw-r--r-- 1 paulfons paulfons 76941500 Sep 26 16:49 tnlo_2o_DS4_1WF14
-rw-r--r-- 1 paulfons paulfons 76941500 Sep 26 16:50 tnlo_2o_DS4_1WF15
-rw-r--r-- 1 paulfons paulfons 76941500 Sep 26 16:50 tnlo_2o_DS4_1WF16
-rw-r--r-- 1 paulfons paulfons 76941500 Sep 26 16:50 tnlo_2o_DS4_1WF17
-rw-r--r-- 1 paulfons paulfons 76941500 Sep 26 16:51 tnlo_2o_DS4_1WF18
-rw-r--r-- 1 paulfons paulfons    61363 Sep 26 16:51 tnlo_2o_DS4_DDB
-rw-r--r-- 1 paulfons paulfons 10038012 Sep 26 16:51 tnlo_2o_DS4_DDB.nc
-rw-r--r-- 1 paulfons paulfons   547428 Sep 26 16:46 tnlo_2o_DS4_DEN1
-rw-r--r-- 1 paulfons paulfons   547428 Sep 26 16:47 tnlo_2o_DS4_DEN10
-rw-r--r-- 1 paulfons paulfons   547428 Sep 26 16:48 tnlo_2o_DS4_DEN11
-rw-r--r-- 1 paulfons paulfons   547428 Sep 26 16:48 tnlo_2o_DS4_DEN12
-rw-r--r-- 1 paulfons paulfons   547428 Sep 26 16:49 tnlo_2o_DS4_DEN13
-rw-r--r-- 1 paulfons paulfons   547428 Sep 26 16:49 tnlo_2o_DS4_DEN14
-rw-r--r-- 1 paulfons paulfons   547428 Sep 26 16:49 tnlo_2o_DS4_DEN15
-rw-r--r-- 1 paulfons paulfons   547428 Sep 26 16:50 tnlo_2o_DS4_DEN16
-rw-r--r-- 1 paulfons paulfons   547428 Sep 26 16:50 tnlo_2o_DS4_DEN17
-rw-r--r-- 1 paulfons paulfons   547428 Sep 26 16:50 tnlo_2o_DS4_DEN18
-rw-r--r-- 1 paulfons paulfons   547452 Sep 26 16:46 tnlo_2o_DS4_POT1
-rw-r--r-- 1 paulfons paulfons   547452 Sep 26 16:47 tnlo_2o_DS4_POT10
-rw-r--r-- 1 paulfons paulfons   547452 Sep 26 16:48 tnlo_2o_DS4_POT11
-rw-r--r-- 1 paulfons paulfons   547452 Sep 26 16:48 tnlo_2o_DS4_POT12
-rw-r--r-- 1 paulfons paulfons   547452 Sep 26 16:49 tnlo_2o_DS4_POT13
-rw-r--r-- 1 paulfons paulfons   547452 Sep 26 16:49 tnlo_2o_DS4_POT14
-rw-r--r-- 1 paulfons paulfons   547452 Sep 26 16:49 tnlo_2o_DS4_POT15
-rw-r--r-- 1 paulfons paulfons   547452 Sep 26 16:50 tnlo_2o_DS4_POT16
-rw-r--r-- 1 paulfons paulfons   547452 Sep 26 16:50 tnlo_2o_DS4_POT17
-rw-r--r-- 1 paulfons paulfons   547452 Sep 26 16:50 tnlo_2o_DS4_POT18

The 1WF and DEN files are for irreducible perturbations - see the other thread about the entries in the DDB file which should be complete

For the AlP DFPT tutorial, all of the the files generated by the run are listed below. There are 32 DS4 files, 8 DS5, 12 DS6 files, and 1 DS7 file.

The Non-linear optical susceptibility tensor has all zero elements:

  Non-linear optical susceptibility tensor d (pm/V)
  in cartesian coordinates
   i1dir  i2dir  i3dir             d
      1      1      1          0.000000000
      1      1      2          0.000000000
      1      1      3          0.000000000
      1      2      1          0.000000000
      1      2      2          0.000000000
      1      2      3          0.000000000
      1      3      1          0.000000000
      1      3      2          0.000000000
      1      3      3          0.000000000
      2      1      1          0.000000000
      2      1      2          0.000000000
      2      1      3          0.000000000
      2      2      1          0.000000000
      2      2      2          0.000000000
      2      2      3          0.000000000
      2      3      1          0.000000000
      2      3      2          0.000000000
      2      3      3          0.000000000
      3      1      1          0.000000000
      3      1      2          0.000000000
      3      1      3          0.000000000
      3      2      1          0.000000000
      3      2      2          0.000000000
      3      2      3          0.000000000
      3      3      1          0.000000000
      3      3      2          0.000000000
      3      3      3          0.000000000
 
 dfptnl_doutput: WARNING -
  matrix of third-order energies incomplete,
  non-linear optical coefficients may be wrong.

The tnlo_6.abo file includes several warnings including (see below)

multiple times in DS4:
 chkph3 : WARNING -
  The dynamical matrix was incomplete : phonon frequencies may be wrong ...

multiple times in DS7

 dfptnl_doutput: WARNING -
  matrix of third-order energies incomplete, non-linear optical coefficients may be wrong.


-rw-r--r-- 1 paulfons paulfons   498743 Sep 26 17:11 log_DFPT
-rw-r--r-- 1 paulfons paulfons   207471 Sep 26 17:11 tnlo_6.abo
-rw-r--r-- 1 paulfons paulfons   165470 Sep 26 17:11 tnlo_6o_OUT.nc
-rw-r--r-- 1 paulfons paulfons    51601 Sep 26 17:11 tnlo_6o_DS7_DDB
-rw-r--r-- 1 paulfons paulfons 76941500 Sep 26 17:11 tnlo_6o_DS6_1WF42
-rw-r--r-- 1 paulfons paulfons   547452 Sep 26 17:11 tnlo_6o_DS6_POT42
-rw-r--r-- 1 paulfons paulfons 76941500 Sep 26 17:10 tnlo_6o_DS6_1WF40
-rw-r--r-- 1 paulfons paulfons   547452 Sep 26 17:10 tnlo_6o_DS6_POT40
-rw-r--r-- 1 paulfons paulfons 76941500 Sep 26 17:10 tnlo_6o_DS6_1WF39
-rw-r--r-- 1 paulfons paulfons   547452 Sep 26 17:10 tnlo_6o_DS6_POT39
-rw-r--r-- 1 paulfons paulfons 76941500 Sep 26 17:10 tnlo_6o_DS6_1WF37
-rw-r--r-- 1 paulfons paulfons   547452 Sep 26 17:10 tnlo_6o_DS6_POT37
-rw-r--r-- 1 paulfons paulfons 76941500 Sep 26 17:09 tnlo_6o_DS6_1WF35
-rw-r--r-- 1 paulfons paulfons   547452 Sep 26 17:09 tnlo_6o_DS6_POT35
-rw-r--r-- 1 paulfons paulfons 76941500 Sep 26 17:09 tnlo_6o_DS6_1WF34
-rw-r--r-- 1 paulfons paulfons   547452 Sep 26 17:09 tnlo_6o_DS6_POT34
-rw-r--r-- 1 paulfons paulfons 76941500 Sep 26 17:08 tnlo_6o_DS5_1WF30
-rw-r--r-- 1 paulfons paulfons   547452 Sep 26 17:08 tnlo_6o_DS5_POT30
-rw-r--r-- 1 paulfons paulfons 76941500 Sep 26 17:08 tnlo_6o_DS5_1WF28
-rw-r--r-- 1 paulfons paulfons   547452 Sep 26 17:08 tnlo_6o_DS5_POT28
-rw-r--r-- 1 paulfons paulfons 76941500 Sep 26 17:08 tnlo_6o_DS5_1WF26
-rw-r--r-- 1 paulfons paulfons   547452 Sep 26 17:08 tnlo_6o_DS5_POT26
-rw-r--r-- 1 paulfons paulfons 76941500 Sep 26 17:07 tnlo_6o_DS5_1WF25
-rw-r--r-- 1 paulfons paulfons   547452 Sep 26 17:07 tnlo_6o_DS5_POT25
-rw-r--r-- 1 paulfons paulfons 10038012 Sep 26 17:07 tnlo_6o_DS4_DDB.nc
-rw-r--r-- 1 paulfons paulfons    61363 Sep 26 17:07 tnlo_6o_DS4_DDB
-rw-r--r-- 1 paulfons paulfons 76941500 Sep 26 17:07 tnlo_6o_DS4_1WF18
-rw-r--r-- 1 paulfons paulfons   547452 Sep 26 17:07 tnlo_6o_DS4_POT18
-rw-r--r-- 1 paulfons paulfons   547428 Sep 26 17:07 tnlo_6o_DS4_DEN18
-rw-r--r-- 1 paulfons paulfons 76941500 Sep 26 17:06 tnlo_6o_DS4_1WF17
-rw-r--r-- 1 paulfons paulfons   547452 Sep 26 17:06 tnlo_6o_DS4_POT17
-rw-r--r-- 1 paulfons paulfons   547428 Sep 26 17:06 tnlo_6o_DS4_DEN17
-rw-r--r-- 1 paulfons paulfons 76941500 Sep 26 17:06 tnlo_6o_DS4_1WF16
-rw-r--r-- 1 paulfons paulfons   547452 Sep 26 17:06 tnlo_6o_DS4_POT16
-rw-r--r-- 1 paulfons paulfons   547428 Sep 26 17:06 tnlo_6o_DS4_DEN16
-rw-r--r-- 1 paulfons paulfons 76941500 Sep 26 17:06 tnlo_6o_DS4_1WF15
-rw-r--r-- 1 paulfons paulfons   547452 Sep 26 17:06 tnlo_6o_DS4_POT15
-rw-r--r-- 1 paulfons paulfons   547428 Sep 26 17:06 tnlo_6o_DS4_DEN15
-rw-r--r-- 1 paulfons paulfons 76941500 Sep 26 17:05 tnlo_6o_DS4_1WF14
-rw-r--r-- 1 paulfons paulfons   547452 Sep 26 17:05 tnlo_6o_DS4_POT14
-rw-r--r-- 1 paulfons paulfons   547428 Sep 26 17:05 tnlo_6o_DS4_DEN14
-rw-r--r-- 1 paulfons paulfons 76941500 Sep 26 17:05 tnlo_6o_DS4_1WF13
-rw-r--r-- 1 paulfons paulfons   547452 Sep 26 17:05 tnlo_6o_DS4_POT13
-rw-r--r-- 1 paulfons paulfons   547428 Sep 26 17:05 tnlo_6o_DS4_DEN13
-rw-r--r-- 1 paulfons paulfons 76941500 Sep 26 17:05 tnlo_6o_DS4_1WF12
-rw-r--r-- 1 paulfons paulfons   547452 Sep 26 17:05 tnlo_6o_DS4_POT12
-rw-r--r-- 1 paulfons paulfons   547428 Sep 26 17:05 tnlo_6o_DS4_DEN12
-rw-r--r-- 1 paulfons paulfons 76941500 Sep 26 17:04 tnlo_6o_DS4_1WF11
-rw-r--r-- 1 paulfons paulfons   547452 Sep 26 17:04 tnlo_6o_DS4_POT11
-rw-r--r-- 1 paulfons paulfons   547428 Sep 26 17:04 tnlo_6o_DS4_DEN11
-rw-r--r-- 1 paulfons paulfons 76941500 Sep 26 17:03 tnlo_6o_DS4_1WF10
-rw-r--r-- 1 paulfons paulfons   547452 Sep 26 17:03 tnlo_6o_DS4_POT10
-rw-r--r-- 1 paulfons paulfons   547428 Sep 26 17:03 tnlo_6o_DS4_DEN10
-rw-r--r-- 1 paulfons paulfons 76941500 Sep 26 17:03 tnlo_6o_DS4_1WF1
-rw-r--r-- 1 paulfons paulfons   547452 Sep 26 17:02 tnlo_6o_DS4_POT1
-rw-r--r-- 1 paulfons paulfons   547428 Sep 26 17:02 tnlo_6o_DS4_DEN1
-rw-r--r-- 1 paulfons paulfons 10229753 Sep 26 17:02 tnlo_6o_DS3_EVK.nc
-rw-r--r-- 1 paulfons paulfons 76941500 Sep 26 17:02 tnlo_6o_DS3_1WF9
-rw-r--r-- 1 paulfons paulfons   547452 Sep 26 17:02 tnlo_6o_DS3_POT9
-rw-r--r-- 1 paulfons paulfons 76941500 Sep 26 17:02 tnlo_6o_DS3_1WF8
-rw-r--r-- 1 paulfons paulfons   547452 Sep 26 17:02 tnlo_6o_DS3_POT8
-rw-r--r-- 1 paulfons paulfons 76941500 Sep 26 17:02 tnlo_6o_DS3_1WF7
-rw-r--r-- 1 paulfons paulfons   547452 Sep 26 17:02 tnlo_6o_DS3_POT7
-rw-r--r-- 1 paulfons paulfons 76848188 Sep 26 17:01 tnlo_6o_DS2_WFK
-rw-r--r-- 1 paulfons paulfons    56618 Sep 26 17:01 tnlo_6o_DS2_EBANDS.agr
-rw-r--r-- 1 paulfons paulfons 10134767 Sep 26 17:01 tnlo_6o_DS2_GSR.nc
-rw-r--r-- 1 paulfons paulfons     8854 Sep 26 17:01 tnlo_6o_DS1_DDB
-rw-r--r-- 1 paulfons paulfons  4983524 Sep 26 17:01 tnlo_6o_DS1_WFK
-rw-r--r-- 1 paulfons paulfons     4456 Sep 26 17:01 tnlo_6o_DS1_EBANDS.agr
-rw-r--r-- 1 paulfons paulfons 10083682 Sep 26 17:01 tnlo_6o_DS1_GSR.nc
-rw-r--r-- 1 paulfons paulfons   516724 Sep 26 17:01 tnlo_6o_DS1_DEN

I get finite values for all of the 3rd order derivatives, and see below…

I am not an NL expert, you may have to run anaddb to get all of the stuff combined correctly for the chi2 and electro optical coeffs etc.

Not sure what else to suggest!


Non-linear optical susceptibility tensor d (pm/V)
in cartesian coordinates
i1dir i2dir i3dir d
1 1 1 0.000000080
1 1 2 0.000000046
1 1 3 0.000000022
1 2 1 0.000000046
1 2 2 -0.000000004
1 2 3 9.205238740
1 3 1 0.000000022
1 3 2 9.205238740
1 3 3 0.000000048
2 1 1 0.000000046
2 1 2 -0.000000004
2 1 3 9.205238740


Matrix of third-order derivatives (reduced coordinates)
before computing the permutations of the perturbations

 j1       j2       j3              matrix element

dir pert dir pert dir pert real part imaginary part
1 1 1 4 1 4 6.6506183698 0.0000000000
1 1 1 4 2 4 -3.3253091556 0.0000000000
1 1 1 4 3 4 -3.3253091556 0.0000000000
1 1 2 4 1 4 -3.3253092039 0.0000000000
1 1 2 4 2 4 0.0000000000 0.0000000000
1 1 2 4 3 4 0.0000000000 0.0000000000
1 1 3 4 1 4 -3.3253092039 0.0000000000
1 1 3 4 2 4 0.0000000000 0.0000000000
1 1 3 4 3 4 0.0000000000 0.0000000000
2 1 1 4 1 4 0.0000000000 0.0000000000
2 1 1 4 2 4 -3.3253092039 0.0000000000
2 1 1 4 3 4 0.0000000000 0.0000000000
2 1 2 4 1 4 -3.3253092624 0.0000000000
2 1 2 4 2 4 6.6506183698 0.0000000000
2 1 2 4 3 4 -3.3253091556 0.0000000000

Thanks Mattheiu,
I believe you are correct in that the data need to be further processed using MRGDDB and ANADDB and I shall do so. I am just confused why there the non-linear susceptibility tensor is included in the abo file and is zero. I shall combine the databases and see what happens. I plan to report back when finished.

Following the tutorial, I have merged tnlo_2o_DS4_DDB and tnlo_2o_DS5_DDB using mrgddb and the input file:

tnlo_3.ddb.out
linear + nonlinear response calculation of AlP
2
tnlo_2o_DS4_DDB
tnlo_2o_DS5_DDB

The result seems reasonable and there was no error reported.

>mrgddb < tnlo_3.abi

.Version 9.6.2 of MRGDDB 
.(MPI version, prepared for a x86_64_linux_intel2021.6 computer) 

.Copyright (C) 1998-2021 ABINIT group . 
 MRGDDB comes with ABSOLUTELY NO WARRANTY.
 It is free software, and you are welcome to redistribute it
 under certain conditions (GNU General Public License,
 see ~abinit/COPYING or http://www.gnu.org/copyleft/gpl.txt).

 ABINIT is a project of the Universite Catholique de Louvain,
 Corning Inc. and other collaborators, see ~abinit/doc/developers/contributors.txt .
 Please read https://docs.abinit.org/theory/acknowledgments for suggested
 acknowledgments of the ABINIT effort.
 For more information, see https://www.abinit.org .

.Starting date : Tue 26 Sep 2023.
- ( at 17h47 )
  
  Give name for output derivative database : 
 tnlo_3.ddb.out
  Give short description of the derivative database :
 linear + nonlinear response calculation of AlP
  Give number of input ddbs, or 1 if input GS file
           2
  Give name for derivative database number           1  : 
 tnlo_2o_DS4_DDB
  Give name for derivative database number           2  : 
 tnlo_2o_DS5_DDB
 Opening DDB file: tnlo_2o_DS4_DDB
  inprep8 : nband(1)=           4
        occ  0.20000000000000D+01  0.20000000000000D+01  0.20000000000000D+01
             0.20000000000000D+01
 Opening DDB file: tnlo_2o_DS5_DDB
  inprep8 : nband(1)=           4
        occ  0.20000000000000D+01  0.20000000000000D+01  0.20000000000000D+01
             0.20000000000000D+01
 Opening DDB file: tnlo_2o_DS4_DDB
  inprep8 : nband(1)=           4
        occ  0.20000000000000D+01  0.20000000000000D+01  0.20000000000000D+01
             0.20000000000000D+01
 Opening DDB file: tnlo_2o_DS5_DDB
  inprep8 : nband(1)=           4
        occ  0.20000000000000D+01  0.20000000000000D+01  0.20000000000000D+01
             0.20000000000000D+01
  read the input derivative database information
 Opening DDB file: tnlo_2o_DS4_DDB
  inprep8 : nband(1)=           4
        occ  0.20000000000000D+01  0.20000000000000D+01  0.20000000000000D+01
             0.20000000000000D+01
 About to open file tnlo_2o_DS4_DDB
 read     1 blocks from the input DDB
 
 read the input derivative database number     2
 Opening DDB file: tnlo_2o_DS5_DDB
  inprep8 : nband(1)=           4
        occ  0.20000000000000D+01  0.20000000000000D+01  0.20000000000000D+01
             0.20000000000000D+01
 About to open file tnlo_2o_DS5_DDB
 compare the current and input DDB information
 Will try to merge this input DDB with the current one.
 Current number of bloks =    1
 Will read     1 blocks from the input DDB
 Now, current number of bloks =    2
 All DDBs have been read
 check the equality of blocks, and eventually merge
     0 blocks are merged; the new DDB will have      2 blocks.
 open the output database, write the preliminary information
 write the DDB
 Write bloc number   1
 Write bloc number   2
-
- Proc.   0 individual time (sec): cpu=          0.0  wall=          0.5
+mrgddb : the run completed successfully

Now the merge is done and the NLO tutorial states to use anaddb. The input for anaddb is specified using the file tnlo_4.files and the file tnlo_4.abi.

The contents of the two files are

tnlo_4.files

tnlo_4.abi
tnlo_4.abo
tnlo_3.ddb.out
tnlo_4_thm_dummy
tnlo_4_gkk_dummy
tnlo_4_ep_dummy
tnlo_4_ddk_dummy

while the contents of the tnlo_4.abi is

# General information
#**********************
   rfmeth  1
   enunit  0
   eivec   1
   chneut  2
   selectz 0

# Flags
#*******
   dieflag  1
   ifcflag  0 ! This is the default value
   thmflag  0 ! This is the default value
    nlflag  1
   elaflag  3
 piezoflag  3
 instrflag  1

# Nonlinear response calculation
#*******************************
   ramansr  1
    alphon  1
    prtmbm  1

# Wavevector list number 1
**************************                                                      
     nph1l  1
     qph1l  0.0 0.0 0.0 1.0 

The input in the tnlo_4.abi files specifies requests the NLO properties be calculated via the cards

nlflag 1
ramansr 1
alphon 1
prtmbm 1

The example code, however, complains that “Cannot find block corresponding to non-linear optical susceptibilities in DDB file”. This is strange in that this the above input is part of a tutorial that goes on to report the non-linear susceptibility, but the specified input files do not work. Do you have any idea what might be missing from the DDB that is complained about?

>anaddb tnlo_4.abi

.Version 9.6.2 of ANADDB 
.(MPI version, prepared for a x86_64_linux_intel2021.6 computer) 

.Copyright (C) 1998-2021 ABINIT group . 
 ANADDB comes with ABSOLUTELY NO WARRANTY.
 It is free software, and you are welcome to redistribute it
 under certain conditions (GNU General Public License,
 see ~abinit/COPYING or http://www.gnu.org/copyleft/gpl.txt).

 ABINIT is a project of the Universite Catholique de Louvain,
 Corning Inc. and other collaborators, see ~abinit/doc/developers/contributors.txt .
 Please read https://docs.abinit.org/theory/acknowledgments for suggested
 acknowledgments of the ABINIT effort.
 For more information, see https://www.abinit.org .

.Starting date : Tue 26 Sep 2023.
- ( at 17h56 )
  
-instrng: 28 lines of input have been read from file tnlo_4.abi
 
- Name for formatted output file: run.abo
 
--- !ERROR
src_file: m_anaddb_dataset.F90
src_line: 2143
mpi_rank: 0
message: |
    ddb_filepath variable must be specified in the input file
...
 
 
--- !ERROR
src_file: m_anaddb_dataset.F90
src_line: 2143
mpi_rank: 0
message: |
    ddb_filepath variable must be specified in the input file
...
 
 
 abinit_abort: decision taken to exit. Check above messages for more info
Abort(13) on node 0 (rank 0 in comm 0): application called MPI_Abort(MPI_COMM_WORLD, 13) - process 0
paulfons@kaon:/data/Software/abinit/abinit-9.10.1/tests/tutorial/Input/Work_NLO>anaddb < tnlo_4.files 

.Version 9.6.2 of ANADDB 
.(MPI version, prepared for a x86_64_linux_intel2021.6 computer) 

.Copyright (C) 1998-2021 ABINIT group . 
 ANADDB comes with ABSOLUTELY NO WARRANTY.
 It is free software, and you are welcome to redistribute it
 under certain conditions (GNU General Public License,
 see ~abinit/COPYING or http://www.gnu.org/copyleft/gpl.txt).

 ABINIT is a project of the Universite Catholique de Louvain,
 Corning Inc. and other collaborators, see ~abinit/doc/developers/contributors.txt .
 Please read https://docs.abinit.org/theory/acknowledgments for suggested
 acknowledgments of the ABINIT effort.
 For more information, see https://www.abinit.org .

.Starting date : Tue 26 Sep 2023.
- ( at 17h59 )
  
 DeprecationWarning: 

     The files file has been deprecated in Abinit9 and will be removed in Abinit10.
     Use the syntax `anaddb t01.abi` where t01.abi is an anaddb input with ddb_filepath.

            ddb_filepath = "out_DDB"


  Give name for formatted input file: 
-   tnlo_4.abi
  Give name for formatted output file: 
-   tnlo_4.abo
  Give name for input derivative database: 
-   tnlo_3.ddb.out
  Give name for output molecular dynamics: 
-   tnlo_4_thm_dummy
  Give name for input elphon matrix elements (GKK file): 
-   tnlo_4_gkk_dummy
  Give root name for elphon output files: 
-   tnlo_4_ep_dummy
  Give name for file containing ddk filenames for elphon/transport: 
-   tnlo_4_ddk_dummy
- Root name for output files set to: tnlo_4
 Opening DDB file: tnlo_3.ddb.out
  inprep8 : nband(1)=           4
        occ  0.20000000000000D+01  0.20000000000000D+01  0.20000000000000D+01
             0.20000000000000D+01
-instrng: 28 lines of input have been read from file tnlo_4.abi
 
 
--- !COMMENT
src_file: m_dtfil.F90
src_line: 1476
message: |
    Output file: tnlo_4.abo already exists.
...
 
 
--- !COMMENT
src_file: m_dtfil.F90
src_line: 1500
message: |
    Renaming old: tnlo_4.abo to: tnlo_4.abo0001
...
 

================================================================================

 -outvars_anaddb: echo values of input variables ----------------------

 Flags :
     dieflag         1
      nlflag         1
     elaflag         3
   instrflag         1
   piezoflag         3
 Miscellaneous information :
       eivec         1
         asr         1
      chneut         2
 Frequency information :
       nfreq         1
       frmin         0.00000000E+00
       frmax         1.00000000E+01
 Non-linear response information :
      alphon         1
      prtmbm         1
     ramansr         1
 First list of wavevector (reduced coord.) :
       nph1l         1
       qph1l
                     0.00000000E+00  0.00000000E+00  0.00000000E+00    1.000E+00

================================================================================

 read the DDB information and perform some checks
 
 Opening DDB file: tnlo_3.ddb.out
  inprep8 : nband(1)=           4
        occ  0.20000000000000D+01  0.20000000000000D+01  0.20000000000000D+01
             0.20000000000000D+01
 Opening DDB file: tnlo_3.ddb.out
  inprep8 : nband(1)=           4
        occ  0.20000000000000D+01  0.20000000000000D+01  0.20000000000000D+01
             0.20000000000000D+01
 About to open file tnlo_3.ddb.out
 Unit cell volume ucvol=  2.5728693E+02 bohr^3
 Angles (23,13,12)=  6.00000000E+01  6.00000000E+01  6.00000000E+01 degrees
 
 
 rdddb9: read 2 blocks from the input DDB
 Now the whole DDB is in central memory
- Creating netcdf file WITHOUT MPI-IO support: tnlo_4_anaddb.nc
 Dielectric Tensor     8.278971E+00    0.000000E+00   -6.940845E-16    0.000000E+00    8.278971E+00   -2.776338E-15    0.000000E+00   -2.776338E-15    8.278971E+00
 
--- !ERROR
src_file: anaddb.F90
src_line: 456
mpi_rank: 0
message: |
    Cannot find block corresponding to non-linear optical susceptibilities in DDB file
...
 
 
--- !ERROR
src_file: anaddb.F90
src_line: 456
mpi_rank: 0
message: |
    Cannot find block corresponding to non-linear optical susceptibilities in DDB file
...
 

Blockquote

I thought I would elaborate that the NLO tutorial states for the PEAD method (as opposed to DFPT) that

the d3e input variables determine the 3 perturbations of the 3rd order derivatives, and their directions. Notice that we compute three derivatives with respect to electric field:[d3e_pert1_elfd], [d3e_pert2_elfd], and [d3e_pert3_elfd]. These will be combined to give the necessary data for the nonlinear optical susceptibility.

I interpreted this as stating that these third order derivatives and the corresponding flags are the necessary components for computing chi2. These are all present in the tnlo_2.abi file specified in the non-linear optics tutorial (nonlinear - abinit). The input file, tnlo_2, runs without error to execution, but when the above different DDB are combined from Datasets 4 and 5 of the output, anaddb indicates that the underlying data necessary for computing chi2 are missing specifically

--- !ERROR
src_file: anaddb.F90
src_line: 456
mpi_rank: 0
message: |
    Cannot find block corresponding to non-linear optical susceptibilities in DDB file
...

I would be grateful if anyone could shed light on what perturbation is missing. Note for the PEAD approach (unlike the DFPT approach) terms like rf2_dkdk and rf2_dkde are not necessary as stated in the tutorial as well).

Can you forward you abi input files. I would like to double check if I have a mistake in my input file as the values for the on-linear optical susceptibility tensor d are all zero in my AlP tutorial output.

Linear and nonlinear response calculation for AlP

Perturbations: electric fields & atomic displacements

ndtset 5

#DATASET1 : scf calculation: GS WF in the IBZ
#********************************************
prtden1 1 # save density on disk, will be used in other datasets
prtwf1 1 # save WF on disk, will be used in other datasets
kptopt1 1 # use Irreducible Brillouin Zone (all symmetry taken into account)
toldfe1 1.0d-12 # SCF convergence criteria (could be tolwfr or tolvrs)

#DATASET2 : non scf calculation: GS WF in half BZ
#*****************************************************
getden2 1 # use density from dataset 1
kptopt2 2 # use Half Brillouin Zone (only time-reversal symmetry taken into account)
getwfk2 1 # use GS WF from dataset 1 (as input)
iscf2 -2 # non-self-consistent calculation
tolwfr2 1.0d-22 # convergence criteria on WF, need high precision for response
prtwf2 1 # save WF on disk, will be used in other datasets

#DATASET3 : derivative of WF with respect to k points (d/dk)
#**********************************************************
getwfk3 2 # use GS WF from dataset 2
kptopt3 2 # use Half Brillouin Zone (only time-reversal symmetry taken into account)
rfelfd3 2 # compute 1st-order WF derivatives (d/dk)
tolwfr3 1.0d-22 # convergence criteria on 1st-order WF
prtwf3 1 # save 1st-order WF on disk, will be used in other datasets

#DATASET4 : response functions (2nd derivatives of E)

and corresponding 1st order WF derivatives

phonons, electric fields, and strains are all done

#**************************************************************
getwfk4 2 # use GS WF from dataset 2
kptopt4 2 # use Half Brillouin Zone (only time-reversal symmetry taken into account)
getddk4 3 # use ddk WF from dataset 3 (needed for electric field)
rfphon4 1 # compute 1st-order WF derivatives with respect to atomic displacements…
rfelfd4 3 # compute 1st-order WF derivatives with respect to electric field
rfstrs4 3 # compute 1st-order WF derivatives with respect to strains
tolvrs4 1.0d-12 # SCF convergence criteria (could be tolwfr)
prepanl4 1 # make sure that response functions are correctly prepared for a non-linear computation
prtwf4 1 # save 1st-order WF on disk, will be used in other datasets
prtden4 1 # save 1st-order density on disk, will be used in other datasets

#DATASET5 : 3rd derivatives of E
#*********************************
getwfk5 2 # use GS WF from dataset 2
get1den5 4 # use 1st-order densities from dataset 4
get1wf5 4 # use 1st-order WFs from dataset 4
kptopt5 2 # use Half Brillouin Zone (only time-reversal symmetry taken into account)
optdriver5 5 # compute 3rd order derivatives of the energy
d3e_pert1_elfd5 1 # activate electric field for 1st perturbation…
d3e_pert1_phon5 1 # …and also atomic displacements…
d3e_pert1_atpol5 1 2 # …for all atoms (so here only 1 and 2)…
d3e_pert2_elfd5 1 # activate electric field for 2nd perturbation…
d3e_pert3_elfd5 1 # activate electric field for 3rd perturbation…
#Definition of the unit cell

these cell parameters were derived from a relaxation run done with the

current ecut and kpt values. The current ecut value used is very low but

is done to speed the calculations.

acell 7.2728565836E+00 7.2728565836E+00 7.2728565836E+00 Bohr # ecut 5

acell 7.2511099467E+00 7.2511099467E+00 7.2511099467E+00 Bohr # ecut 30

acell 7.1391127387E+00 7.1391127387E+00 7.1391127387E+00 Bohr # ecut 2.8
rprim 0.0000000000E+00 7.0710678119E-01 7.0710678119E-01
7.0710678119E-01 0.0000000000E+00 7.0710678119E-01
7.0710678119E-01 7.0710678119E-01 0.0000000000E+00

#Definition of the atom types and pseudopotentials
ntypat 2 # two types of atoms
znucl 15 13 # the atom types are Phosphorous and Aluminum

the following norm-conserving pseudopotentials are stored in the abinit distribution, but are freely

available through www.pseudo-dojo.org

this set uses the Perdew-Wang parameterization of LDA for the xc model

pp_dirpath “$ABI_PSPDIR”
pseudos “Pseudodojo_nc_sr_04_pw_standard_psp8/P.psp8, Pseudodojo_nc_sr_04_pw_standard_psp8/Al.psp8”

#Definition of the atoms
natom 2 # two atoms in the cell
typat 1 2 # type 1 is Phosphorous, type 2 is Aluminum (order defined by znucl above and pseudos list)
nband 4 # nband is restricted here to the number of filled bands only, no empty bands.
nbdbuf 0

atomic positions in units of cell vectors

xred
1/4 1/4 1/4
0 0 0

#Numerical parameters of the calculation : planewave basis set and k point grid
ecut 3.0 # this value is very low but is used here to achieve very low calculation times.
# in a production environment this should be checked carefully for convergence and
# a more reasonable value is probably around 30
ecutsm 0.5
dilatmx 1.05
ngkpt 2 2 2 # 6 6 6 # must be checked carefully for convergence, Raman calculations converge slowly with kpt
nshiftk 4 # this Monkhorst-Pack shift pattern is used so that the symmetry of the shifted grid
# is correct. A gamma-centered grid would also have the correct symmetry but would be
# less efficient.
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

scf parameters

nstep 100 # limit number of steps for the tutorial, in general this should be set to its
# default (30) or higher

suppress printing of density, wavefunctions, etc except what is

explicitly requested above in the ndtset section

prtwf 0
prtden 0
prteig 0

Dear Mattheiu,

Thank you for your patience and your help with my struggles with the NLO routines of abinit. I am afraid that my abinit itself may be a problem.

I made a new directory and (cleverly) name the new input files “new”. For the PEAD approach, I took the tnlo_2.abi file from the tutorial and checked line by line to make sure that the contents were the same as you listed above. Note I used the NC SR (ONCVPSP v0.4.1) LDA pseudopotentials from the pseudodojo web site.

As the tutorial also calculates Raman, it includes displacements that are not (I believe) needed for the non-linear susceptibility which I believe requires third-order terms of the energy with respect to the field alone, namely the “d2e_pert1_elfd”, “d2e_pert2_elfd”, and “d2e_pert3_elfd”. The has no errors, but does give several warnings. In dataset 4, there is a warning that " The dynamical matrix was incomplete : phonon frequencies may be wrong …“, while in dataset 5, there is the warning " dfptnl_doutput: WARNING - matrix of third-order energies incomplete, non-linear optical coefficients may be wrong.” The non-linear optical susceptibility tensor is completely zero as well

  Non-linear optical susceptibility tensor d (pm/V)
  in cartesian coordinates
   i1dir  i2dir  i3dir             d
      1      1      1          0.000000000
      1      1      2          0.000000000
      1      1      3          0.000000000
      1      2      1          0.000000000
      1      2      2          0.000000000
      1      2      3          0.000000000
      1      3      1          0.000000000
      1      3      2          0.000000000
      1      3      3          0.000000000
      2      1      1          0.000000000
      2      1      2          0.000000000
      2      1      3          0.000000000
      2      2      1          0.000000000
      2      2      2          0.000000000
      2      2      3          0.000000000
      2      3      1          0.000000000
      2      3      2          0.000000000
      2      3      3          0.000000000
      3      1      1          0.000000000
      3      1      2          0.000000000
      3      1      3          0.000000000
      3      2      1          0.000000000
      3      2      2          0.000000000
      3      2      3          0.000000000
      3      3      1          0.000000000
      3      3      2          0.000000000
      3      3      3          0.000000000

Do you have any idea why the matrix of third-order energies is incomplete? I note that in your earlier reply, you showed a run you made had non-zero susceptibility tensor values.

I meant to include the input and output files for reference. Here they are:
new_2.abi/abo. PEAD calculation for AlP
new_3.abi/abo mgrddb merging input for DDB
new_4.files/abi/abo. anaddb calculation of response functions (with error messages)

input_output.tgz (23.5 KB)

Hi Paul,

my previous post contains my AlP input which works. In your new_2 abo file, I see the following block

The list of irreducible elements of the Raman and non-linear
optical susceptibility tensors is:

        i1pert  i1dir   i2pert  i2dir   i3pert  i3dir

Real(R)+Recip(G) space primitive vectors, cartesian coordinates (Bohr,Bohr^-1):

which means it detected no 3rd order derivatives to do, and returns 0 of course.

Looking at your input there is very little change, just k and ecut.

Comparing the outputs, your abinit version is quite old (9.6 vs 9.10), there are small differences in mpw and nkpt, and I see your rfdir5 is 0 0 0 - this may be killing the calculation. In my case the default has been updated to 1 1 1 so it will do the calculations whereas before you needed to tell it to.

Hi Mattheiu,
Thanks for your help. I have built the latest cpu version (and hopefully the gpu version soon) of abinit. I was using the easy-build version before and seeing as you have mentioned that some of the defaults have been improved, it only makes sense to use the latest version. I will give the calculation another try with the new version of abinit 9.10.3

Hi Mattheiu,
I wanted to let you know that the newest version of abinit 9.10.3 that I just compiled and tested does produce non-zero susceptibility coefficients. Your analysis was correct. I will now restart my diamond NV center calculation with hopefully more useful results! I don’t know if you are the right person to address, but it might be worthwhile adding a sentence about the need to use a newer version of abinit with the NLO tutorial. Mind you that the tutorial is not broken (as I originally worried), but can act like it is if the wrong version of abinit is used. Thank you very much for your help!

Hi Mattheiu,

As I mentioned above, I have compiled and tested abinit 9.10.3. I also ran the NLO tutorial and it worked fine. I tried last night to run the diamond NV center and it worked to DATASET 4, but crashed right after the statement

 At SCF step  112       vres2   =  6.50E-13 < tolvrs=  1.00E-12 =>converged.
-open ddk wf file :outdata/outnc_DS3_1WF193

was written to the abo file.

The log file showed

ITER STEP NUMBER   112
 ETOT  112   23.786012267423      9.379E-13 3.258E-13 6.505E-13
 
 At SCF step  112       vres2   =  6.50E-13 < tolvrs=  1.00E-12 =>converged.
-open ddk wf file :outdata/outnc_DS3_1WF193
Abort(13) on node 72 (rank 72 in comm 0): application called MPI_Abort(MPI_COMM_WORLD, 13) - process 72

A quick look at the outdata directory shows that the file outnc_DS3_1WF193 was written (here are the last few files written) as well as several files in addition. The crash is pretty hard to diagnose as there is not much to go by. I will attach the log file to this posting. I did use 96 cores so perhaps this was too much?
log.txt (789.9 KB)

paulfons@pegasus:/data/abinit/diamond_NV/relax_H/chi>ls -lt outdata |head
total 114803192
-rw-r--r-- 1 paulfons paulfons   26746234 Oct  3 04:12 outnc_DS3_EVK.nc
-rw-r--r-- 1 paulfons paulfons 5339154016 Oct  3 04:12 outnc_DS3_1WF195.nc
-rw-r--r-- 1 paulfons paulfons   16071876 Oct  3 04:12 outnc_DS3_POT195.nc
-rw-r--r-- 1 paulfons paulfons 5339154016 Oct  3 01:42 outnc_DS3_1WF194.nc
-rw-r--r-- 1 paulfons paulfons   16071876 Oct  3 01:42 outnc_DS3_POT194.nc
-rw-r--r-- 1 paulfons paulfons 5339154016 Oct  2 23:13 outnc_DS3_1WF193.nc
-rw-r--r-- 1 paulfons paulfons   16071876 Oct  2 23:12 outnc_DS3_POT193.nc
-rw-r--r-- 1 paulfons paulfons 5339160218 Oct  2 20:42 outnc_DS2_WFK.nc
-rw-r--r-- 1 paulfons paulfons     171114 Oct  2 20:42 outnc_DS2_EBANDS.agr