1! 2! Copyright (C) 2001-2009 Quantum ESPRESSO group 3! This file is distributed under the terms of the 4! GNU General Public License. See the file `License' 5! in the root directory of the present distribution, 6! or http://www.gnu.org/copyleft/gpl.txt . 7! 8! 9MODULE qes_types_module 10 ! 11 ! Auto-generated code: don't edit this file 12 ! 13 ! Quantum Espresso XSD namespace: http://www.quantum-espresso.org/ns/qes/qes-1.0 14 ! 15 USE kinds, only: DP 16 ! 17 IMPLICIT NONE 18 ! 19 TYPE :: xml_format_type 20 ! 21 CHARACTER(len=100) :: tagname 22 LOGICAL :: lwrite = .FALSE. 23 LOGICAL :: lread = .FALSE. 24 ! 25 CHARACTER(len=256) :: NAME 26 CHARACTER(len=256) :: VERSION 27 ! 28 CHARACTER(len=256) :: xml_format 29 ! 30 END TYPE xml_format_type 31 ! 32 TYPE :: creator_type 33 ! 34 CHARACTER(len=100) :: tagname 35 LOGICAL :: lwrite = .FALSE. 36 LOGICAL :: lread = .FALSE. 37 ! 38 CHARACTER(len=256) :: NAME 39 CHARACTER(len=256) :: VERSION 40 ! 41 CHARACTER(len=256) :: creator 42 ! 43 END TYPE creator_type 44 ! 45 TYPE :: created_type 46 ! 47 CHARACTER(len=100) :: tagname 48 LOGICAL :: lwrite = .FALSE. 49 LOGICAL :: lread = .FALSE. 50 ! 51 CHARACTER(len=256) :: DATE 52 CHARACTER(len=256) :: TIME 53 ! 54 CHARACTER(len=256) :: created 55 ! 56 END TYPE created_type 57 ! 58 TYPE :: atom_type 59 ! 60 CHARACTER(len=100) :: tagname 61 LOGICAL :: lwrite = .FALSE. 62 LOGICAL :: lread = .FALSE. 63 ! 64 CHARACTER(len=256) :: name 65 CHARACTER(len=256) :: position 66 LOGICAL :: position_ispresent = .FALSE. 67 INTEGER :: index 68 LOGICAL :: index_ispresent = .FALSE. 69 ! 70 REAL(DP), DIMENSION(3) :: atom 71 ! 72 END TYPE atom_type 73 ! 74 TYPE :: qpoint_grid_type 75 ! 76 CHARACTER(len=100) :: tagname 77 LOGICAL :: lwrite = .FALSE. 78 LOGICAL :: lread = .FALSE. 79 ! 80 INTEGER :: nqx1 81 INTEGER :: nqx2 82 INTEGER :: nqx3 83 ! 84 CHARACTER(len=256) :: qpoint_grid 85 ! 86 END TYPE qpoint_grid_type 87 ! 88 TYPE :: HubbardCommon_type 89 ! 90 CHARACTER(len=100) :: tagname 91 LOGICAL :: lwrite = .FALSE. 92 LOGICAL :: lread = .FALSE. 93 ! 94 CHARACTER(len=256) :: specie 95 CHARACTER(len=256) :: label 96 LOGICAL :: label_ispresent = .FALSE. 97 ! 98 REAL(DP) :: HubbardCommon 99 ! 100 END TYPE HubbardCommon_type 101 ! 102 TYPE :: HubbardJ_type 103 ! 104 CHARACTER(len=100) :: tagname 105 LOGICAL :: lwrite = .FALSE. 106 LOGICAL :: lread = .FALSE. 107 ! 108 CHARACTER(len=256) :: specie 109 CHARACTER(len=256) :: label 110 ! 111 REAL(DP), DIMENSION(3) :: HubbardJ 112 ! 113 END TYPE HubbardJ_type 114 ! 115 TYPE :: starting_ns_type 116 ! 117 CHARACTER(len=100) :: tagname 118 LOGICAL :: lwrite = .FALSE. 119 LOGICAL :: lread = .FALSE. 120 ! 121 CHARACTER(len=256) :: specie 122 CHARACTER(len=256) :: label 123 INTEGER :: spin 124 INTEGER :: size 125 ! 126 REAL(DP), DIMENSION(:), ALLOCATABLE :: starting_ns 127 ! 128 END TYPE starting_ns_type 129 ! 130 TYPE :: Hubbard_ns_type 131 ! 132 CHARACTER(len=100) :: tagname 133 LOGICAL :: lwrite = .FALSE. 134 LOGICAL :: lread = .FALSE. 135 ! 136 CHARACTER(len=256) :: specie 137 CHARACTER(len=256) :: label 138 INTEGER :: spin 139 INTEGER :: index 140 INTEGER :: rank 141 INTEGER, DIMENSION(:), ALLOCATABLE :: dims 142 CHARACTER(len=256) :: order 143 ! 144 REAL(DP), DIMENSION(:), ALLOCATABLE :: Hubbard_ns 145 ! 146 END TYPE Hubbard_ns_type 147 ! 148 TYPE :: backL_type 149 ! 150 CHARACTER(len=100) :: tagname 151 LOGICAL :: lwrite = .FALSE. 152 LOGICAL :: lread = .FALSE. 153 ! 154 INTEGER :: l_index 155 ! 156 INTEGER :: backL 157 ! 158 END TYPE backL_type 159 ! 160 TYPE :: smearing_type 161 ! 162 CHARACTER(len=100) :: tagname 163 LOGICAL :: lwrite = .FALSE. 164 LOGICAL :: lread = .FALSE. 165 ! 166 REAL(DP) :: degauss 167 ! 168 CHARACTER(len=256) :: smearing 169 ! 170 END TYPE smearing_type 171 ! 172 TYPE :: occupations_type 173 ! 174 CHARACTER(len=100) :: tagname 175 LOGICAL :: lwrite = .FALSE. 176 LOGICAL :: lread = .FALSE. 177 ! 178 INTEGER :: spin 179 LOGICAL :: spin_ispresent = .FALSE. 180 ! 181 CHARACTER(len=256) :: occupations 182 ! 183 END TYPE occupations_type 184 ! 185 TYPE :: basisSetItem_type 186 ! 187 CHARACTER(len=100) :: tagname 188 LOGICAL :: lwrite = .FALSE. 189 LOGICAL :: lread = .FALSE. 190 ! 191 INTEGER :: nr1 192 INTEGER :: nr2 193 INTEGER :: nr3 194 ! 195 CHARACTER(len=256) :: basisSetItem 196 ! 197 END TYPE basisSetItem_type 198 ! 199 TYPE :: monkhorst_pack_type 200 ! 201 CHARACTER(len=100) :: tagname 202 LOGICAL :: lwrite = .FALSE. 203 LOGICAL :: lread = .FALSE. 204 ! 205 INTEGER :: nk1 206 INTEGER :: nk2 207 INTEGER :: nk3 208 INTEGER :: k1 209 INTEGER :: k2 210 INTEGER :: k3 211 ! 212 CHARACTER(len=256) :: monkhorst_pack 213 ! 214 END TYPE monkhorst_pack_type 215 ! 216 TYPE :: k_point_type 217 ! 218 CHARACTER(len=100) :: tagname 219 LOGICAL :: lwrite = .FALSE. 220 LOGICAL :: lread = .FALSE. 221 ! 222 REAL(DP) :: weight 223 LOGICAL :: weight_ispresent = .FALSE. 224 CHARACTER(len=256) :: label 225 LOGICAL :: label_ispresent = .FALSE. 226 ! 227 REAL(DP), DIMENSION(3) :: k_point 228 ! 229 END TYPE k_point_type 230 ! 231 TYPE :: inputOccupations_type 232 ! 233 CHARACTER(len=100) :: tagname 234 LOGICAL :: lwrite = .FALSE. 235 LOGICAL :: lread = .FALSE. 236 ! 237 INTEGER :: ispin 238 REAL(DP) :: spin_factor 239 INTEGER :: size 240 ! 241 REAL(DP), DIMENSION(:), ALLOCATABLE :: inputOccupations 242 ! 243 END TYPE inputOccupations_type 244 ! 245 TYPE :: phase_type 246 ! 247 CHARACTER(len=100) :: tagname 248 LOGICAL :: lwrite = .FALSE. 249 LOGICAL :: lread = .FALSE. 250 ! 251 REAL(DP) :: ionic 252 LOGICAL :: ionic_ispresent = .FALSE. 253 REAL(DP) :: electronic 254 LOGICAL :: electronic_ispresent = .FALSE. 255 CHARACTER(len=256) :: modulus 256 LOGICAL :: modulus_ispresent = .FALSE. 257 ! 258 REAL(DP) :: phase 259 ! 260 END TYPE phase_type 261 ! 262 TYPE :: equivalent_atoms_type 263 ! 264 CHARACTER(len=100) :: tagname 265 LOGICAL :: lwrite = .FALSE. 266 LOGICAL :: lread = .FALSE. 267 ! 268 INTEGER :: nat 269 INTEGER :: size 270 ! 271 INTEGER, DIMENSION(:), ALLOCATABLE :: equivalent_atoms 272 ! 273 END TYPE equivalent_atoms_type 274 ! 275 TYPE :: info_type 276 ! 277 CHARACTER(len=100) :: tagname 278 LOGICAL :: lwrite = .FALSE. 279 LOGICAL :: lread = .FALSE. 280 ! 281 CHARACTER(len=256) :: name 282 LOGICAL :: name_ispresent = .FALSE. 283 CHARACTER(len=256) :: class 284 LOGICAL :: class_ispresent = .FALSE. 285 LOGICAL :: time_reversal 286 LOGICAL :: time_reversal_ispresent = .FALSE. 287 ! 288 CHARACTER(len=256) :: info 289 ! 290 END TYPE info_type 291 ! 292 TYPE :: closed_type 293 ! 294 CHARACTER(len=100) :: tagname 295 LOGICAL :: lwrite = .FALSE. 296 LOGICAL :: lread = .FALSE. 297 ! 298 CHARACTER(len=256) :: DATE 299 CHARACTER(len=256) :: TIME 300 ! 301 CHARACTER(len=256) :: closed 302 ! 303 END TYPE closed_type 304 ! 305 TYPE :: vector_type 306 ! 307 CHARACTER(len=100) :: tagname 308 LOGICAL :: lwrite = .FALSE. 309 LOGICAL :: lread = .FALSE. 310 ! 311 INTEGER :: size 312 ! 313 REAL(DP), DIMENSION(:), ALLOCATABLE :: vector 314 ! 315 END TYPE vector_type 316 ! 317 TYPE :: integerVector_type 318 ! 319 CHARACTER(len=100) :: tagname 320 LOGICAL :: lwrite = .FALSE. 321 LOGICAL :: lread = .FALSE. 322 ! 323 INTEGER :: size 324 ! 325 INTEGER, DIMENSION(:), ALLOCATABLE :: integerVector 326 ! 327 END TYPE integerVector_type 328 ! 329 TYPE :: matrix_type 330 ! 331 CHARACTER(len=100) :: tagname 332 LOGICAL :: lwrite = .FALSE. 333 LOGICAL :: lread = .FALSE. 334 ! 335 INTEGER :: rank 336 INTEGER, DIMENSION(:), ALLOCATABLE :: dims 337 CHARACTER(len=256) :: order 338 ! 339 REAL(DP), DIMENSION(:), ALLOCATABLE :: matrix 340 ! 341 END TYPE matrix_type 342 ! 343 TYPE :: integerMatrix_type 344 ! 345 CHARACTER(len=100) :: tagname 346 LOGICAL :: lwrite = .FALSE. 347 LOGICAL :: lread = .FALSE. 348 ! 349 INTEGER :: rank 350 INTEGER, DIMENSION(:), ALLOCATABLE :: dims 351 CHARACTER(len=256) :: order 352 ! 353 INTEGER, DIMENSION(:), ALLOCATABLE :: integerMatrix 354 ! 355 END TYPE integerMatrix_type 356 ! 357 TYPE :: scalarQuantity_type 358 ! 359 CHARACTER(len=100) :: tagname 360 LOGICAL :: lwrite = .FALSE. 361 LOGICAL :: lread = .FALSE. 362 ! 363 CHARACTER(len=256) :: Units 364 ! 365 REAL(DP) :: scalarQuantity 366 ! 367 END TYPE scalarQuantity_type 368 ! 369 TYPE :: general_info_type 370 ! 371 CHARACTER(len=100) :: tagname 372 LOGICAL :: lwrite = .FALSE. 373 LOGICAL :: lread = .FALSE. 374 ! 375 TYPE(xml_format_type) :: xml_format 376 TYPE(creator_type) :: creator 377 TYPE(created_type) :: created 378 CHARACTER(len=256) :: job 379 ! 380 END TYPE general_info_type 381 ! 382 TYPE :: parallel_info_type 383 ! 384 CHARACTER(len=100) :: tagname 385 LOGICAL :: lwrite = .FALSE. 386 LOGICAL :: lread = .FALSE. 387 ! 388 INTEGER :: nprocs 389 INTEGER :: nthreads 390 INTEGER :: ntasks 391 INTEGER :: nbgrp 392 INTEGER :: npool 393 INTEGER :: ndiag 394 ! 395 END TYPE parallel_info_type 396 ! 397 TYPE :: clock_type 398 ! 399 CHARACTER(len=100) :: tagname 400 LOGICAL :: lwrite = .FALSE. 401 LOGICAL :: lread = .FALSE. 402 ! 403 CHARACTER(len=256) :: label 404 INTEGER :: calls 405 LOGICAL :: calls_ispresent = .FALSE. 406 REAL(DP) :: cpu 407 REAL(DP) :: wall 408 ! 409 END TYPE clock_type 410 ! 411 TYPE :: control_variables_type 412 ! 413 CHARACTER(len=100) :: tagname 414 LOGICAL :: lwrite = .FALSE. 415 LOGICAL :: lread = .FALSE. 416 ! 417 CHARACTER(len=256) :: title 418 CHARACTER(len=256) :: calculation 419 CHARACTER(len=256) :: restart_mode 420 CHARACTER(len=256) :: prefix 421 CHARACTER(len=256) :: pseudo_dir 422 CHARACTER(len=256) :: outdir 423 LOGICAL :: stress 424 LOGICAL :: forces 425 LOGICAL :: wf_collect 426 CHARACTER(len=256) :: disk_io 427 INTEGER :: max_seconds 428 LOGICAL :: nstep_ispresent = .FALSE. 429 INTEGER :: nstep 430 REAL(DP) :: etot_conv_thr 431 REAL(DP) :: forc_conv_thr 432 REAL(DP) :: press_conv_thr 433 CHARACTER(len=256) :: verbosity 434 INTEGER :: print_every 435 ! 436 END TYPE control_variables_type 437 ! 438 TYPE :: species_type 439 ! 440 CHARACTER(len=100) :: tagname 441 LOGICAL :: lwrite = .FALSE. 442 LOGICAL :: lread = .FALSE. 443 ! 444 CHARACTER(len=256) :: name 445 LOGICAL :: mass_ispresent = .FALSE. 446 REAL(DP) :: mass 447 CHARACTER(len=256) :: pseudo_file 448 LOGICAL :: starting_magnetization_ispresent = .FALSE. 449 REAL(DP) :: starting_magnetization 450 LOGICAL :: spin_teta_ispresent = .FALSE. 451 REAL(DP) :: spin_teta 452 LOGICAL :: spin_phi_ispresent = .FALSE. 453 REAL(DP) :: spin_phi 454 ! 455 END TYPE species_type 456 ! 457 TYPE :: atomic_positions_type 458 ! 459 CHARACTER(len=100) :: tagname 460 LOGICAL :: lwrite = .FALSE. 461 LOGICAL :: lread = .FALSE. 462 ! 463 TYPE(atom_type), DIMENSION(:), ALLOCATABLE :: atom 464 INTEGER :: ndim_atom 465 ! 466 END TYPE atomic_positions_type 467 ! 468 TYPE :: wyckoff_positions_type 469 ! 470 CHARACTER(len=100) :: tagname 471 LOGICAL :: lwrite = .FALSE. 472 LOGICAL :: lread = .FALSE. 473 ! 474 INTEGER :: space_group 475 CHARACTER(len=256) :: more_options 476 LOGICAL :: more_options_ispresent = .FALSE. 477 TYPE(atom_type), DIMENSION(:), ALLOCATABLE :: atom 478 INTEGER :: ndim_atom 479 ! 480 END TYPE wyckoff_positions_type 481 ! 482 TYPE :: cell_type 483 ! 484 CHARACTER(len=100) :: tagname 485 LOGICAL :: lwrite = .FALSE. 486 LOGICAL :: lread = .FALSE. 487 ! 488 REAL(DP), DIMENSION(3) :: a1 489 REAL(DP), DIMENSION(3) :: a2 490 REAL(DP), DIMENSION(3) :: a3 491 ! 492 END TYPE cell_type 493 ! 494 TYPE :: hybrid_type 495 ! 496 CHARACTER(len=100) :: tagname 497 LOGICAL :: lwrite = .FALSE. 498 LOGICAL :: lread = .FALSE. 499 ! 500 LOGICAL :: qpoint_grid_ispresent = .FALSE. 501 TYPE(qpoint_grid_type) :: qpoint_grid 502 LOGICAL :: ecutfock_ispresent = .FALSE. 503 REAL(DP) :: ecutfock 504 LOGICAL :: exx_fraction_ispresent = .FALSE. 505 REAL(DP) :: exx_fraction 506 LOGICAL :: screening_parameter_ispresent = .FALSE. 507 REAL(DP) :: screening_parameter 508 LOGICAL :: exxdiv_treatment_ispresent = .FALSE. 509 CHARACTER(len=256) :: exxdiv_treatment 510 LOGICAL :: x_gamma_extrapolation_ispresent = .FALSE. 511 LOGICAL :: x_gamma_extrapolation 512 LOGICAL :: ecutvcut_ispresent = .FALSE. 513 REAL(DP) :: ecutvcut 514 LOGICAL :: localization_threshold_ispresent = .FALSE. 515 REAL(DP) :: localization_threshold 516 ! 517 END TYPE hybrid_type 518 ! 519 TYPE :: HubbardBack_type 520 ! 521 CHARACTER(len=100) :: tagname 522 LOGICAL :: lwrite = .FALSE. 523 LOGICAL :: lread = .FALSE. 524 ! 525 CHARACTER(len=256) :: species 526 CHARACTER(len=256) :: background 527 TYPE(backL_type), DIMENSION(:), ALLOCATABLE :: l_number 528 INTEGER :: ndim_l_number 529 ! 530 END TYPE HubbardBack_type 531 ! 532 TYPE :: vdW_type 533 ! 534 CHARACTER(len=100) :: tagname 535 LOGICAL :: lwrite = .FALSE. 536 LOGICAL :: lread = .FALSE. 537 ! 538 LOGICAL :: vdw_corr_ispresent = .FALSE. 539 CHARACTER(len=256) :: vdw_corr 540 LOGICAL :: dftd3_version_ispresent = .FALSE. 541 INTEGER :: dftd3_version 542 LOGICAL :: dftd3_threebody_ispresent = .FALSE. 543 LOGICAL :: dftd3_threebody 544 LOGICAL :: non_local_term_ispresent = .FALSE. 545 CHARACTER(len=256) :: non_local_term 546 LOGICAL :: functional_ispresent = .FALSE. 547 CHARACTER(len=256) :: functional 548 LOGICAL :: total_energy_term_ispresent = .FALSE. 549 REAL(DP) :: total_energy_term 550 LOGICAL :: london_s6_ispresent = .FALSE. 551 REAL(DP) :: london_s6 552 LOGICAL :: ts_vdw_econv_thr_ispresent = .FALSE. 553 REAL(DP) :: ts_vdw_econv_thr 554 LOGICAL :: ts_vdw_isolated_ispresent = .FALSE. 555 LOGICAL :: ts_vdw_isolated 556 LOGICAL :: london_rcut_ispresent = .FALSE. 557 REAL(DP) :: london_rcut 558 LOGICAL :: xdm_a1_ispresent = .FALSE. 559 REAL(DP) :: xdm_a1 560 LOGICAL :: xdm_a2_ispresent = .FALSE. 561 REAL(DP) :: xdm_a2 562 LOGICAL :: london_c6_ispresent = .FALSE. 563 TYPE(HubbardCommon_type), DIMENSION(:), ALLOCATABLE :: london_c6 564 INTEGER :: ndim_london_c6 565 ! 566 END TYPE vdW_type 567 ! 568 TYPE :: spin_type 569 ! 570 CHARACTER(len=100) :: tagname 571 LOGICAL :: lwrite = .FALSE. 572 LOGICAL :: lread = .FALSE. 573 ! 574 LOGICAL :: lsda 575 LOGICAL :: noncolin 576 LOGICAL :: spinorbit 577 ! 578 END TYPE spin_type 579 ! 580 TYPE :: bands_type 581 ! 582 CHARACTER(len=100) :: tagname 583 LOGICAL :: lwrite = .FALSE. 584 LOGICAL :: lread = .FALSE. 585 ! 586 LOGICAL :: nbnd_ispresent = .FALSE. 587 INTEGER :: nbnd 588 LOGICAL :: smearing_ispresent = .FALSE. 589 TYPE(smearing_type) :: smearing 590 LOGICAL :: tot_charge_ispresent = .FALSE. 591 REAL(DP) :: tot_charge 592 LOGICAL :: tot_magnetization_ispresent = .FALSE. 593 REAL(DP) :: tot_magnetization 594 TYPE(occupations_type) :: occupations 595 LOGICAL :: inputOccupations_ispresent = .FALSE. 596 TYPE(inputOccupations_type), DIMENSION(:), ALLOCATABLE :: inputOccupations 597 INTEGER :: ndim_inputOccupations 598 ! 599 END TYPE bands_type 600 ! 601 TYPE :: basis_type 602 ! 603 CHARACTER(len=100) :: tagname 604 LOGICAL :: lwrite = .FALSE. 605 LOGICAL :: lread = .FALSE. 606 ! 607 LOGICAL :: gamma_only_ispresent = .FALSE. 608 LOGICAL :: gamma_only 609 REAL(DP) :: ecutwfc 610 LOGICAL :: ecutrho_ispresent = .FALSE. 611 REAL(DP) :: ecutrho 612 LOGICAL :: fft_grid_ispresent = .FALSE. 613 TYPE(basisSetItem_type) :: fft_grid 614 LOGICAL :: fft_smooth_ispresent = .FALSE. 615 TYPE(basisSetItem_type) :: fft_smooth 616 LOGICAL :: fft_box_ispresent = .FALSE. 617 TYPE(basisSetItem_type) :: fft_box 618 ! 619 END TYPE basis_type 620 ! 621 TYPE :: reciprocal_lattice_type 622 ! 623 CHARACTER(len=100) :: tagname 624 LOGICAL :: lwrite = .FALSE. 625 LOGICAL :: lread = .FALSE. 626 ! 627 REAL(DP), DIMENSION(3) :: b1 628 REAL(DP), DIMENSION(3) :: b2 629 REAL(DP), DIMENSION(3) :: b3 630 ! 631 END TYPE reciprocal_lattice_type 632 ! 633 TYPE :: electron_control_type 634 ! 635 CHARACTER(len=100) :: tagname 636 LOGICAL :: lwrite = .FALSE. 637 LOGICAL :: lread = .FALSE. 638 ! 639 CHARACTER(len=256) :: diagonalization 640 CHARACTER(len=256) :: mixing_mode 641 REAL(DP) :: mixing_beta 642 REAL(DP) :: conv_thr 643 INTEGER :: mixing_ndim 644 INTEGER :: max_nstep 645 LOGICAL :: real_space_q_ispresent = .FALSE. 646 LOGICAL :: real_space_q 647 LOGICAL :: real_space_beta_ispresent = .FALSE. 648 LOGICAL :: real_space_beta 649 LOGICAL :: tq_smoothing 650 LOGICAL :: tbeta_smoothing 651 REAL(DP) :: diago_thr_init 652 LOGICAL :: diago_full_acc 653 LOGICAL :: diago_cg_maxiter_ispresent = .FALSE. 654 INTEGER :: diago_cg_maxiter 655 LOGICAL :: diago_ppcg_maxiter_ispresent = .FALSE. 656 INTEGER :: diago_ppcg_maxiter 657 LOGICAL :: diago_david_ndim_ispresent = .FALSE. 658 INTEGER :: diago_david_ndim 659 ! 660 END TYPE electron_control_type 661 ! 662 TYPE :: k_points_IBZ_type 663 ! 664 CHARACTER(len=100) :: tagname 665 LOGICAL :: lwrite = .FALSE. 666 LOGICAL :: lread = .FALSE. 667 ! 668 LOGICAL :: monkhorst_pack_ispresent = .FALSE. 669 TYPE(monkhorst_pack_type) :: monkhorst_pack 670 LOGICAL :: nk_ispresent = .FALSE. 671 INTEGER :: nk 672 LOGICAL :: k_point_ispresent = .FALSE. 673 TYPE(k_point_type), DIMENSION(:), ALLOCATABLE :: k_point 674 INTEGER :: ndim_k_point 675 ! 676 END TYPE k_points_IBZ_type 677 ! 678 TYPE :: bfgs_type 679 ! 680 CHARACTER(len=100) :: tagname 681 LOGICAL :: lwrite = .FALSE. 682 LOGICAL :: lread = .FALSE. 683 ! 684 INTEGER :: ndim 685 REAL(DP) :: trust_radius_min 686 REAL(DP) :: trust_radius_max 687 REAL(DP) :: trust_radius_init 688 REAL(DP) :: w1 689 REAL(DP) :: w2 690 ! 691 END TYPE bfgs_type 692 ! 693 TYPE :: md_type 694 ! 695 CHARACTER(len=100) :: tagname 696 LOGICAL :: lwrite = .FALSE. 697 LOGICAL :: lread = .FALSE. 698 ! 699 CHARACTER(len=256) :: pot_extrapolation 700 CHARACTER(len=256) :: wfc_extrapolation 701 CHARACTER(len=256) :: ion_temperature 702 REAL(DP) :: timestep 703 REAL(DP) :: tempw 704 REAL(DP) :: tolp 705 REAL(DP) :: deltaT 706 INTEGER :: nraise 707 ! 708 END TYPE md_type 709 ! 710 TYPE :: cell_control_type 711 ! 712 CHARACTER(len=100) :: tagname 713 LOGICAL :: lwrite = .FALSE. 714 LOGICAL :: lread = .FALSE. 715 ! 716 CHARACTER(len=256) :: cell_dynamics 717 REAL(DP) :: pressure 718 LOGICAL :: wmass_ispresent = .FALSE. 719 REAL(DP) :: wmass 720 LOGICAL :: cell_factor_ispresent = .FALSE. 721 REAL(DP) :: cell_factor 722 LOGICAL :: fix_volume_ispresent = .FALSE. 723 LOGICAL :: fix_volume 724 LOGICAL :: fix_area_ispresent = .FALSE. 725 LOGICAL :: fix_area 726 LOGICAL :: isotropic_ispresent = .FALSE. 727 LOGICAL :: isotropic 728 LOGICAL :: free_cell_ispresent = .FALSE. 729 TYPE(integerMatrix_type) :: free_cell 730 ! 731 END TYPE cell_control_type 732 ! 733 TYPE :: symmetry_flags_type 734 ! 735 CHARACTER(len=100) :: tagname 736 LOGICAL :: lwrite = .FALSE. 737 LOGICAL :: lread = .FALSE. 738 ! 739 LOGICAL :: nosym 740 LOGICAL :: nosym_evc 741 LOGICAL :: noinv 742 LOGICAL :: no_t_rev 743 LOGICAL :: force_symmorphic 744 LOGICAL :: use_all_frac 745 ! 746 END TYPE symmetry_flags_type 747 ! 748 TYPE :: esm_type 749 ! 750 CHARACTER(len=100) :: tagname 751 LOGICAL :: lwrite = .FALSE. 752 LOGICAL :: lread = .FALSE. 753 ! 754 CHARACTER(len=256) :: bc 755 INTEGER :: nfit 756 REAL(DP) :: w 757 REAL(DP) :: efield 758 ! 759 END TYPE esm_type 760 ! 761 TYPE :: ekin_functional_type 762 ! 763 CHARACTER(len=100) :: tagname 764 LOGICAL :: lwrite = .FALSE. 765 LOGICAL :: lread = .FALSE. 766 ! 767 REAL(DP) :: ecfixed 768 REAL(DP) :: qcutz 769 REAL(DP) :: q2sigma 770 ! 771 END TYPE ekin_functional_type 772 ! 773 TYPE :: spin_constraints_type 774 ! 775 CHARACTER(len=100) :: tagname 776 LOGICAL :: lwrite = .FALSE. 777 LOGICAL :: lread = .FALSE. 778 ! 779 CHARACTER(len=256) :: spin_constraints 780 REAL(DP) :: lagrange_multiplier 781 LOGICAL :: target_magnetization_ispresent = .FALSE. 782 REAL(DP), DIMENSION(3) :: target_magnetization 783 ! 784 END TYPE spin_constraints_type 785 ! 786 TYPE :: gate_settings_type 787 ! 788 CHARACTER(len=100) :: tagname 789 LOGICAL :: lwrite = .FALSE. 790 LOGICAL :: lread = .FALSE. 791 ! 792 LOGICAL :: use_gate 793 LOGICAL :: zgate_ispresent = .FALSE. 794 REAL(DP) :: zgate 795 LOGICAL :: relaxz_ispresent = .FALSE. 796 LOGICAL :: relaxz 797 LOGICAL :: block_ispresent = .FALSE. 798 LOGICAL :: block 799 LOGICAL :: block_1_ispresent = .FALSE. 800 REAL(DP) :: block_1 801 LOGICAL :: block_2_ispresent = .FALSE. 802 REAL(DP) :: block_2 803 LOGICAL :: block_height_ispresent = .FALSE. 804 REAL(DP) :: block_height 805 ! 806 END TYPE gate_settings_type 807 ! 808 TYPE :: atomic_constraint_type 809 ! 810 CHARACTER(len=100) :: tagname 811 LOGICAL :: lwrite = .FALSE. 812 LOGICAL :: lread = .FALSE. 813 ! 814 REAL(DP), DIMENSION(4) :: constr_parms 815 CHARACTER(len=256) :: constr_type 816 REAL(DP) :: constr_target 817 ! 818 END TYPE atomic_constraint_type 819 ! 820 TYPE :: dipoleOutput_type 821 ! 822 CHARACTER(len=100) :: tagname 823 LOGICAL :: lwrite = .FALSE. 824 LOGICAL :: lread = .FALSE. 825 ! 826 INTEGER :: idir 827 TYPE(scalarQuantity_type) :: dipole 828 TYPE(scalarQuantity_type) :: ion_dipole 829 TYPE(scalarQuantity_type) :: elec_dipole 830 TYPE(scalarQuantity_type) :: dipoleField 831 TYPE(scalarQuantity_type) :: potentialAmp 832 TYPE(scalarQuantity_type) :: totalLength 833 ! 834 END TYPE dipoleOutput_type 835 ! 836 TYPE :: finiteFieldOut_type 837 ! 838 CHARACTER(len=100) :: tagname 839 LOGICAL :: lwrite = .FALSE. 840 LOGICAL :: lread = .FALSE. 841 ! 842 REAL(DP), DIMENSION(3) :: electronicDipole 843 REAL(DP), DIMENSION(3) :: ionicDipole 844 ! 845 END TYPE finiteFieldOut_type 846 ! 847 TYPE :: polarization_type 848 ! 849 CHARACTER(len=100) :: tagname 850 LOGICAL :: lwrite = .FALSE. 851 LOGICAL :: lread = .FALSE. 852 ! 853 TYPE(scalarQuantity_type) :: polarization 854 REAL(DP) :: modulus 855 REAL(DP), DIMENSION(3) :: direction 856 ! 857 END TYPE polarization_type 858 ! 859 TYPE :: ionicPolarization_type 860 ! 861 CHARACTER(len=100) :: tagname 862 LOGICAL :: lwrite = .FALSE. 863 LOGICAL :: lread = .FALSE. 864 ! 865 TYPE(atom_type) :: ion 866 REAL(DP) :: charge 867 TYPE(phase_type) :: phase 868 ! 869 END TYPE ionicPolarization_type 870 ! 871 TYPE :: electronicPolarization_type 872 ! 873 CHARACTER(len=100) :: tagname 874 LOGICAL :: lwrite = .FALSE. 875 LOGICAL :: lread = .FALSE. 876 ! 877 TYPE(k_point_type) :: firstKeyPoint 878 LOGICAL :: spin_ispresent = .FALSE. 879 INTEGER :: spin 880 TYPE(phase_type) :: phase 881 ! 882 END TYPE electronicPolarization_type 883 ! 884 TYPE :: gateInfo_type 885 ! 886 CHARACTER(len=100) :: tagname 887 LOGICAL :: lwrite = .FALSE. 888 LOGICAL :: lread = .FALSE. 889 ! 890 REAL(DP) :: pot_prefactor 891 REAL(DP) :: gate_zpos 892 REAL(DP) :: gate_gate_term 893 REAL(DP) :: gatefieldEnergy 894 ! 895 END TYPE gateInfo_type 896 ! 897 TYPE :: scf_conv_type 898 ! 899 CHARACTER(len=100) :: tagname 900 LOGICAL :: lwrite = .FALSE. 901 LOGICAL :: lread = .FALSE. 902 ! 903 LOGICAL :: convergence_achieved 904 INTEGER :: n_scf_steps 905 REAL(DP) :: scf_error 906 ! 907 END TYPE scf_conv_type 908 ! 909 TYPE :: opt_conv_type 910 ! 911 CHARACTER(len=100) :: tagname 912 LOGICAL :: lwrite = .FALSE. 913 LOGICAL :: lread = .FALSE. 914 ! 915 LOGICAL :: convergence_achieved 916 INTEGER :: n_opt_steps 917 REAL(DP) :: grad_norm 918 ! 919 END TYPE opt_conv_type 920 ! 921 TYPE :: algorithmic_info_type 922 ! 923 CHARACTER(len=100) :: tagname 924 LOGICAL :: lwrite = .FALSE. 925 LOGICAL :: lread = .FALSE. 926 ! 927 LOGICAL :: real_space_q 928 LOGICAL :: real_space_beta_ispresent = .FALSE. 929 LOGICAL :: real_space_beta 930 LOGICAL :: uspp 931 LOGICAL :: paw 932 ! 933 END TYPE algorithmic_info_type 934 ! 935 TYPE :: symmetry_type 936 ! 937 CHARACTER(len=100) :: tagname 938 LOGICAL :: lwrite = .FALSE. 939 LOGICAL :: lread = .FALSE. 940 ! 941 TYPE(info_type) :: info 942 TYPE(matrix_type) :: rotation 943 LOGICAL :: fractional_translation_ispresent = .FALSE. 944 REAL(DP), DIMENSION(3) :: fractional_translation 945 LOGICAL :: equivalent_atoms_ispresent = .FALSE. 946 TYPE(equivalent_atoms_type) :: equivalent_atoms 947 ! 948 END TYPE symmetry_type 949 ! 950 TYPE :: outputPBC_type 951 ! 952 CHARACTER(len=100) :: tagname 953 LOGICAL :: lwrite = .FALSE. 954 LOGICAL :: lread = .FALSE. 955 ! 956 CHARACTER(len=256) :: assume_isolated 957 ! 958 END TYPE outputPBC_type 959 ! 960 TYPE :: magnetization_type 961 ! 962 CHARACTER(len=100) :: tagname 963 LOGICAL :: lwrite = .FALSE. 964 LOGICAL :: lread = .FALSE. 965 ! 966 LOGICAL :: lsda 967 LOGICAL :: noncolin 968 LOGICAL :: spinorbit 969 REAL(DP) :: total 970 REAL(DP) :: absolute 971 LOGICAL :: do_magnetization_ispresent = .FALSE. 972 LOGICAL :: do_magnetization 973 ! 974 END TYPE magnetization_type 975 ! 976 TYPE :: total_energy_type 977 ! 978 CHARACTER(len=100) :: tagname 979 LOGICAL :: lwrite = .FALSE. 980 LOGICAL :: lread = .FALSE. 981 ! 982 REAL(DP) :: etot 983 LOGICAL :: eband_ispresent = .FALSE. 984 REAL(DP) :: eband 985 LOGICAL :: ehart_ispresent = .FALSE. 986 REAL(DP) :: ehart 987 LOGICAL :: vtxc_ispresent = .FALSE. 988 REAL(DP) :: vtxc 989 LOGICAL :: etxc_ispresent = .FALSE. 990 REAL(DP) :: etxc 991 LOGICAL :: ewald_ispresent = .FALSE. 992 REAL(DP) :: ewald 993 LOGICAL :: demet_ispresent = .FALSE. 994 REAL(DP) :: demet 995 LOGICAL :: efieldcorr_ispresent = .FALSE. 996 REAL(DP) :: efieldcorr 997 LOGICAL :: potentiostat_contr_ispresent = .FALSE. 998 REAL(DP) :: potentiostat_contr 999 LOGICAL :: gatefield_contr_ispresent = .FALSE. 1000 REAL(DP) :: gatefield_contr 1001 LOGICAL :: vdW_term_ispresent = .FALSE. 1002 REAL(DP) :: vdW_term 1003 ! 1004 END TYPE total_energy_type 1005 ! 1006 TYPE :: ks_energies_type 1007 ! 1008 CHARACTER(len=100) :: tagname 1009 LOGICAL :: lwrite = .FALSE. 1010 LOGICAL :: lread = .FALSE. 1011 ! 1012 TYPE(k_point_type) :: k_point 1013 INTEGER :: npw 1014 TYPE(vector_type) :: eigenvalues 1015 TYPE(vector_type) :: occupations 1016 ! 1017 END TYPE ks_energies_type 1018 ! 1019 TYPE :: timing_type 1020 ! 1021 CHARACTER(len=100) :: tagname 1022 LOGICAL :: lwrite = .FALSE. 1023 LOGICAL :: lread = .FALSE. 1024 ! 1025 TYPE(clock_type) :: total 1026 LOGICAL :: partial_ispresent = .FALSE. 1027 TYPE(clock_type), DIMENSION(:), ALLOCATABLE :: partial 1028 INTEGER :: ndim_partial 1029 ! 1030 END TYPE timing_type 1031 ! 1032 TYPE :: atomic_species_type 1033 ! 1034 CHARACTER(len=100) :: tagname 1035 LOGICAL :: lwrite = .FALSE. 1036 LOGICAL :: lread = .FALSE. 1037 ! 1038 INTEGER :: ntyp 1039 CHARACTER(len=256) :: pseudo_dir 1040 LOGICAL :: pseudo_dir_ispresent = .FALSE. 1041 TYPE(species_type), DIMENSION(:), ALLOCATABLE :: species 1042 INTEGER :: ndim_species 1043 ! 1044 END TYPE atomic_species_type 1045 ! 1046 TYPE :: atomic_structure_type 1047 ! 1048 CHARACTER(len=100) :: tagname 1049 LOGICAL :: lwrite = .FALSE. 1050 LOGICAL :: lread = .FALSE. 1051 ! 1052 INTEGER :: nat 1053 REAL(DP) :: alat 1054 LOGICAL :: alat_ispresent = .FALSE. 1055 INTEGER :: bravais_index 1056 LOGICAL :: bravais_index_ispresent = .FALSE. 1057 CHARACTER(len=256) :: alternative_axes 1058 LOGICAL :: alternative_axes_ispresent = .FALSE. 1059 LOGICAL :: atomic_positions_ispresent = .FALSE. 1060 TYPE(atomic_positions_type) :: atomic_positions 1061 LOGICAL :: wyckoff_positions_ispresent = .FALSE. 1062 TYPE(wyckoff_positions_type) :: wyckoff_positions 1063 LOGICAL :: crystal_positions_ispresent = .FALSE. 1064 TYPE(atomic_positions_type) :: crystal_positions 1065 TYPE(cell_type) :: cell 1066 ! 1067 END TYPE atomic_structure_type 1068 ! 1069 TYPE :: dftU_type 1070 ! 1071 CHARACTER(len=100) :: tagname 1072 LOGICAL :: lwrite = .FALSE. 1073 LOGICAL :: lread = .FALSE. 1074 ! 1075 LOGICAL :: lda_plus_u_kind_ispresent = .FALSE. 1076 INTEGER :: lda_plus_u_kind 1077 LOGICAL :: Hubbard_U_ispresent = .FALSE. 1078 TYPE(HubbardCommon_type), DIMENSION(:), ALLOCATABLE :: Hubbard_U 1079 INTEGER :: ndim_Hubbard_U 1080 LOGICAL :: Hubbard_J0_ispresent = .FALSE. 1081 TYPE(HubbardCommon_type), DIMENSION(:), ALLOCATABLE :: Hubbard_J0 1082 INTEGER :: ndim_Hubbard_J0 1083 LOGICAL :: Hubbard_alpha_ispresent = .FALSE. 1084 TYPE(HubbardCommon_type), DIMENSION(:), ALLOCATABLE :: Hubbard_alpha 1085 INTEGER :: ndim_Hubbard_alpha 1086 LOGICAL :: Hubbard_beta_ispresent = .FALSE. 1087 TYPE(HubbardCommon_type), DIMENSION(:), ALLOCATABLE :: Hubbard_beta 1088 INTEGER :: ndim_Hubbard_beta 1089 LOGICAL :: Hubbard_J_ispresent = .FALSE. 1090 TYPE(HubbardJ_type), DIMENSION(:), ALLOCATABLE :: Hubbard_J 1091 INTEGER :: ndim_Hubbard_J 1092 LOGICAL :: starting_ns_ispresent = .FALSE. 1093 TYPE(starting_ns_type), DIMENSION(:), ALLOCATABLE :: starting_ns 1094 INTEGER :: ndim_starting_ns 1095 LOGICAL :: Hubbard_ns_ispresent = .FALSE. 1096 TYPE(Hubbard_ns_type), DIMENSION(:), ALLOCATABLE :: Hubbard_ns 1097 INTEGER :: ndim_Hubbard_ns 1098 LOGICAL :: U_projection_type_ispresent = .FALSE. 1099 CHARACTER(len=256) :: U_projection_type 1100 LOGICAL :: Hubbard_back_ispresent = .FALSE. 1101 TYPE(HubbardBack_type), DIMENSION(:), ALLOCATABLE :: Hubbard_back 1102 INTEGER :: ndim_Hubbard_back 1103 LOGICAL :: Hubbard_U_back_ispresent = .FALSE. 1104 TYPE(HubbardCommon_type), DIMENSION(:), ALLOCATABLE :: Hubbard_U_back 1105 INTEGER :: ndim_Hubbard_U_back 1106 LOGICAL :: Hubbard_alpha_back_ispresent = .FALSE. 1107 TYPE(HubbardCommon_type), DIMENSION(:), ALLOCATABLE :: Hubbard_alpha_back 1108 INTEGER :: ndim_Hubbard_alpha_back 1109 LOGICAL :: Hubbard_ns_nc_ispresent = .FALSE. 1110 TYPE(Hubbard_ns_type), DIMENSION(:), ALLOCATABLE :: Hubbard_ns_nc 1111 INTEGER :: ndim_Hubbard_ns_nc 1112 ! 1113 END TYPE dftU_type 1114 ! 1115 TYPE :: basis_set_type 1116 ! 1117 CHARACTER(len=100) :: tagname 1118 LOGICAL :: lwrite = .FALSE. 1119 LOGICAL :: lread = .FALSE. 1120 ! 1121 LOGICAL :: gamma_only_ispresent = .FALSE. 1122 LOGICAL :: gamma_only 1123 REAL(DP) :: ecutwfc 1124 LOGICAL :: ecutrho_ispresent = .FALSE. 1125 REAL(DP) :: ecutrho 1126 TYPE(basisSetItem_type) :: fft_grid 1127 LOGICAL :: fft_smooth_ispresent = .FALSE. 1128 TYPE(basisSetItem_type) :: fft_smooth 1129 LOGICAL :: fft_box_ispresent = .FALSE. 1130 TYPE(basisSetItem_type) :: fft_box 1131 INTEGER :: ngm 1132 LOGICAL :: ngms_ispresent = .FALSE. 1133 INTEGER :: ngms 1134 INTEGER :: npwx 1135 TYPE(reciprocal_lattice_type) :: reciprocal_lattice 1136 ! 1137 END TYPE basis_set_type 1138 ! 1139 TYPE :: ion_control_type 1140 ! 1141 CHARACTER(len=100) :: tagname 1142 LOGICAL :: lwrite = .FALSE. 1143 LOGICAL :: lread = .FALSE. 1144 ! 1145 CHARACTER(len=256) :: ion_dynamics 1146 LOGICAL :: upscale_ispresent = .FALSE. 1147 REAL(DP) :: upscale 1148 LOGICAL :: remove_rigid_rot_ispresent = .FALSE. 1149 LOGICAL :: remove_rigid_rot 1150 LOGICAL :: refold_pos_ispresent = .FALSE. 1151 LOGICAL :: refold_pos 1152 LOGICAL :: bfgs_ispresent = .FALSE. 1153 TYPE(bfgs_type) :: bfgs 1154 LOGICAL :: md_ispresent = .FALSE. 1155 TYPE(md_type) :: md 1156 ! 1157 END TYPE ion_control_type 1158 ! 1159 TYPE :: boundary_conditions_type 1160 ! 1161 CHARACTER(len=100) :: tagname 1162 LOGICAL :: lwrite = .FALSE. 1163 LOGICAL :: lread = .FALSE. 1164 ! 1165 CHARACTER(len=256) :: assume_isolated 1166 LOGICAL :: esm_ispresent = .FALSE. 1167 TYPE(esm_type) :: esm 1168 LOGICAL :: fcp_opt_ispresent = .FALSE. 1169 LOGICAL :: fcp_opt 1170 LOGICAL :: fcp_mu_ispresent = .FALSE. 1171 REAL(DP) :: fcp_mu 1172 ! 1173 END TYPE boundary_conditions_type 1174 ! 1175 TYPE :: electric_field_type 1176 ! 1177 CHARACTER(len=100) :: tagname 1178 LOGICAL :: lwrite = .FALSE. 1179 LOGICAL :: lread = .FALSE. 1180 ! 1181 CHARACTER(len=256) :: electric_potential 1182 LOGICAL :: dipole_correction_ispresent = .FALSE. 1183 LOGICAL :: dipole_correction 1184 LOGICAL :: gate_settings_ispresent = .FALSE. 1185 TYPE(gate_settings_type) :: gate_settings 1186 LOGICAL :: electric_field_direction_ispresent = .FALSE. 1187 INTEGER :: electric_field_direction 1188 LOGICAL :: potential_max_position_ispresent = .FALSE. 1189 REAL(DP) :: potential_max_position 1190 LOGICAL :: potential_decrease_width_ispresent = .FALSE. 1191 REAL(DP) :: potential_decrease_width 1192 LOGICAL :: electric_field_amplitude_ispresent = .FALSE. 1193 REAL(DP) :: electric_field_amplitude 1194 LOGICAL :: electric_field_vector_ispresent = .FALSE. 1195 REAL(DP), DIMENSION(3) :: electric_field_vector 1196 LOGICAL :: nk_per_string_ispresent = .FALSE. 1197 INTEGER :: nk_per_string 1198 LOGICAL :: n_berry_cycles_ispresent = .FALSE. 1199 INTEGER :: n_berry_cycles 1200 ! 1201 END TYPE electric_field_type 1202 ! 1203 TYPE :: atomic_constraints_type 1204 ! 1205 CHARACTER(len=100) :: tagname 1206 LOGICAL :: lwrite = .FALSE. 1207 LOGICAL :: lread = .FALSE. 1208 ! 1209 INTEGER :: num_of_constraints 1210 REAL(DP) :: tolerance 1211 TYPE(atomic_constraint_type), DIMENSION(:), ALLOCATABLE :: atomic_constraint 1212 INTEGER :: ndim_atomic_constraint 1213 ! 1214 END TYPE atomic_constraints_type 1215 ! 1216 TYPE :: BerryPhaseOutput_type 1217 ! 1218 CHARACTER(len=100) :: tagname 1219 LOGICAL :: lwrite = .FALSE. 1220 LOGICAL :: lread = .FALSE. 1221 ! 1222 TYPE(polarization_type) :: totalPolarization 1223 TYPE(phase_type) :: totalPhase 1224 TYPE(ionicPolarization_type), DIMENSION(:), ALLOCATABLE :: ionicPolarization 1225 INTEGER :: ndim_ionicPolarization 1226 TYPE(electronicPolarization_type), DIMENSION(:), ALLOCATABLE :: electronicPolarization 1227 INTEGER :: ndim_electronicPolarization 1228 ! 1229 END TYPE BerryPhaseOutput_type 1230 ! 1231 TYPE :: convergence_info_type 1232 ! 1233 CHARACTER(len=100) :: tagname 1234 LOGICAL :: lwrite = .FALSE. 1235 LOGICAL :: lread = .FALSE. 1236 ! 1237 TYPE(scf_conv_type) :: scf_conv 1238 LOGICAL :: opt_conv_ispresent = .FALSE. 1239 TYPE(opt_conv_type) :: opt_conv 1240 ! 1241 END TYPE convergence_info_type 1242 ! 1243 TYPE :: symmetries_type 1244 ! 1245 CHARACTER(len=100) :: tagname 1246 LOGICAL :: lwrite = .FALSE. 1247 LOGICAL :: lread = .FALSE. 1248 ! 1249 INTEGER :: nsym 1250 INTEGER :: nrot 1251 INTEGER :: space_group 1252 TYPE(symmetry_type), DIMENSION(:), ALLOCATABLE :: symmetry 1253 INTEGER :: ndim_symmetry 1254 ! 1255 END TYPE symmetries_type 1256 ! 1257 TYPE :: band_structure_type 1258 ! 1259 CHARACTER(len=100) :: tagname 1260 LOGICAL :: lwrite = .FALSE. 1261 LOGICAL :: lread = .FALSE. 1262 ! 1263 LOGICAL :: lsda 1264 LOGICAL :: noncolin 1265 LOGICAL :: spinorbit 1266 LOGICAL :: nbnd_ispresent = .FALSE. 1267 INTEGER :: nbnd 1268 LOGICAL :: nbnd_up_ispresent = .FALSE. 1269 INTEGER :: nbnd_up 1270 LOGICAL :: nbnd_dw_ispresent = .FALSE. 1271 INTEGER :: nbnd_dw 1272 REAL(DP) :: nelec 1273 LOGICAL :: num_of_atomic_wfc_ispresent = .FALSE. 1274 INTEGER :: num_of_atomic_wfc 1275 LOGICAL :: wf_collected 1276 LOGICAL :: fermi_energy_ispresent = .FALSE. 1277 REAL(DP) :: fermi_energy 1278 LOGICAL :: highestOccupiedLevel_ispresent = .FALSE. 1279 REAL(DP) :: highestOccupiedLevel 1280 LOGICAL :: lowestUnoccupiedLevel_ispresent = .FALSE. 1281 REAL(DP) :: lowestUnoccupiedLevel 1282 LOGICAL :: two_fermi_energies_ispresent = .FALSE. 1283 REAL(DP), DIMENSION(2) :: two_fermi_energies 1284 TYPE(k_points_IBZ_type) :: starting_k_points 1285 INTEGER :: nks 1286 TYPE(occupations_type) :: occupations_kind 1287 LOGICAL :: smearing_ispresent = .FALSE. 1288 TYPE(smearing_type) :: smearing 1289 TYPE(ks_energies_type), DIMENSION(:), ALLOCATABLE :: ks_energies 1290 INTEGER :: ndim_ks_energies 1291 ! 1292 END TYPE band_structure_type 1293 ! 1294 TYPE :: step_type 1295 ! 1296 CHARACTER(len=100) :: tagname 1297 LOGICAL :: lwrite = .FALSE. 1298 LOGICAL :: lread = .FALSE. 1299 ! 1300 INTEGER :: n_step 1301 TYPE(scf_conv_type) :: scf_conv 1302 TYPE(atomic_structure_type) :: atomic_structure 1303 TYPE(total_energy_type) :: total_energy 1304 TYPE(matrix_type) :: forces 1305 LOGICAL :: stress_ispresent = .FALSE. 1306 TYPE(matrix_type) :: stress 1307 LOGICAL :: FCP_force_ispresent = .FALSE. 1308 REAL(DP) :: FCP_force 1309 LOGICAL :: FCP_tot_charge_ispresent = .FALSE. 1310 REAL(DP) :: FCP_tot_charge 1311 ! 1312 END TYPE step_type 1313 ! 1314 TYPE :: dft_type 1315 ! 1316 CHARACTER(len=100) :: tagname 1317 LOGICAL :: lwrite = .FALSE. 1318 LOGICAL :: lread = .FALSE. 1319 ! 1320 CHARACTER(len=256) :: functional 1321 LOGICAL :: hybrid_ispresent = .FALSE. 1322 TYPE(hybrid_type) :: hybrid 1323 LOGICAL :: dftU_ispresent = .FALSE. 1324 TYPE(dftU_type) :: dftU 1325 LOGICAL :: vdW_ispresent = .FALSE. 1326 TYPE(vdW_type) :: vdW 1327 ! 1328 END TYPE dft_type 1329 ! 1330 TYPE :: outputElectricField_type 1331 ! 1332 CHARACTER(len=100) :: tagname 1333 LOGICAL :: lwrite = .FALSE. 1334 LOGICAL :: lread = .FALSE. 1335 ! 1336 LOGICAL :: BerryPhase_ispresent = .FALSE. 1337 TYPE(BerryPhaseOutput_type) :: BerryPhase 1338 LOGICAL :: finiteElectricFieldInfo_ispresent = .FALSE. 1339 TYPE(finiteFieldOut_type) :: finiteElectricFieldInfo 1340 LOGICAL :: dipoleInfo_ispresent = .FALSE. 1341 TYPE(dipoleOutput_type) :: dipoleInfo 1342 LOGICAL :: gateInfo_ispresent = .FALSE. 1343 TYPE(gateInfo_type) :: gateInfo 1344 ! 1345 END TYPE outputElectricField_type 1346 ! 1347 TYPE :: input_type 1348 ! 1349 CHARACTER(len=100) :: tagname 1350 LOGICAL :: lwrite = .FALSE. 1351 LOGICAL :: lread = .FALSE. 1352 ! 1353 TYPE(control_variables_type) :: control_variables 1354 TYPE(atomic_species_type) :: atomic_species 1355 TYPE(atomic_structure_type) :: atomic_structure 1356 TYPE(dft_type) :: dft 1357 TYPE(spin_type) :: spin 1358 TYPE(bands_type) :: bands 1359 TYPE(basis_type) :: basis 1360 TYPE(electron_control_type) :: electron_control 1361 TYPE(k_points_IBZ_type) :: k_points_IBZ 1362 TYPE(ion_control_type) :: ion_control 1363 TYPE(cell_control_type) :: cell_control 1364 LOGICAL :: symmetry_flags_ispresent = .FALSE. 1365 TYPE(symmetry_flags_type) :: symmetry_flags 1366 LOGICAL :: boundary_conditions_ispresent = .FALSE. 1367 TYPE(boundary_conditions_type) :: boundary_conditions 1368 LOGICAL :: ekin_functional_ispresent = .FALSE. 1369 TYPE(ekin_functional_type) :: ekin_functional 1370 LOGICAL :: external_atomic_forces_ispresent = .FALSE. 1371 TYPE(matrix_type) :: external_atomic_forces 1372 LOGICAL :: free_positions_ispresent = .FALSE. 1373 TYPE(integerMatrix_type) :: free_positions 1374 LOGICAL :: starting_atomic_velocities_ispresent = .FALSE. 1375 TYPE(matrix_type) :: starting_atomic_velocities 1376 LOGICAL :: electric_field_ispresent = .FALSE. 1377 TYPE(electric_field_type) :: electric_field 1378 LOGICAL :: atomic_constraints_ispresent = .FALSE. 1379 TYPE(atomic_constraints_type) :: atomic_constraints 1380 LOGICAL :: spin_constraints_ispresent = .FALSE. 1381 TYPE(spin_constraints_type) :: spin_constraints 1382 ! 1383 END TYPE input_type 1384 ! 1385 TYPE :: output_type 1386 ! 1387 CHARACTER(len=100) :: tagname 1388 LOGICAL :: lwrite = .FALSE. 1389 LOGICAL :: lread = .FALSE. 1390 ! 1391 LOGICAL :: convergence_info_ispresent = .FALSE. 1392 TYPE(convergence_info_type) :: convergence_info 1393 TYPE(algorithmic_info_type) :: algorithmic_info 1394 TYPE(atomic_species_type) :: atomic_species 1395 TYPE(atomic_structure_type) :: atomic_structure 1396 LOGICAL :: symmetries_ispresent = .FALSE. 1397 TYPE(symmetries_type) :: symmetries 1398 TYPE(basis_set_type) :: basis_set 1399 TYPE(dft_type) :: dft 1400 LOGICAL :: boundary_conditions_ispresent = .FALSE. 1401 TYPE(outputPBC_type) :: boundary_conditions 1402 TYPE(magnetization_type) :: magnetization 1403 TYPE(total_energy_type) :: total_energy 1404 TYPE(band_structure_type) :: band_structure 1405 LOGICAL :: forces_ispresent = .FALSE. 1406 TYPE(matrix_type) :: forces 1407 LOGICAL :: stress_ispresent = .FALSE. 1408 TYPE(matrix_type) :: stress 1409 LOGICAL :: electric_field_ispresent = .FALSE. 1410 TYPE(outputElectricField_type) :: electric_field 1411 LOGICAL :: FCP_force_ispresent = .FALSE. 1412 REAL(DP) :: FCP_force 1413 LOGICAL :: FCP_tot_charge_ispresent = .FALSE. 1414 REAL(DP) :: FCP_tot_charge 1415 ! 1416 END TYPE output_type 1417 ! 1418 TYPE :: espresso_type 1419 ! 1420 CHARACTER(len=100) :: tagname 1421 LOGICAL :: lwrite = .FALSE. 1422 LOGICAL :: lread = .FALSE. 1423 ! 1424 CHARACTER(len=256) :: Units 1425 LOGICAL :: Units_ispresent = .FALSE. 1426 LOGICAL :: general_info_ispresent = .FALSE. 1427 TYPE(general_info_type) :: general_info 1428 LOGICAL :: parallel_info_ispresent = .FALSE. 1429 TYPE(parallel_info_type) :: parallel_info 1430 TYPE(input_type) :: input 1431 LOGICAL :: step_ispresent = .FALSE. 1432 TYPE(step_type), DIMENSION(:), ALLOCATABLE :: step 1433 INTEGER :: ndim_step 1434 LOGICAL :: output_ispresent = .FALSE. 1435 TYPE(output_type) :: output 1436 LOGICAL :: status_ispresent = .FALSE. 1437 INTEGER :: status 1438 LOGICAL :: cputime_ispresent = .FALSE. 1439 INTEGER :: cputime 1440 LOGICAL :: timing_info_ispresent = .FALSE. 1441 TYPE(timing_type) :: timing_info 1442 LOGICAL :: closed_ispresent = .FALSE. 1443 TYPE(closed_type) :: closed 1444 ! 1445 END TYPE espresso_type 1446 ! 1447 ! 1448END MODULE qes_types_module