| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
 100
 101
 102
 103
 104
 105
 106
 107
 108
 109
 110
 111
 112
 113
 114
 115
 116
 117
 118
 119
 120
 121
 122
 123
 124
 125
 126
 127
 128
 129
 130
 131
 132
 133
 134
 135
 136
 137
 138
 139
 140
 141
 142
 143
 144
 145
 146
 147
 148
 149
 150
 151
 152
 153
 154
 155
 156
 157
 158
 159
 160
 161
 162
 163
 164
 165
 166
 167
 168
 169
 170
 171
 172
 173
 174
 175
 176
 177
 178
 179
 180
 181
 182
 183
 184
 185
 186
 187
 188
 189
 190
 191
 192
 193
 194
 195
 196
 197
 198
 199
 200
 201
 202
 203
 204
 205
 206
 207
 208
 209
 210
 211
 212
 213
 214
 215
 216
 217
 218
 219
 220
 221
 222
 223
 224
 225
 226
 227
 228
 229
 230
 231
 232
 233
 234
 235
 236
 237
 238
 239
 240
 241
 242
 243
 244
 245
 246
 247
 248
 249
 250
 251
 252
 253
 254
 255
 256
 257
 258
 259
 260
 261
 262
 263
 264
 265
 266
 267
 268
 269
 270
 271
 272
 273
 274
 275
 276
 277
 278
 279
 280
 281
 282
 283
 284
 285
 286
 287
 288
 289
 290
 291
 292
 293
 294
 295
 296
 297
 298
 299
 300
 301
 302
 303
 304
 305
 306
 307
 308
 309
 310
 311
 312
 313
 314
 315
 316
 317
 318
 319
 320
 321
 322
 323
 324
 325
 326
 327
 328
 329
 330
 331
 332
 333
 334
 335
 336
 337
 338
 339
 340
 341
 342
 343
 344
 345
 346
 347
 348
 349
 350
 351
 352
 353
 354
 355
 356
 357
 358
 359
 360
 361
 362
 363
 364
 365
 366
 367
 368
 369
 370
 371
 372
 373
 374
 375
 376
 377
 378
 379
 380
 381
 382
 383
 384
 385
 386
 387
 388
 389
 390
 391
 392
 393
 394
 395
 396
 397
 398
 399
 400
 401
 402
 403
 404
 405
 406
 407
 408
 409
 410
 411
 412
 413
 414
 415
 416
 417
 418
 419
 420
 421
 422
 423
 424
 425
 426
 427
 428
 429
 430
 431
 432
 433
 434
 435
 436
 437
 438
 439
 440
 441
 442
 443
 444
 445
 446
 447
 448
 449
 450
 451
 452
 453
 454
 455
 456
 457
 458
 459
 460
 461
 462
 463
 464
 465
 466
 467
 468
 469
 470
 471
 472
 473
 474
 475
 476
 477
 478
 479
 480
 481
 482
 483
 484
 485
 486
 487
 488
 489
 490
 491
 492
 493
 494
 495
 496
 497
 498
 499
 500
 501
 502
 503
 504
 505
 506
 507
 508
 509
 510
 511
 512
 513
 514
 515
 516
 517
 518
 519
 520
 521
 522
 523
 524
 525
 526
 527
 528
 529
 530
 531
 532
 533
 534
 535
 536
 537
 538
 539
 540
 541
 542
 543
 544
 545
 546
 547
 548
 549
 550
 551
 552
 553
 554
 555
 556
 557
 558
 559
 560
 561
 562
 563
 564
 565
 566
 567
 568
 569
 570
 571
 572
 573
 574
 575
 576
 577
 578
 579
 580
 581
 582
 583
 584
 585
 586
 587
 588
 589
 590
 591
 592
 593
 594
 595
 596
 597
 598
 599
 600
 601
 602
 603
 604
 605
 606
 607
 608
 609
 610
 611
 612
 613
 614
 615
 616
 617
 618
 619
 620
 621
 622
 623
 624
 625
 626
 627
 628
 629
 630
 631
 632
 633
 634
 635
 636
 637
 638
 639
 640
 641
 642
 643
 644
 645
 646
 647
 648
 649
 650
 651
 652
 653
 654
 655
 656
 657
 658
 659
 660
 661
 662
 663
 664
 665
 666
 667
 668
 669
 670
 671
 672
 673
 674
 675
 676
 677
 678
 679
 680
 681
 682
 683
 684
 685
 686
 687
 688
 689
 690
 691
 692
 693
 694
 695
 696
 697
 698
 699
 700
 701
 702
 703
 704
 705
 706
 707
 708
 709
 710
 711
 712
 713
 714
 715
 716
 717
 718
 719
 720
 721
 722
 723
 724
 725
 726
 727
 728
 729
 730
 731
 732
 733
 734
 735
 736
 737
 738
 739
 740
 741
 742
 743
 744
 745
 746
 747
 748
 749
 750
 751
 752
 753
 754
 755
 756
 757
 758
 759
 760
 761
 762
 763
 764
 765
 766
 767
 768
 769
 770
 771
 772
 773
 774
 775
 776
 777
 778
 779
 780
 781
 782
 783
 784
 785
 786
 787
 788
 789
 790
 791
 792
 793
 794
 795
 796
 797
 798
 799
 800
 801
 802
 803
 804
 805
 806
 807
 808
 809
 810
 811
 812
 813
 814
 815
 816
 817
 818
 819
 820
 821
 822
 823
 824
 825
 826
 827
 828
 829
 830
 831
 832
 833
 834
 835
 836
 837
 838
 839
 840
 841
 842
 843
 844
 845
 846
 847
 848
 849
 850
 851
 852
 853
 854
 855
 856
 857
 858
 859
 860
 861
 862
 863
 864
 865
 866
 867
 868
 869
 870
 871
 872
 873
 874
 875
 876
 877
 878
 879
 880
 881
 882
 883
 884
 885
 886
 887
 888
 889
 890
 891
 892
 893
 894
 895
 896
 897
 898
 899
 900
 901
 902
 903
 904
 905
 906
 907
 908
 909
 910
 911
 912
 913
 914
 915
 916
 917
 918
 919
 920
 921
 922
 923
 924
 925
 926
 927
 928
 929
 930
 931
 932
 933
 934
 935
 936
 937
 938
 939
 940
 941
 942
 943
 944
 945
 946
 947
 948
 949
 950
 951
 952
 953
 954
 955
 956
 957
 958
 959
 960
 961
 962
 963
 964
 965
 966
 967
 968
 969
 970
 971
 972
 973
 974
 975
 976
 977
 978
 979
 980
 981
 982
 
 | *** FILE AUTOMATICALLY CREATED: DO NOT EDIT, CHANGES WILL BE LOST ***
------------------------------------------------------------------------
INPUT FILE DESCRIPTION
Program: ph.x / PWscf / Quantum Espresso (version: 6.6)
------------------------------------------------------------------------
Input data format: { } = optional, [ ] = it depends, # = comment
Structure of the input data:
===============================================================================
title_line
&INPUTPH
   ...
/
[ xq(1) xq(2) xq(3) ]                        # if "ldisp" != .true.  and  "qplot" != .true.
[ nqs                                        # if "qplot" == .true.
  xq(1,i)    xq(2,i)    xq(3,1)    nq(1)
  ...
  xq(1,nqs)  xq(2,nqs)  xq(3,nqs)  nq(nqs) ]
[ atom(1)  atom(2)  ... atom(nat_todo) ]     # if "nat_todo" was specified
========================================================================
Line of input:
      title_line
   
   
   DESCRIPTION OF ITEMS:
   
      +--------------------------------------------------------------------
      Variable:       title_line
      
      Type:           CHARACTER
      Description:    Title of the job, i.e., a line that is reprinted on output.
      +--------------------------------------------------------------------
      
===End of line-of-input=================================================
========================================================================
NAMELIST: &INPUTPH
   +--------------------------------------------------------------------
   Variable:       amass(i), i=1,ntyp
   
   Type:           REAL
   Default:        0.0
   Description:    Atomic mass [amu] of each atomic type.
                   If not specified, masses are read from data file.
   +--------------------------------------------------------------------
   
   +--------------------------------------------------------------------
   Variable:       outdir
   
   Type:           CHARACTER
   Default:        value of the ESPRESSO_TMPDIR environment variable if set;
                    current directory ('./') otherwise
   Description:    Directory containing input, output, and scratch files;
                   must be the same as specified in the calculation of
                   the unperturbed system.
   +--------------------------------------------------------------------
   
   +--------------------------------------------------------------------
   Variable:       prefix
   
   Type:           CHARACTER
   Default:        'pwscf'
   Description:    Prepended to input/output filenames; must be the same
                   used in the calculation of unperturbed system.
   +--------------------------------------------------------------------
   
   +--------------------------------------------------------------------
   Variable:       niter_ph
   
   Type:           INTEGER
   Default:        maxter=100
   Description:    Maximum number of iterations in a scf step. If you want
                   more than 100, edit variable "maxter" in PH/phcom.f90
   +--------------------------------------------------------------------
   
   +--------------------------------------------------------------------
   Variable:       tr2_ph
   
   Type:           REAL
   Default:        1e-12
   Description:    Threshold for self-consistency.
   +--------------------------------------------------------------------
   
   +--------------------------------------------------------------------
   Variable:       alpha_mix(niter)
   
   Type:           REAL
   Default:        alpha_mix(1)=0.7
   Description:    Mixing factor (for each iteration) for updating
                   the scf potential:
                   
                   vnew(in) = alpha_mix*vold(out) + (1-alpha_mix)*vold(in)
   +--------------------------------------------------------------------
   
   +--------------------------------------------------------------------
   Variable:       nmix_ph
   
   Type:           INTEGER
   Default:        4
   Description:    Number of iterations used in potential mixing.
   +--------------------------------------------------------------------
   
   +--------------------------------------------------------------------
   Variable:       verbosity
   
   Type:           CHARACTER
   Default:        'default'
   Description:   
                   Options are:
    
                   'debug', 'high', 'medium' :
                        verbose output
    
                   'low', 'default', 'minimal' :
                        short output
   +--------------------------------------------------------------------
   
   +--------------------------------------------------------------------
   Variable:       reduce_io
   
   Type:           LOGICAL
   Default:        .false.
   Description:    Reduce I/O to the strict minimum.
   +--------------------------------------------------------------------
   
   +--------------------------------------------------------------------
   Variable:       max_seconds
   
   Type:           REAL
   Default:        1.d7
   Description:    Maximum allowed run time before the job stops smoothly.
   +--------------------------------------------------------------------
   
   +--------------------------------------------------------------------
   Variable:       fildyn
   
   Type:           CHARACTER
   Default:        'matdyn'
   Description:    File where the dynamical matrix is written.
   +--------------------------------------------------------------------
   
   +--------------------------------------------------------------------
   Variable:       fildrho
   
   Type:           CHARACTER
   Default:        ' '
   Description:    File where the charge density responses are written. Note that the file
                   will actually be saved as ${outdir}/_ph0/${prefix}.${fildrho}1
                   where  ${outdir}, ${prefix} and ${fildrho} are the values of the
                   corresponding input variables
   +--------------------------------------------------------------------
   
   +--------------------------------------------------------------------
   Variable:       fildvscf
   
   Type:           CHARACTER
   Default:        ' '
   Description:    File where the the potential variation is written
                   (for later use in electron-phonon calculation, see also fildrho).
   +--------------------------------------------------------------------
   
   +--------------------------------------------------------------------
   Variable:       epsil
   
   Type:           LOGICAL
   Default:        .false.
   Description:    If .true. in a q=0 calculation for a non metal the
                   macroscopic dielectric constant of the system is
                   computed. Do not set "epsil" to .true. if you have a
                   metallic system or q/=0: the code will complain and stop.
                   
                   Note: the input value of "epsil" will be ignored if "ldisp"=.true.
                   (the code will automatically set "epsil" to .false. for metals,
                   to .true. for insulators: see routine PHonon/PH/prepare_q.f90).
   +--------------------------------------------------------------------
   
   +--------------------------------------------------------------------
   Variable:       lrpa
   
   Type:           LOGICAL
   Default:        .false.
   Description:    If .true. the dielectric constant is calculated at the
                   RPA level with DV_xc=0.
   +--------------------------------------------------------------------
   
   +--------------------------------------------------------------------
   Variable:       lnoloc
   
   Type:           LOGICAL
   Default:        .false.
   Description:    If .true. the dielectric constant is calculated without
                   local fields, i.e. by setting DV_H=0 and DV_xc=0.
   +--------------------------------------------------------------------
   
   +--------------------------------------------------------------------
   Variable:       trans
   
   Type:           LOGICAL
   Default:        .true.
   Description:    If .true. the phonons are computed.
                   If "trans" .and. "epsil" are .true. effective charges are
                   calculated.
   +--------------------------------------------------------------------
   
   +--------------------------------------------------------------------
   Variable:       lraman
   
   Type:           LOGICAL
   Default:        .false.
   Description:    If .true. calculate non-resonant Raman coefficients
                   using second-order response as in:
                   M. Lazzeri and F. Mauri, PRL 90, 036401 (2003).
   +--------------------------------------------------------------------
   
   ///---
      OPTIONAL VARIABLES FOR RAMAN:
      
      +--------------------------------------------------------------------
      Variable:       eth_rps
      
      Type:           REAL
      Default:        1.0d-9
      Description:    Threshold for calculation of  Pc R |psi>.
      +--------------------------------------------------------------------
      
      +--------------------------------------------------------------------
      Variable:       eth_ns
      
      Type:           REAL
      Default:        1.0e-12
      Description:    Threshold for non-scf wavefunction calculation.
      +--------------------------------------------------------------------
      
      +--------------------------------------------------------------------
      Variable:       dek
      
      Type:           REAL
      Default:        1.0e-3
      Description:    Delta_xk used for wavefunction derivation wrt k.
      +--------------------------------------------------------------------
      
   \\\---
   
   +--------------------------------------------------------------------
   Variable:       recover
   
   Type:           LOGICAL
   Default:        .false.
   Description:    If .true. restart from an interrupted run.
   +--------------------------------------------------------------------
   
   +--------------------------------------------------------------------
   Variable:       low_directory_check
   
   Type:           LOGICAL
   Default:        .false.
   Description:    If .true. search in the phsave directory only the
                                    quantities requested in input.
   +--------------------------------------------------------------------
   
   +--------------------------------------------------------------------
   Variable:       only_init
   
   Type:           LOGICAL
   Default:        .false.
   Description:    If .true. only the bands and other initialization quantities are calculated.
                   (used for GRID parallelization)
   +--------------------------------------------------------------------
   
   +--------------------------------------------------------------------
   Variable:       qplot
   
   Type:           LOGICAL
   Default:        .false.
   Description:    If .true. a list of q points is read from input.
   +--------------------------------------------------------------------
   
   +--------------------------------------------------------------------
   Variable:       q2d
   
   Type:           LOGICAL
   Default:        .false.
   Description:    If .true. three q points and relative weights are
                   read from input. The three q points define the rectangle
                   q(:,1) + l (q(:,2)-q(:,1)) + m (q(:,3)-q(:,1)) where
                   0< l,m < 1. The weights are integer and those of points two
                   and three are the number of points in the two directions.
   +--------------------------------------------------------------------
   
   +--------------------------------------------------------------------
   Variable:       q_in_band_form
   
   Type:           LOGICAL
   Default:        .false.
   Description:    This flag is used only when qplot is .true. and q2d is
                   .false.. When .true. each couple of q points q(:,i+1) and
                   q(:,i) define the line from q(:,i) to q(:,i+1) and nq
                   points are generated along that line. nq is the weigth of
                   q(:,i). When .false. only the list of q points given as
                   input is calculated. The weights are not used.
   +--------------------------------------------------------------------
   
   +--------------------------------------------------------------------
   Variable:       electron_phonon
   
   Type:           CHARACTER
   Default:        ' '
   Description:   
                   Options are:
    
                   'simple' :
                        Electron-phonon lambda coefficients are computed
                        for a given q and a grid of k-points specified by
                        the variables nk1, nk2, nk3, k1, k2, k3.
    
                   'interpolated' :
                        Electron-phonon is calculated by interpolation
                        over the Brillouin Zone as in M. Wierzbowska, et
                        al. arXiv:cond-mat/0504077
    
                   'lambda_tetra' :
                        The electron-phonon coefficient \lambda_{q \nu}
                        is calculated with the optimized tetrahedron method.
    
                   'gamma_tetra' :
                        The phonon linewidth \gamma_{q \nu} is calculated
                        from the electron-phonon interactions
                        using the optimized tetrahedron method.
    
                   'epa' :
                        Electron-phonon coupling matrix elements are written
                        to file prefix.epa.k for further processing by program
                        epa.x which implements electron-phonon averaged (EPA)
                        approximation as described in G. Samsonidze & B. Kozinsky,
                        Adv. Energy Mater. 2018, 1800246 doi:10.1002/aenm.201800246
                        arXiv:1511.08115
    
                   'ahc' :
                        Quantities required for the calculation of phonon-induced
                        electron self-energy are computed and written to the directory
                        "ahc_dir". The output files can be read by postahc.x for
                        the calculation of electron self-energy.
                        Available for both metals and insulators.
                        "trans"=.false. is required.
    
                   For metals only, requires gaussian smearing (except for 'ahc').
                   
                   If "trans"=.true., the lambdas are calculated in the same
                   run, using the same k-point grid for phonons and lambdas.
                   If "trans"=.false., the lambdas are calculated using
                   previously saved DeltaVscf in "fildvscf", previously saved
                   dynamical matrix, and the present punch file. This allows
                   the use of a different (larger) k-point grid.
   +--------------------------------------------------------------------
   
   +--------------------------------------------------------------------
   Variable:       el_ph_nsigma
   
   Type:           INTEGER
   Default:        10
   Description:    The number of double-delta smearing values used in an
                   electron-phonon coupling calculation.
   +--------------------------------------------------------------------
   
   +--------------------------------------------------------------------
   Variable:       el_ph_sigma
   
   Type:           REAL
   Default:        0.02
   Description:    The spacing between double-delta smearing values used in
                   an electron-phonon coupling calculation.
   +--------------------------------------------------------------------
   
   ///---
      VARIABLES FOR "ELECTRON_PHONON" = 'AHC':
      
      +--------------------------------------------------------------------
      Variable:       ahc_dir
      
      Type:           CHARACTER
      Default:        outdir // 'ahc_dir/'
      Description:    Directory where the output binary files are written.
      +--------------------------------------------------------------------
      
      +--------------------------------------------------------------------
      Variable:       ahc_nbnd
      
      Type:           INTEGER
      Status:         REQUIRED
      Description:    Number of bands for which the electron self-energy is to be computed.
      +--------------------------------------------------------------------
      
      +--------------------------------------------------------------------
      Variable:       ahc_nbndskip
      
      Type:           INTEGER
      Default:        0
      Description:    Number of bands to exclude when computing the self-energy. Self-energy
                      is computed for bands with indices from "ahc_nbndskip"+1 to
                      "ahc_nbndskip"+"ahc_nbnd". "ahc_nbndskip"+"ahc_nbnd" cannot
                      exceed nbnd of the preceding SCF or NSCF calculation.
      +--------------------------------------------------------------------
      
      +--------------------------------------------------------------------
      Variable:       skip_upperfan
      
      Type:           LOGICAL
      Default:        .false.
      Description:    If .true., skip calculation of the upper Fan self-energy, which
                      involves solving the Sternheimer equation.
      +--------------------------------------------------------------------
      
   \\\---
   
   +--------------------------------------------------------------------
   Variable:       lshift_q
   
   Type:           LOGICAL
   Default:        .false.
   Description:    Use a wave-vector grid displaced by half a grid step
                   in each direction - meaningful only when ldisp is .true.
                   When this option is set, the q2r.x code cannot be used.
   +--------------------------------------------------------------------
   
   +--------------------------------------------------------------------
   Variable:       zeu
   
   Type:           LOGICAL
   Default:        zeu="epsil"
   Description:    If .true. in a q=0 calculation for a non metal the
                   effective charges are computed from the dielectric
                   response. This is the default algorithm. If "epsil"=.true.
                   and "zeu"=.false. only the dielectric tensor is calculated.
   +--------------------------------------------------------------------
   
   +--------------------------------------------------------------------
   Variable:       zue
   
   Type:           LOGICAL
   Default:        .false.
   Description:    If .true. in a q=0 calculation for a non metal the
                   effective charges are computed from the phonon
                   density responses. This is an alternative algorithm,
                   different from the default one (if "trans" .and. "epsil" )
                   The results should be the same within numerical noise.
   +--------------------------------------------------------------------
   
   +--------------------------------------------------------------------
   Variable:       elop
   
   Type:           LOGICAL
   Default:        .false.
   Description:    If .true. calculate electro-optic tensor.
   +--------------------------------------------------------------------
   
   +--------------------------------------------------------------------
   Variable:       fpol
   
   Type:           LOGICAL
   Default:        .false.
   Description:    If .true. calculate dynamic polarizabilities
                   Requires "epsil"=.true. ( experimental stage:
                   see example09 for calculation of methane ).
   +--------------------------------------------------------------------
   
   +--------------------------------------------------------------------
   Variable:       ldisp
   
   Type:           LOGICAL
   Default:        .false.
   Description:    If .true. the run calculates phonons for a grid of
                   q-points specified by "nq1", "nq2", "nq3" - for direct
                   calculation of the entire phonon dispersion.
   +--------------------------------------------------------------------
   
   +--------------------------------------------------------------------
   Variable:       nogg
   
   Type:           LOGICAL
   Default:        .false.
   Description:    If .true. disable the "gamma_gamma" trick used to speed
                   up calculations at q=0 (phonon wavevector) if the sum over
                   the Brillouin Zone includes k=0 only. The gamma_gamma
                   trick exploits symmetry and acoustic sum rule to reduce
                   the number of linear response calculations to the strict
                   minimum, as it is done in code phcg.x.
   +--------------------------------------------------------------------
   
   +--------------------------------------------------------------------
   Variable:       asr
   
   Type:           LOGICAL
   Default:        .false.
   Description:    Apply Acoustic Sum Rule to dynamical matrix, effective charges
                   Works only in conjunction with "gamma_gamma" tricks (see above)
   +--------------------------------------------------------------------
   
   +--------------------------------------------------------------------
   Variable:       ldiag
   
   Type:           LOGICAL
   Default:        .false.
   Description:    If .true. forces the diagonalization of the dynamical
                   matrix also when only a part of the dynamical matrix
                   has been calculated. It is used together with "start_irr"
                   and "last_irr". If all modes corresponding to a
                   given irreducible representation have been calculated,
                   the phonon frequencies of that representation are
                   correct. The others are zero or wrong. Use with care.
   +--------------------------------------------------------------------
   
   +--------------------------------------------------------------------
   Variable:       lqdir
   
   Type:           LOGICAL
   Default:        .false.
   Description:    If .true. ph.x creates inside outdir a separate subdirectory
                   for each q vector. The flag is set to .true. when "ldisp"=.true.
                   and "fildvscf" /= ' ' or when an electron-phonon
                   calculation is performed. The induced potential is saved
                   separately for each q inside the subdirectories.
   +--------------------------------------------------------------------
   
   +--------------------------------------------------------------------
   Variable:       search_sym
   
   Type:           LOGICAL
   Default:        .true.
   Description:    Set it to .false. if you want to disable the mode
                   symmetry analysis.
   +--------------------------------------------------------------------
   
   +--------------------------------------------------------------------
   Variables:      nq1, nq2, nq3
   
   Type:           INTEGER
   Default:        0,0,0
   Description:    Parameters of the Monkhorst-Pack grid (no offset) used
                   when @ref ldisp=.true. Same meaning as for nk1, nk2, nk3
                   in the input of pw.x.
   +--------------------------------------------------------------------
   
   +--------------------------------------------------------------------
   Variables:      nk1, nk2, nk3, k1, k2, k3
   
   Type:           INTEGER
   Default:        0,0,0,0,0,0
   Description:    When these parameters are specified the phonon program
                   runs a pw non-self consistent calculation with a different
                   k-point grid thant that used for the charge density.
                   This occurs even in the Gamma case.
                   nk1,nk2,nk3 are the parameters of the Monkhorst-Pack grid
                   with offset determined by k1,k2,k3.
   +--------------------------------------------------------------------
   
   +--------------------------------------------------------------------
   Variable:       diagonalization
   
   Type:           CHARACTER
   Default:        'david'
   Description:   
                   Diagonalization method for the non-SCF calculations.
    
                   'david' :
                        Davidson iterative diagonalization with overlap matrix
                        (default). Fast, may in some rare cases fail.
    
                   'cg' :
                        Conjugate-gradient-like band-by-band diagonalization.
                        Slower than 'david' but uses less memory and is
                        (a little bit) more robust.
   +--------------------------------------------------------------------
   
   +--------------------------------------------------------------------
   Variable:       read_dns_bare
   
   Type:           LOGICAL
   Default:        .false.
   Description:    If .true. the PH code tries to read three files in the DFPT+U
                   calculation: dns_orth, dns_bare, d2ns_bare.
                   dns_orth and dns_bare are the first-order variations of
                   the occupation matrix, while d2ns_bare is the second-order
                   variation of the occupation matrix. These matrices are
                   computed only once during the DFPT+U calculation. However,
                   their calculation (especially of d2ns_bare) is computationally
                   expensive, this is why they are written to file and then can be
                   read (e.g. for restart) in order to save time.
   +--------------------------------------------------------------------
   
   +--------------------------------------------------------------------
   Variable:       ldvscf_interpolate
   
   Type:           LOGICAL
   Default:        .false.
   Description:    If .true., use Fourier interpolation of phonon potential
                   to compute the induced part of phonon potential at each
                   q point. Results of a dvscf_q2r.x run is needed.
                   Requires "trans" = .false..
   +--------------------------------------------------------------------
   
   ///---
      OPTIONAL VARIABLES FOR DVSCF INTERPOLATION:
      
      +--------------------------------------------------------------------
      Variable:       wpot_dir
      
      Type:           CHARACTER
      Default:        outdir // 'w_pot/'
      Description:    Directory where the w_pot binary files are written.
                      Must be the same with wpot_dir used in dvscf_q2r.x.
                      The real space potential files are stored in wpot_dir
                      with names ${prefix}.wpot.irc${irc}//"1".
      +--------------------------------------------------------------------
      
      +--------------------------------------------------------------------
      Variable:       do_long_range
      
      Type:           LOGICAL
      Default:        .false.
      Description:    If .true., add the long-range part of the potential
                      to the Fourier interpolated potential as in:
                      S. Ponce et al, J. Chem. Phys. 143, 102813 (2015).
                      Reads dielectric matrix and Born effective charges from
                      the ${wpot_dir}/tensors.dat file, written in dvscf_q2r.x.
                      Currently, only the dipole (Frohlich) part is implemented.
                      The quadrupole part is not implemented.
      +--------------------------------------------------------------------
      
      +--------------------------------------------------------------------
      Variable:       do_charge_neutral
      
      Type:           LOGICAL
      Default:        .false.
      Description:    If .true., impose charge neutrality on the Born effective
                      charges. Used only if "do_long_range" = .true..
      +--------------------------------------------------------------------
      
   \\\---
   
   ///---
      SPECIFICATION OF IRREDUCIBLE REPRESENTATION
      
      +--------------------------------------------------------------------
      Variable:       start_irr
      
      Type:           INTEGER
      Default:        1
      See:            last_irr
      Description:    Perform calculations only from "start_irr" to "last_irr"
                      irreducible representations.
                      
                      IMPORTANT:
                         * "start_irr" must be <= 3*nat
                         * do not specify "nat_todo" together with
                           "start_irr", "last_irr"
      +--------------------------------------------------------------------
      
      +--------------------------------------------------------------------
      Variable:       last_irr
      
      Type:           INTEGER
      Default:        3*nat
      See:            start_irr
      Description:    Perform calculations only from "start_irr" to "last_irr"
                      irreducible representations.
                      
                      IMPORTANT:
                         * "start_irr" must be <= 3*nat
                         * do not specify "nat_todo" together with
                           "start_irr", "last_irr"
      +--------------------------------------------------------------------
      
      +--------------------------------------------------------------------
      Variable:       nat_todo
      
      Type:           INTEGER
      Default:        0, i.e. displace all atoms
      Description:    Choose the subset of atoms to be used in the linear response
                      calculation: "nat_todo" atoms, specified in input (see below)
                      are displaced. Can be used to estimate modes for a molecule
                      adsorbed over a surface without performing a full fledged
                      calculation. Use with care, at your own risk, and be aware
                      that this is an approximation and may not work.
                      IMPORTANT:
                         * "nat_todo" <= nat
                         * if linear-response is calculated for a given atom, it
                           should also be done for all symmetry-equivalent atoms,
                           or else you will get incorrect results
      +--------------------------------------------------------------------
      
      +--------------------------------------------------------------------
      Variable:       modenum
      
      Type:           INTEGER
      Default:        0
      Description:    For single-mode phonon calculation : modenum is the index of the
                      irreducible representation (irrep) into which the reducible
                      representation formed by the 3*nat atomic displacements are
                      decomposed in order to perform the phonon calculation.
                      Note that a single-mode calculation will not give you the
                      frequency of a single phonon mode: in general, the selected
                      "modenum" is not an eigenvector. What you get on output is
                      a column of the dynamical matrix.
      +--------------------------------------------------------------------
      
   \\\---
   
   ///---
      Q-POINT SPECIFICATION
      
      +--------------------------------------------------------------------
      Variable:       start_q
      
      Type:           INTEGER
      Default:        1
      See:            last_q
      Description:    Used only when ldisp=.true..
                      Computes only the q points from "start_q" to "last_q".
                      
                      IMPORTANT:
                         * "start_q" must be <= "nqs" (number of q points found)
                         * do not specify "nat_todo" together with
                           "start_q", "last_q"
      +--------------------------------------------------------------------
      
      +--------------------------------------------------------------------
      Variable:       last_q
      
      Type:           INTEGER
      Default:        number of q points
      See:            start_q
      Description:    Used only when "ldisp"=.true..
                      Computes only the q points from "start_q" to "last_q".
                      
                      IMPORTANT
                         * "last_q" must be <= "nqs" (number of q points)
                         * do not specify "nat_todo" together with
                           "start_q", "last_q"
      +--------------------------------------------------------------------
      
      +--------------------------------------------------------------------
      Variable:       dvscf_star
      
      Type:           STRUCTURE
      Default:        disabled
      Description:    It contains the following components:
                      
                      dvscf_star%open  (logical, default: .false.)
                      dvscf_star%dir   (character, default: outdir//"Rotated_DVSCF" or the
                                        ESPRESSO_FILDVSCF_DIR environment variable)
                      dvscf_star%ext   (character, default: "dvscf") the extension to use
                                        for the name of the output files, see below
                      dvscf_star%basis (character, default: "cartesian") the basis on which
                                        the rotated dvscf will be saved
                      dvscf_star%pat   (logical, default: false) save an optional file with the
                                        displacement patterns and q vector for each dvscf file
                      
                      IF dvscf_star%open is .true. use symmetry to compute and store the variation
                      of the self-consistent potential on every q* in the star of the present q.
                      
                      The rotated dvscf will then be stored in directory dvscf_star%dir with name
                      prefix.dvscf_star%ext.q_name//"1". Where q_name is derived from the coordinates
                      of the q-point, expressed as fractions in crystalline coordinates
                      (notice that ph.x reads q-points in cartesian coordinates).
                      E.g. q_cryst= (0, 0.5, -0.25) -> q_name = "0_1o2_-1o4"
                      
                      The dvscf can be represented on a basis of cartesian 1-atom displacements
                      (dvscf_star%basis='cartesian') or on the basis of the modes at the rotated q-point
                      (dvscf_star%basis='modes'). Notice that the el-ph wannier code requires 'cartesian'.
                      Each dvscf file comes with a corresponding pattern file with an additional ".pat"
                      suffix; this file contains information about the basis and the q-point of the dvscf.
                      
                      Note: rotating dvscf can require a large amount of RAM memory and can be i/o
                            intensive; in its current implementation all the operations are done
                            on a single processor.
                      Note2: this feature is currently untested with image parallelisation.
      +--------------------------------------------------------------------
      
      +--------------------------------------------------------------------
      Variable:       drho_star
      
      Type:           STRUCTURE
      See:            dvscf_star
      Default:        disabled
      Description:    It contains the following components:
                      
                      drho_star%open  (logical, default: .false.)
                      drho_star%dir   (character, default: outdir//"Rotated_DRHO" or the
                                       ESPRESSO_FILDRHO_DIR environment variable)
                      drho_star%ext   (character, default: "drho") the extension to use
                                       for the name of the output files, see below
                      drho_star%basis (character, default: "modes") the basis on which
                                       the rotated drho will be saved
                      drho_star%pat   (logical, default: true) save an optional file with the
                                       displacement patterns and q vector for each drho file
                      
                      Like "dvscf_star", but for the perturbation of the charge density.
                      Notice that the defaults are different.
      +--------------------------------------------------------------------
      
   \\\---
   
===END OF NAMELIST======================================================
________________________________________________________________________
* IF ldisp != .true.   and   qplot != .true. : 
   ========================================================================
   Line of input:
   
         xq(1)  xq(2)  xq(3)
      
      
      DESCRIPTION OF ITEMS:
      
         +--------------------------------------------------------------------
         Variables:      xq(1)  xq(2)  xq(3)
         
         Type:           REAL
         Description:    The phonon wavevector, in units of 2pi/a0
                         (a0 = lattice parameter).
                         Not used if "ldisp"=.true. or "qplot"=.true.
         +--------------------------------------------------------------------
         
         
   ===End of line-of-input=================================================
   
   
    
* ELSE IF qplot == .true. : 
   SPECIFICATION OF Q POINTS WHEN "QPLOT" == .TRUE.
   
   ========================================================================
   CARD:  
   
      /////////////////////////////////////////
      // Syntax:                             //
      /////////////////////////////////////////
      
            nqs
            xq1(1)    xq2(1)    xq3(1)    nq(1)    
            xq1(2)    xq2(2)    xq3(2)    nq(2)    
            . . . 
            xq1(nqs)  xq2(nqs)  xq3(nqs)  nq(nqs)  
      
      /////////////////////////////////////////
      
      DESCRIPTION OF ITEMS:
      
         +--------------------------------------------------------------------
         Variable:       nqs
         
         Type:           INTEGER
         Description:    Number of q points in the list. Used only if "qplot"=.true.
         +--------------------------------------------------------------------
         
         +--------------------------------------------------------------------
         Variables:      xq1, xq2, xq3
         
         Type:           REAL
         Description:    q-point coordinates; used only with @ref ldisp=.true. and qplot=.true.
                         The phonon wavevector, in units of 2pi/a0 (a0 = lattice parameter).
                         The meaning of these q points and their weights nq depend on the
                         flags q2d and q_in_band_form. (NB: nq is integer)
         +--------------------------------------------------------------------
         
         +--------------------------------------------------------------------
         Variable:       nq
         
         Type:           INTEGER
         Description:    The weight of the q-point; the meaning of nq depends
                         on the flags q2d and q_in_band_form.
         +--------------------------------------------------------------------
         
   ===END OF CARD==========================================================
   
   
    
ENDIF
________________________________________________________________________
________________________________________________________________________
* IF nat_todo was specified : 
   ========================================================================
   Line of input:
   
         atom(1)  atom(2) ... atom(nat_todo)
      
      
      DESCRIPTION OF ITEMS:
      
         +--------------------------------------------------------------------
         Variables:      atom(1)  atom(2) ... atom(nat_todo)
         
         Type:           INTEGER
         Description:    Contains the list of indices of atoms used in the
                         calculation if "nat_todo" is specified.
         +--------------------------------------------------------------------
         
         
   ===End of line-of-input=================================================
   
   
    
ENDIF
________________________________________________________________________
::::  ADDITIONAL INFORMATION 
   NB: The program ph.x writes on the tmp_dir/_ph0/{prefix}.phsave directory
   a file for each representation of each q point. This file is called
   dynmat.#iq.#irr.xml where #iq is the number of the q point and #irr
   is the number of the representation. These files contain the
   contribution to the dynamical matrix of the irr representation for the
   iq point.
   
   If "recover"=.true. ph.x does not recalculate the
   representations already saved in the tmp_dir/_ph0/{prefix}.phsave
   directory.  Moreover ph.x writes on the files patterns.#iq.xml in the
   tmp_dir/_ph0/{prefix}.phsave directory the displacement patterns that it
   is using. If "recover"=.true. ph.x does not recalculate the
   displacement patterns found in the tmp_dir/_ph0/{prefix}.phsave directory.
   
   This mechanism allows:
   
     1) To recover part of the ph.x calculation even if the recover file
        or files are corrupted. You just remove the _ph0/{prefix}.recover
        files from the tmp_dir directory. You can also remove all the _ph0
        files and keep only the _ph0/{prefix}.phsave directory.
   
     2) To split a phonon calculation into several jobs for different
        machines (or set of nodes). Each machine calculates a subset of
        the representations and saves its dynmat.#iq.#irr.xml files on
        its tmp_dir/_ph0/{prefix}.phsave directory. Then you collect all the
        dynmat.#iq.#irr.xml files in one directory and run ph.x to
        collect all the dynamical matrices and diagonalize them.
   
   NB: To split the q points in different machines, use the input
   variables start_q and last_q. To split the irreducible
   representations, use the input variables "start_irr", "last_irr". Please
   note that different machines will use, in general, different
   displacement patterns and it is not possible to recollect partial
   dynamical matrices generated with different displacement patterns.  A
   calculation split into different machines will run as follows: A
   preparatory run of ph.x with "start_irr"=0, "last_irr"=0 produces the sets
   of displacement patterns and save them on the patterns.#iq.xml files.
   These files are copied in all the tmp_dir/_ph0/{prefix}.phsave directories
   of the machines where you plan to run ph.x. ph.x is run in different
   machines with complementary sets of start_q, last_q, "start_irr" and
   "last_irr" variables.  All the files dynmat.#iq.#irr.xml are
   collected on a single tmp_dir/_ph0/{prefix}.phsave directory (remember to
   collect also dynmat.#iq.0.xml).  A final run of ph.x in this
   machine collects all the data contained in the files and diagonalizes
   the dynamical matrices.  This is done requesting a complete dispersion
   calculation without using start_q, last_q, "start_irr", or "last_irr".
   See an example in examples/GRID_example.
   
   On parallel machines the q point and the irreps calculations can be split
   automatically using the -nimage flag. See the phonon user guide for further
   information.
   
This file has been created by helpdoc utility on Wed Dec 02 08:04:43 CET 2020
 |