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_reset_module 10 ! 11 ! Auto-generated code: don't edit or at least don't commit changes 12 ! 13 ! Quantum Espresso XSD namespace: http://www.quantum-espresso.org/ns/qes/qes-1.0 14 ! 15 USE qes_types_module 16 ! 17 IMPLICIT NONE 18 ! 19 PRIVATE 20 ! 21 PUBLIC qes_reset 22 ! 23 INTERFACE qes_reset 24 MODULE PROCEDURE qes_reset_espresso 25 MODULE PROCEDURE qes_reset_general_info 26 MODULE PROCEDURE qes_reset_parallel_info 27 MODULE PROCEDURE qes_reset_input 28 MODULE PROCEDURE qes_reset_step 29 MODULE PROCEDURE qes_reset_output 30 MODULE PROCEDURE qes_reset_timing 31 MODULE PROCEDURE qes_reset_clock 32 MODULE PROCEDURE qes_reset_control_variables 33 MODULE PROCEDURE qes_reset_xml_format 34 MODULE PROCEDURE qes_reset_creator 35 MODULE PROCEDURE qes_reset_created 36 MODULE PROCEDURE qes_reset_atomic_species 37 MODULE PROCEDURE qes_reset_species 38 MODULE PROCEDURE qes_reset_atomic_structure 39 MODULE PROCEDURE qes_reset_atomic_positions 40 MODULE PROCEDURE qes_reset_atom 41 MODULE PROCEDURE qes_reset_wyckoff_positions 42 MODULE PROCEDURE qes_reset_cell 43 MODULE PROCEDURE qes_reset_dft 44 MODULE PROCEDURE qes_reset_hybrid 45 MODULE PROCEDURE qes_reset_qpoint_grid 46 MODULE PROCEDURE qes_reset_dftU 47 MODULE PROCEDURE qes_reset_HubbardCommon 48 MODULE PROCEDURE qes_reset_HubbardJ 49 MODULE PROCEDURE qes_reset_starting_ns 50 MODULE PROCEDURE qes_reset_Hubbard_ns 51 MODULE PROCEDURE qes_reset_HubbardBack 52 MODULE PROCEDURE qes_reset_backL 53 MODULE PROCEDURE qes_reset_vdW 54 MODULE PROCEDURE qes_reset_spin 55 MODULE PROCEDURE qes_reset_bands 56 MODULE PROCEDURE qes_reset_smearing 57 MODULE PROCEDURE qes_reset_occupations 58 MODULE PROCEDURE qes_reset_basis 59 MODULE PROCEDURE qes_reset_basis_set 60 MODULE PROCEDURE qes_reset_basisSetItem 61 MODULE PROCEDURE qes_reset_reciprocal_lattice 62 MODULE PROCEDURE qes_reset_electron_control 63 MODULE PROCEDURE qes_reset_k_points_IBZ 64 MODULE PROCEDURE qes_reset_monkhorst_pack 65 MODULE PROCEDURE qes_reset_k_point 66 MODULE PROCEDURE qes_reset_ion_control 67 MODULE PROCEDURE qes_reset_bfgs 68 MODULE PROCEDURE qes_reset_md 69 MODULE PROCEDURE qes_reset_cell_control 70 MODULE PROCEDURE qes_reset_symmetry_flags 71 MODULE PROCEDURE qes_reset_boundary_conditions 72 MODULE PROCEDURE qes_reset_esm 73 MODULE PROCEDURE qes_reset_ekin_functional 74 MODULE PROCEDURE qes_reset_spin_constraints 75 MODULE PROCEDURE qes_reset_electric_field 76 MODULE PROCEDURE qes_reset_gate_settings 77 MODULE PROCEDURE qes_reset_atomic_constraints 78 MODULE PROCEDURE qes_reset_atomic_constraint 79 MODULE PROCEDURE qes_reset_inputOccupations 80 MODULE PROCEDURE qes_reset_outputElectricField 81 MODULE PROCEDURE qes_reset_BerryPhaseOutput 82 MODULE PROCEDURE qes_reset_dipoleOutput 83 MODULE PROCEDURE qes_reset_finiteFieldOut 84 MODULE PROCEDURE qes_reset_polarization 85 MODULE PROCEDURE qes_reset_ionicPolarization 86 MODULE PROCEDURE qes_reset_electronicPolarization 87 MODULE PROCEDURE qes_reset_phase 88 MODULE PROCEDURE qes_reset_gateInfo 89 MODULE PROCEDURE qes_reset_convergence_info 90 MODULE PROCEDURE qes_reset_scf_conv 91 MODULE PROCEDURE qes_reset_opt_conv 92 MODULE PROCEDURE qes_reset_algorithmic_info 93 MODULE PROCEDURE qes_reset_symmetries 94 MODULE PROCEDURE qes_reset_symmetry 95 MODULE PROCEDURE qes_reset_equivalent_atoms 96 MODULE PROCEDURE qes_reset_info 97 MODULE PROCEDURE qes_reset_outputPBC 98 MODULE PROCEDURE qes_reset_magnetization 99 MODULE PROCEDURE qes_reset_total_energy 100 MODULE PROCEDURE qes_reset_band_structure 101 MODULE PROCEDURE qes_reset_ks_energies 102 MODULE PROCEDURE qes_reset_closed 103 MODULE PROCEDURE qes_reset_vector 104 MODULE PROCEDURE qes_reset_integerVector 105 MODULE PROCEDURE qes_reset_matrix 106 MODULE PROCEDURE qes_reset_integerMatrix 107 MODULE PROCEDURE qes_reset_scalarQuantity 108 END INTERFACE qes_reset 109 ! 110 CONTAINS 111 ! 112 ! 113 SUBROUTINE qes_reset_espresso(obj) 114 ! 115 IMPLICIT NONE 116 TYPE(espresso_type),INTENT(INOUT) :: obj 117 INTEGER :: i 118 ! 119 obj%tagname = "" 120 obj%lwrite = .FALSE. 121 obj%lread = .FALSE. 122 ! 123 IF (obj%general_info_ispresent) & 124 CALL qes_reset_general_info(obj%general_info) 125 obj%general_info_ispresent = .FALSE. 126 IF (obj%parallel_info_ispresent) & 127 CALL qes_reset_parallel_info(obj%parallel_info) 128 obj%parallel_info_ispresent = .FALSE. 129 CALL qes_reset_input(obj%input) 130 IF (obj%step_ispresent) THEN 131 IF (ALLOCATED(obj%step)) THEN 132 DO i=1, SIZE(obj%step) 133 CALL qes_reset_step(obj%step(i)) 134 ENDDO 135 DEALLOCATE(obj%step) 136 ENDIF 137 obj%ndim_step = 0 138 obj%step_ispresent = .FALSE. 139 ENDIF 140 IF (obj%output_ispresent) & 141 CALL qes_reset_output(obj%output) 142 obj%output_ispresent = .FALSE. 143 obj%status_ispresent = .FALSE. 144 obj%cputime_ispresent = .FALSE. 145 IF (obj%timing_info_ispresent) & 146 CALL qes_reset_timing(obj%timing_info) 147 obj%timing_info_ispresent = .FALSE. 148 IF (obj%closed_ispresent) & 149 CALL qes_reset_closed(obj%closed) 150 obj%closed_ispresent = .FALSE. 151 obj%Units_ispresent = .FALSE. 152 ! 153 END SUBROUTINE qes_reset_espresso 154 ! 155 ! 156 SUBROUTINE qes_reset_general_info(obj) 157 ! 158 IMPLICIT NONE 159 TYPE(general_info_type),INTENT(INOUT) :: obj 160 ! 161 obj%tagname = "" 162 obj%lwrite = .FALSE. 163 obj%lread = .FALSE. 164 ! 165 CALL qes_reset_xml_format(obj%xml_format) 166 CALL qes_reset_creator(obj%creator) 167 CALL qes_reset_created(obj%created) 168 ! 169 END SUBROUTINE qes_reset_general_info 170 ! 171 ! 172 SUBROUTINE qes_reset_parallel_info(obj) 173 ! 174 IMPLICIT NONE 175 TYPE(parallel_info_type),INTENT(INOUT) :: obj 176 ! 177 obj%tagname = "" 178 obj%lwrite = .FALSE. 179 obj%lread = .FALSE. 180 ! 181 ! 182 END SUBROUTINE qes_reset_parallel_info 183 ! 184 ! 185 SUBROUTINE qes_reset_input(obj) 186 ! 187 IMPLICIT NONE 188 TYPE(input_type),INTENT(INOUT) :: obj 189 ! 190 obj%tagname = "" 191 obj%lwrite = .FALSE. 192 obj%lread = .FALSE. 193 ! 194 CALL qes_reset_control_variables(obj%control_variables) 195 CALL qes_reset_atomic_species(obj%atomic_species) 196 CALL qes_reset_atomic_structure(obj%atomic_structure) 197 CALL qes_reset_dft(obj%dft) 198 CALL qes_reset_spin(obj%spin) 199 CALL qes_reset_bands(obj%bands) 200 CALL qes_reset_basis(obj%basis) 201 CALL qes_reset_electron_control(obj%electron_control) 202 CALL qes_reset_k_points_IBZ(obj%k_points_IBZ) 203 CALL qes_reset_ion_control(obj%ion_control) 204 CALL qes_reset_cell_control(obj%cell_control) 205 IF (obj%symmetry_flags_ispresent) & 206 CALL qes_reset_symmetry_flags(obj%symmetry_flags) 207 obj%symmetry_flags_ispresent = .FALSE. 208 IF (obj%boundary_conditions_ispresent) & 209 CALL qes_reset_boundary_conditions(obj%boundary_conditions) 210 obj%boundary_conditions_ispresent = .FALSE. 211 IF (obj%ekin_functional_ispresent) & 212 CALL qes_reset_ekin_functional(obj%ekin_functional) 213 obj%ekin_functional_ispresent = .FALSE. 214 IF (obj%external_atomic_forces_ispresent) & 215 CALL qes_reset_matrix(obj%external_atomic_forces) 216 obj%external_atomic_forces_ispresent = .FALSE. 217 IF (obj%free_positions_ispresent) & 218 CALL qes_reset_integerMatrix(obj%free_positions) 219 obj%free_positions_ispresent = .FALSE. 220 IF (obj%starting_atomic_velocities_ispresent) & 221 CALL qes_reset_matrix(obj%starting_atomic_velocities) 222 obj%starting_atomic_velocities_ispresent = .FALSE. 223 IF (obj%electric_field_ispresent) & 224 CALL qes_reset_electric_field(obj%electric_field) 225 obj%electric_field_ispresent = .FALSE. 226 IF (obj%atomic_constraints_ispresent) & 227 CALL qes_reset_atomic_constraints(obj%atomic_constraints) 228 obj%atomic_constraints_ispresent = .FALSE. 229 IF (obj%spin_constraints_ispresent) & 230 CALL qes_reset_spin_constraints(obj%spin_constraints) 231 obj%spin_constraints_ispresent = .FALSE. 232 ! 233 END SUBROUTINE qes_reset_input 234 ! 235 ! 236 SUBROUTINE qes_reset_step(obj) 237 ! 238 IMPLICIT NONE 239 TYPE(step_type),INTENT(INOUT) :: obj 240 ! 241 obj%tagname = "" 242 obj%lwrite = .FALSE. 243 obj%lread = .FALSE. 244 ! 245 CALL qes_reset_scf_conv(obj%scf_conv) 246 CALL qes_reset_atomic_structure(obj%atomic_structure) 247 CALL qes_reset_total_energy(obj%total_energy) 248 CALL qes_reset_matrix(obj%forces) 249 IF (obj%stress_ispresent) & 250 CALL qes_reset_matrix(obj%stress) 251 obj%stress_ispresent = .FALSE. 252 obj%FCP_force_ispresent = .FALSE. 253 obj%FCP_tot_charge_ispresent = .FALSE. 254 ! 255 END SUBROUTINE qes_reset_step 256 ! 257 ! 258 SUBROUTINE qes_reset_output(obj) 259 ! 260 IMPLICIT NONE 261 TYPE(output_type),INTENT(INOUT) :: obj 262 ! 263 obj%tagname = "" 264 obj%lwrite = .FALSE. 265 obj%lread = .FALSE. 266 ! 267 IF (obj%convergence_info_ispresent) & 268 CALL qes_reset_convergence_info(obj%convergence_info) 269 obj%convergence_info_ispresent = .FALSE. 270 CALL qes_reset_algorithmic_info(obj%algorithmic_info) 271 CALL qes_reset_atomic_species(obj%atomic_species) 272 CALL qes_reset_atomic_structure(obj%atomic_structure) 273 IF (obj%symmetries_ispresent) & 274 CALL qes_reset_symmetries(obj%symmetries) 275 obj%symmetries_ispresent = .FALSE. 276 CALL qes_reset_basis_set(obj%basis_set) 277 CALL qes_reset_dft(obj%dft) 278 IF (obj%boundary_conditions_ispresent) & 279 CALL qes_reset_outputPBC(obj%boundary_conditions) 280 obj%boundary_conditions_ispresent = .FALSE. 281 CALL qes_reset_magnetization(obj%magnetization) 282 CALL qes_reset_total_energy(obj%total_energy) 283 CALL qes_reset_band_structure(obj%band_structure) 284 IF (obj%forces_ispresent) & 285 CALL qes_reset_matrix(obj%forces) 286 obj%forces_ispresent = .FALSE. 287 IF (obj%stress_ispresent) & 288 CALL qes_reset_matrix(obj%stress) 289 obj%stress_ispresent = .FALSE. 290 IF (obj%electric_field_ispresent) & 291 CALL qes_reset_outputElectricField(obj%electric_field) 292 obj%electric_field_ispresent = .FALSE. 293 obj%FCP_force_ispresent = .FALSE. 294 obj%FCP_tot_charge_ispresent = .FALSE. 295 ! 296 END SUBROUTINE qes_reset_output 297 ! 298 ! 299 SUBROUTINE qes_reset_timing(obj) 300 ! 301 IMPLICIT NONE 302 TYPE(timing_type),INTENT(INOUT) :: obj 303 INTEGER :: i 304 ! 305 obj%tagname = "" 306 obj%lwrite = .FALSE. 307 obj%lread = .FALSE. 308 ! 309 CALL qes_reset_clock(obj%total) 310 IF (obj%partial_ispresent) THEN 311 IF (ALLOCATED(obj%partial)) THEN 312 DO i=1, SIZE(obj%partial) 313 CALL qes_reset_clock(obj%partial(i)) 314 ENDDO 315 DEALLOCATE(obj%partial) 316 ENDIF 317 obj%ndim_partial = 0 318 obj%partial_ispresent = .FALSE. 319 ENDIF 320 ! 321 END SUBROUTINE qes_reset_timing 322 ! 323 ! 324 SUBROUTINE qes_reset_clock(obj) 325 ! 326 IMPLICIT NONE 327 TYPE(clock_type),INTENT(INOUT) :: obj 328 ! 329 obj%tagname = "" 330 obj%lwrite = .FALSE. 331 obj%lread = .FALSE. 332 ! 333 obj%calls_ispresent = .FALSE. 334 ! 335 END SUBROUTINE qes_reset_clock 336 ! 337 ! 338 SUBROUTINE qes_reset_control_variables(obj) 339 ! 340 IMPLICIT NONE 341 TYPE(control_variables_type),INTENT(INOUT) :: obj 342 ! 343 obj%tagname = "" 344 obj%lwrite = .FALSE. 345 obj%lread = .FALSE. 346 ! 347 obj%nstep_ispresent = .FALSE. 348 ! 349 END SUBROUTINE qes_reset_control_variables 350 ! 351 ! 352 SUBROUTINE qes_reset_xml_format(obj) 353 ! 354 IMPLICIT NONE 355 TYPE(xml_format_type),INTENT(INOUT) :: obj 356 ! 357 obj%tagname = "" 358 obj%lwrite = .FALSE. 359 obj%lread = .FALSE. 360 ! 361 ! 362 END SUBROUTINE qes_reset_xml_format 363 ! 364 ! 365 SUBROUTINE qes_reset_creator(obj) 366 ! 367 IMPLICIT NONE 368 TYPE(creator_type),INTENT(INOUT) :: obj 369 ! 370 obj%tagname = "" 371 obj%lwrite = .FALSE. 372 obj%lread = .FALSE. 373 ! 374 ! 375 END SUBROUTINE qes_reset_creator 376 ! 377 ! 378 SUBROUTINE qes_reset_created(obj) 379 ! 380 IMPLICIT NONE 381 TYPE(created_type),INTENT(INOUT) :: obj 382 ! 383 obj%tagname = "" 384 obj%lwrite = .FALSE. 385 obj%lread = .FALSE. 386 ! 387 ! 388 END SUBROUTINE qes_reset_created 389 ! 390 ! 391 SUBROUTINE qes_reset_atomic_species(obj) 392 ! 393 IMPLICIT NONE 394 TYPE(atomic_species_type),INTENT(INOUT) :: obj 395 INTEGER :: i 396 ! 397 obj%tagname = "" 398 obj%lwrite = .FALSE. 399 obj%lread = .FALSE. 400 ! 401 IF (ALLOCATED(obj%species)) THEN 402 DO i=1, SIZE(obj%species) 403 CALL qes_reset_species(obj%species(i)) 404 ENDDO 405 DEALLOCATE(obj%species) 406 ENDIF 407 obj%ndim_species = 0 408 obj%pseudo_dir_ispresent = .FALSE. 409 ! 410 END SUBROUTINE qes_reset_atomic_species 411 ! 412 ! 413 SUBROUTINE qes_reset_species(obj) 414 ! 415 IMPLICIT NONE 416 TYPE(species_type),INTENT(INOUT) :: obj 417 ! 418 obj%tagname = "" 419 obj%lwrite = .FALSE. 420 obj%lread = .FALSE. 421 ! 422 obj%mass_ispresent = .FALSE. 423 obj%starting_magnetization_ispresent = .FALSE. 424 obj%spin_teta_ispresent = .FALSE. 425 obj%spin_phi_ispresent = .FALSE. 426 ! 427 END SUBROUTINE qes_reset_species 428 ! 429 ! 430 SUBROUTINE qes_reset_atomic_structure(obj) 431 ! 432 IMPLICIT NONE 433 TYPE(atomic_structure_type),INTENT(INOUT) :: obj 434 ! 435 obj%tagname = "" 436 obj%lwrite = .FALSE. 437 obj%lread = .FALSE. 438 ! 439 IF (obj%atomic_positions_ispresent) & 440 CALL qes_reset_atomic_positions(obj%atomic_positions) 441 obj%atomic_positions_ispresent = .FALSE. 442 IF (obj%wyckoff_positions_ispresent) & 443 CALL qes_reset_wyckoff_positions(obj%wyckoff_positions) 444 obj%wyckoff_positions_ispresent = .FALSE. 445 IF (obj%crystal_positions_ispresent) & 446 CALL qes_reset_atomic_positions(obj%crystal_positions) 447 obj%crystal_positions_ispresent = .FALSE. 448 CALL qes_reset_cell(obj%cell) 449 obj%alat_ispresent = .FALSE. 450 obj%bravais_index_ispresent = .FALSE. 451 obj%alternative_axes_ispresent = .FALSE. 452 ! 453 END SUBROUTINE qes_reset_atomic_structure 454 ! 455 ! 456 SUBROUTINE qes_reset_atomic_positions(obj) 457 ! 458 IMPLICIT NONE 459 TYPE(atomic_positions_type),INTENT(INOUT) :: obj 460 INTEGER :: i 461 ! 462 obj%tagname = "" 463 obj%lwrite = .FALSE. 464 obj%lread = .FALSE. 465 ! 466 IF (ALLOCATED(obj%atom)) THEN 467 DO i=1, SIZE(obj%atom) 468 CALL qes_reset_atom(obj%atom(i)) 469 ENDDO 470 DEALLOCATE(obj%atom) 471 ENDIF 472 obj%ndim_atom = 0 473 ! 474 END SUBROUTINE qes_reset_atomic_positions 475 ! 476 ! 477 SUBROUTINE qes_reset_atom(obj) 478 ! 479 IMPLICIT NONE 480 TYPE(atom_type),INTENT(INOUT) :: obj 481 ! 482 obj%tagname = "" 483 obj%lwrite = .FALSE. 484 obj%lread = .FALSE. 485 ! 486 obj%position_ispresent = .FALSE. 487 obj%index_ispresent = .FALSE. 488 ! 489 END SUBROUTINE qes_reset_atom 490 ! 491 ! 492 SUBROUTINE qes_reset_wyckoff_positions(obj) 493 ! 494 IMPLICIT NONE 495 TYPE(wyckoff_positions_type),INTENT(INOUT) :: obj 496 INTEGER :: i 497 ! 498 obj%tagname = "" 499 obj%lwrite = .FALSE. 500 obj%lread = .FALSE. 501 ! 502 IF (ALLOCATED(obj%atom)) THEN 503 DO i=1, SIZE(obj%atom) 504 CALL qes_reset_atom(obj%atom(i)) 505 ENDDO 506 DEALLOCATE(obj%atom) 507 ENDIF 508 obj%ndim_atom = 0 509 obj%more_options_ispresent = .FALSE. 510 ! 511 END SUBROUTINE qes_reset_wyckoff_positions 512 ! 513 ! 514 SUBROUTINE qes_reset_cell(obj) 515 ! 516 IMPLICIT NONE 517 TYPE(cell_type),INTENT(INOUT) :: obj 518 ! 519 obj%tagname = "" 520 obj%lwrite = .FALSE. 521 obj%lread = .FALSE. 522 ! 523 ! 524 END SUBROUTINE qes_reset_cell 525 ! 526 ! 527 SUBROUTINE qes_reset_dft(obj) 528 ! 529 IMPLICIT NONE 530 TYPE(dft_type),INTENT(INOUT) :: obj 531 ! 532 obj%tagname = "" 533 obj%lwrite = .FALSE. 534 obj%lread = .FALSE. 535 ! 536 IF (obj%hybrid_ispresent) & 537 CALL qes_reset_hybrid(obj%hybrid) 538 obj%hybrid_ispresent = .FALSE. 539 IF (obj%dftU_ispresent) & 540 CALL qes_reset_dftU(obj%dftU) 541 obj%dftU_ispresent = .FALSE. 542 IF (obj%vdW_ispresent) & 543 CALL qes_reset_vdW(obj%vdW) 544 obj%vdW_ispresent = .FALSE. 545 ! 546 END SUBROUTINE qes_reset_dft 547 ! 548 ! 549 SUBROUTINE qes_reset_hybrid(obj) 550 ! 551 IMPLICIT NONE 552 TYPE(hybrid_type),INTENT(INOUT) :: obj 553 ! 554 obj%tagname = "" 555 obj%lwrite = .FALSE. 556 obj%lread = .FALSE. 557 ! 558 IF (obj%qpoint_grid_ispresent) & 559 CALL qes_reset_qpoint_grid(obj%qpoint_grid) 560 obj%qpoint_grid_ispresent = .FALSE. 561 obj%ecutfock_ispresent = .FALSE. 562 obj%exx_fraction_ispresent = .FALSE. 563 obj%screening_parameter_ispresent = .FALSE. 564 obj%exxdiv_treatment_ispresent = .FALSE. 565 obj%x_gamma_extrapolation_ispresent = .FALSE. 566 obj%ecutvcut_ispresent = .FALSE. 567 obj%localization_threshold_ispresent = .FALSE. 568 ! 569 END SUBROUTINE qes_reset_hybrid 570 ! 571 ! 572 SUBROUTINE qes_reset_qpoint_grid(obj) 573 ! 574 IMPLICIT NONE 575 TYPE(qpoint_grid_type),INTENT(INOUT) :: obj 576 ! 577 obj%tagname = "" 578 obj%lwrite = .FALSE. 579 obj%lread = .FALSE. 580 ! 581 ! 582 END SUBROUTINE qes_reset_qpoint_grid 583 ! 584 ! 585 SUBROUTINE qes_reset_dftU(obj) 586 ! 587 IMPLICIT NONE 588 TYPE(dftU_type),INTENT(INOUT) :: obj 589 INTEGER :: i 590 ! 591 obj%tagname = "" 592 obj%lwrite = .FALSE. 593 obj%lread = .FALSE. 594 ! 595 obj%lda_plus_u_kind_ispresent = .FALSE. 596 IF (obj%Hubbard_U_ispresent) THEN 597 IF (ALLOCATED(obj%Hubbard_U)) THEN 598 DO i=1, SIZE(obj%Hubbard_U) 599 CALL qes_reset_HubbardCommon(obj%Hubbard_U(i)) 600 ENDDO 601 DEALLOCATE(obj%Hubbard_U) 602 ENDIF 603 obj%ndim_Hubbard_U = 0 604 obj%Hubbard_U_ispresent = .FALSE. 605 ENDIF 606 IF (obj%Hubbard_J0_ispresent) THEN 607 IF (ALLOCATED(obj%Hubbard_J0)) THEN 608 DO i=1, SIZE(obj%Hubbard_J0) 609 CALL qes_reset_HubbardCommon(obj%Hubbard_J0(i)) 610 ENDDO 611 DEALLOCATE(obj%Hubbard_J0) 612 ENDIF 613 obj%ndim_Hubbard_J0 = 0 614 obj%Hubbard_J0_ispresent = .FALSE. 615 ENDIF 616 IF (obj%Hubbard_alpha_ispresent) THEN 617 IF (ALLOCATED(obj%Hubbard_alpha)) THEN 618 DO i=1, SIZE(obj%Hubbard_alpha) 619 CALL qes_reset_HubbardCommon(obj%Hubbard_alpha(i)) 620 ENDDO 621 DEALLOCATE(obj%Hubbard_alpha) 622 ENDIF 623 obj%ndim_Hubbard_alpha = 0 624 obj%Hubbard_alpha_ispresent = .FALSE. 625 ENDIF 626 IF (obj%Hubbard_beta_ispresent) THEN 627 IF (ALLOCATED(obj%Hubbard_beta)) THEN 628 DO i=1, SIZE(obj%Hubbard_beta) 629 CALL qes_reset_HubbardCommon(obj%Hubbard_beta(i)) 630 ENDDO 631 DEALLOCATE(obj%Hubbard_beta) 632 ENDIF 633 obj%ndim_Hubbard_beta = 0 634 obj%Hubbard_beta_ispresent = .FALSE. 635 ENDIF 636 IF (obj%Hubbard_J_ispresent) THEN 637 IF (ALLOCATED(obj%Hubbard_J)) THEN 638 DO i=1, SIZE(obj%Hubbard_J) 639 CALL qes_reset_HubbardJ(obj%Hubbard_J(i)) 640 ENDDO 641 DEALLOCATE(obj%Hubbard_J) 642 ENDIF 643 obj%ndim_Hubbard_J = 0 644 obj%Hubbard_J_ispresent = .FALSE. 645 ENDIF 646 IF (obj%starting_ns_ispresent) THEN 647 IF (ALLOCATED(obj%starting_ns)) THEN 648 DO i=1, SIZE(obj%starting_ns) 649 CALL qes_reset_starting_ns(obj%starting_ns(i)) 650 ENDDO 651 DEALLOCATE(obj%starting_ns) 652 ENDIF 653 obj%ndim_starting_ns = 0 654 obj%starting_ns_ispresent = .FALSE. 655 ENDIF 656 IF (obj%Hubbard_ns_ispresent) THEN 657 IF (ALLOCATED(obj%Hubbard_ns)) THEN 658 DO i=1, SIZE(obj%Hubbard_ns) 659 CALL qes_reset_Hubbard_ns(obj%Hubbard_ns(i)) 660 ENDDO 661 DEALLOCATE(obj%Hubbard_ns) 662 ENDIF 663 obj%ndim_Hubbard_ns = 0 664 obj%Hubbard_ns_ispresent = .FALSE. 665 ENDIF 666 obj%U_projection_type_ispresent = .FALSE. 667 IF (obj%Hubbard_back_ispresent) THEN 668 IF (ALLOCATED(obj%Hubbard_back)) THEN 669 DO i=1, SIZE(obj%Hubbard_back) 670 CALL qes_reset_HubbardBack(obj%Hubbard_back(i)) 671 ENDDO 672 DEALLOCATE(obj%Hubbard_back) 673 ENDIF 674 obj%ndim_Hubbard_back = 0 675 obj%Hubbard_back_ispresent = .FALSE. 676 ENDIF 677 IF (obj%Hubbard_U_back_ispresent) THEN 678 IF (ALLOCATED(obj%Hubbard_U_back)) THEN 679 DO i=1, SIZE(obj%Hubbard_U_back) 680 CALL qes_reset_HubbardCommon(obj%Hubbard_U_back(i)) 681 ENDDO 682 DEALLOCATE(obj%Hubbard_U_back) 683 ENDIF 684 obj%ndim_Hubbard_U_back = 0 685 obj%Hubbard_U_back_ispresent = .FALSE. 686 ENDIF 687 IF (obj%Hubbard_alpha_back_ispresent) THEN 688 IF (ALLOCATED(obj%Hubbard_alpha_back)) THEN 689 DO i=1, SIZE(obj%Hubbard_alpha_back) 690 CALL qes_reset_HubbardCommon(obj%Hubbard_alpha_back(i)) 691 ENDDO 692 DEALLOCATE(obj%Hubbard_alpha_back) 693 ENDIF 694 obj%ndim_Hubbard_alpha_back = 0 695 obj%Hubbard_alpha_back_ispresent = .FALSE. 696 ENDIF 697 IF (obj%Hubbard_ns_nc_ispresent) THEN 698 IF (ALLOCATED(obj%Hubbard_ns_nc)) THEN 699 DO i=1, SIZE(obj%Hubbard_ns_nc) 700 CALL qes_reset_Hubbard_ns(obj%Hubbard_ns_nc(i)) 701 ENDDO 702 DEALLOCATE(obj%Hubbard_ns_nc) 703 ENDIF 704 obj%ndim_Hubbard_ns_nc = 0 705 obj%Hubbard_ns_nc_ispresent = .FALSE. 706 ENDIF 707 ! 708 END SUBROUTINE qes_reset_dftU 709 ! 710 ! 711 SUBROUTINE qes_reset_HubbardCommon(obj) 712 ! 713 IMPLICIT NONE 714 TYPE(HubbardCommon_type),INTENT(INOUT) :: obj 715 ! 716 obj%tagname = "" 717 obj%lwrite = .FALSE. 718 obj%lread = .FALSE. 719 ! 720 obj%label_ispresent = .FALSE. 721 ! 722 END SUBROUTINE qes_reset_HubbardCommon 723 ! 724 ! 725 SUBROUTINE qes_reset_HubbardJ(obj) 726 ! 727 IMPLICIT NONE 728 TYPE(HubbardJ_type),INTENT(INOUT) :: obj 729 ! 730 obj%tagname = "" 731 obj%lwrite = .FALSE. 732 obj%lread = .FALSE. 733 ! 734 ! 735 END SUBROUTINE qes_reset_HubbardJ 736 ! 737 ! 738 SUBROUTINE qes_reset_starting_ns(obj) 739 ! 740 IMPLICIT NONE 741 TYPE(starting_ns_type),INTENT(INOUT) :: obj 742 ! 743 obj%tagname = "" 744 obj%lwrite = .FALSE. 745 obj%lread = .FALSE. 746 ! 747 obj%size = 0 748 IF (ALLOCATED(obj%starting_ns)) THEN 749 DEALLOCATE(obj%starting_ns) 750 ENDIF 751 ! 752 END SUBROUTINE qes_reset_starting_ns 753 ! 754 ! 755 SUBROUTINE qes_reset_Hubbard_ns(obj) 756 ! 757 IMPLICIT NONE 758 TYPE(Hubbard_ns_type),INTENT(INOUT) :: obj 759 ! 760 obj%tagname = "" 761 obj%lwrite = .FALSE. 762 obj%lread = .FALSE. 763 ! 764 IF (ALLOCATED(obj%dims)) THEN 765 DEALLOCATE(obj%dims) 766 ENDIF 767 obj%rank = 0 768 obj%order = 'F' 769 IF (ALLOCATED(obj%Hubbard_ns)) THEN 770 DEALLOCATE(obj%Hubbard_ns) 771 ENDIF 772 ! 773 END SUBROUTINE qes_reset_Hubbard_ns 774 ! 775 ! 776 SUBROUTINE qes_reset_HubbardBack(obj) 777 ! 778 IMPLICIT NONE 779 TYPE(HubbardBack_type),INTENT(INOUT) :: obj 780 INTEGER :: i 781 ! 782 obj%tagname = "" 783 obj%lwrite = .FALSE. 784 obj%lread = .FALSE. 785 ! 786 IF (ALLOCATED(obj%l_number)) THEN 787 DO i=1, SIZE(obj%l_number) 788 CALL qes_reset_backL(obj%l_number(i)) 789 ENDDO 790 DEALLOCATE(obj%l_number) 791 ENDIF 792 obj%ndim_l_number = 0 793 ! 794 END SUBROUTINE qes_reset_HubbardBack 795 ! 796 ! 797 SUBROUTINE qes_reset_backL(obj) 798 ! 799 IMPLICIT NONE 800 TYPE(backL_type),INTENT(INOUT) :: obj 801 ! 802 obj%tagname = "" 803 obj%lwrite = .FALSE. 804 obj%lread = .FALSE. 805 ! 806 ! 807 END SUBROUTINE qes_reset_backL 808 ! 809 ! 810 SUBROUTINE qes_reset_vdW(obj) 811 ! 812 IMPLICIT NONE 813 TYPE(vdW_type),INTENT(INOUT) :: obj 814 INTEGER :: i 815 ! 816 obj%tagname = "" 817 obj%lwrite = .FALSE. 818 obj%lread = .FALSE. 819 ! 820 obj%vdw_corr_ispresent = .FALSE. 821 obj%dftd3_version_ispresent = .FALSE. 822 obj%dftd3_threebody_ispresent = .FALSE. 823 obj%non_local_term_ispresent = .FALSE. 824 obj%functional_ispresent = .FALSE. 825 obj%total_energy_term_ispresent = .FALSE. 826 obj%london_s6_ispresent = .FALSE. 827 obj%ts_vdw_econv_thr_ispresent = .FALSE. 828 obj%ts_vdw_isolated_ispresent = .FALSE. 829 obj%london_rcut_ispresent = .FALSE. 830 obj%xdm_a1_ispresent = .FALSE. 831 obj%xdm_a2_ispresent = .FALSE. 832 IF (obj%london_c6_ispresent) THEN 833 IF (ALLOCATED(obj%london_c6)) THEN 834 DO i=1, SIZE(obj%london_c6) 835 CALL qes_reset_HubbardCommon(obj%london_c6(i)) 836 ENDDO 837 DEALLOCATE(obj%london_c6) 838 ENDIF 839 obj%ndim_london_c6 = 0 840 obj%london_c6_ispresent = .FALSE. 841 ENDIF 842 ! 843 END SUBROUTINE qes_reset_vdW 844 ! 845 ! 846 SUBROUTINE qes_reset_spin(obj) 847 ! 848 IMPLICIT NONE 849 TYPE(spin_type),INTENT(INOUT) :: obj 850 ! 851 obj%tagname = "" 852 obj%lwrite = .FALSE. 853 obj%lread = .FALSE. 854 ! 855 ! 856 END SUBROUTINE qes_reset_spin 857 ! 858 ! 859 SUBROUTINE qes_reset_bands(obj) 860 ! 861 IMPLICIT NONE 862 TYPE(bands_type),INTENT(INOUT) :: obj 863 INTEGER :: i 864 ! 865 obj%tagname = "" 866 obj%lwrite = .FALSE. 867 obj%lread = .FALSE. 868 ! 869 obj%nbnd_ispresent = .FALSE. 870 IF (obj%smearing_ispresent) & 871 CALL qes_reset_smearing(obj%smearing) 872 obj%smearing_ispresent = .FALSE. 873 obj%tot_charge_ispresent = .FALSE. 874 obj%tot_magnetization_ispresent = .FALSE. 875 CALL qes_reset_occupations(obj%occupations) 876 IF (obj%inputOccupations_ispresent) THEN 877 IF (ALLOCATED(obj%inputOccupations)) THEN 878 DO i=1, SIZE(obj%inputOccupations) 879 CALL qes_reset_inputOccupations(obj%inputOccupations(i)) 880 ENDDO 881 DEALLOCATE(obj%inputOccupations) 882 ENDIF 883 obj%ndim_inputOccupations = 0 884 obj%inputOccupations_ispresent = .FALSE. 885 ENDIF 886 ! 887 END SUBROUTINE qes_reset_bands 888 ! 889 ! 890 SUBROUTINE qes_reset_smearing(obj) 891 ! 892 IMPLICIT NONE 893 TYPE(smearing_type),INTENT(INOUT) :: obj 894 ! 895 obj%tagname = "" 896 obj%lwrite = .FALSE. 897 obj%lread = .FALSE. 898 ! 899 ! 900 END SUBROUTINE qes_reset_smearing 901 ! 902 ! 903 SUBROUTINE qes_reset_occupations(obj) 904 ! 905 IMPLICIT NONE 906 TYPE(occupations_type),INTENT(INOUT) :: obj 907 ! 908 obj%tagname = "" 909 obj%lwrite = .FALSE. 910 obj%lread = .FALSE. 911 ! 912 obj%spin_ispresent = .FALSE. 913 ! 914 END SUBROUTINE qes_reset_occupations 915 ! 916 ! 917 SUBROUTINE qes_reset_basis(obj) 918 ! 919 IMPLICIT NONE 920 TYPE(basis_type),INTENT(INOUT) :: obj 921 ! 922 obj%tagname = "" 923 obj%lwrite = .FALSE. 924 obj%lread = .FALSE. 925 ! 926 obj%gamma_only_ispresent = .FALSE. 927 obj%ecutrho_ispresent = .FALSE. 928 IF (obj%fft_grid_ispresent) & 929 CALL qes_reset_basisSetItem(obj%fft_grid) 930 obj%fft_grid_ispresent = .FALSE. 931 IF (obj%fft_smooth_ispresent) & 932 CALL qes_reset_basisSetItem(obj%fft_smooth) 933 obj%fft_smooth_ispresent = .FALSE. 934 IF (obj%fft_box_ispresent) & 935 CALL qes_reset_basisSetItem(obj%fft_box) 936 obj%fft_box_ispresent = .FALSE. 937 ! 938 END SUBROUTINE qes_reset_basis 939 ! 940 ! 941 SUBROUTINE qes_reset_basis_set(obj) 942 ! 943 IMPLICIT NONE 944 TYPE(basis_set_type),INTENT(INOUT) :: obj 945 ! 946 obj%tagname = "" 947 obj%lwrite = .FALSE. 948 obj%lread = .FALSE. 949 ! 950 obj%gamma_only_ispresent = .FALSE. 951 obj%ecutrho_ispresent = .FALSE. 952 CALL qes_reset_basisSetItem(obj%fft_grid) 953 IF (obj%fft_smooth_ispresent) & 954 CALL qes_reset_basisSetItem(obj%fft_smooth) 955 obj%fft_smooth_ispresent = .FALSE. 956 IF (obj%fft_box_ispresent) & 957 CALL qes_reset_basisSetItem(obj%fft_box) 958 obj%fft_box_ispresent = .FALSE. 959 obj%ngms_ispresent = .FALSE. 960 CALL qes_reset_reciprocal_lattice(obj%reciprocal_lattice) 961 ! 962 END SUBROUTINE qes_reset_basis_set 963 ! 964 ! 965 SUBROUTINE qes_reset_basisSetItem(obj) 966 ! 967 IMPLICIT NONE 968 TYPE(basisSetItem_type),INTENT(INOUT) :: obj 969 ! 970 obj%tagname = "" 971 obj%lwrite = .FALSE. 972 obj%lread = .FALSE. 973 ! 974 ! 975 END SUBROUTINE qes_reset_basisSetItem 976 ! 977 ! 978 SUBROUTINE qes_reset_reciprocal_lattice(obj) 979 ! 980 IMPLICIT NONE 981 TYPE(reciprocal_lattice_type),INTENT(INOUT) :: obj 982 ! 983 obj%tagname = "" 984 obj%lwrite = .FALSE. 985 obj%lread = .FALSE. 986 ! 987 ! 988 END SUBROUTINE qes_reset_reciprocal_lattice 989 ! 990 ! 991 SUBROUTINE qes_reset_electron_control(obj) 992 ! 993 IMPLICIT NONE 994 TYPE(electron_control_type),INTENT(INOUT) :: obj 995 ! 996 obj%tagname = "" 997 obj%lwrite = .FALSE. 998 obj%lread = .FALSE. 999 ! 1000 obj%real_space_q_ispresent = .FALSE. 1001 obj%real_space_beta_ispresent = .FALSE. 1002 obj%diago_cg_maxiter_ispresent = .FALSE. 1003 obj%diago_ppcg_maxiter_ispresent = .FALSE. 1004 obj%diago_david_ndim_ispresent = .FALSE. 1005 ! 1006 END SUBROUTINE qes_reset_electron_control 1007 ! 1008 ! 1009 SUBROUTINE qes_reset_k_points_IBZ(obj) 1010 ! 1011 IMPLICIT NONE 1012 TYPE(k_points_IBZ_type),INTENT(INOUT) :: obj 1013 INTEGER :: i 1014 ! 1015 obj%tagname = "" 1016 obj%lwrite = .FALSE. 1017 obj%lread = .FALSE. 1018 ! 1019 IF (obj%monkhorst_pack_ispresent) & 1020 CALL qes_reset_monkhorst_pack(obj%monkhorst_pack) 1021 obj%monkhorst_pack_ispresent = .FALSE. 1022 obj%nk_ispresent = .FALSE. 1023 IF (obj%k_point_ispresent) THEN 1024 IF (ALLOCATED(obj%k_point)) THEN 1025 DO i=1, SIZE(obj%k_point) 1026 CALL qes_reset_k_point(obj%k_point(i)) 1027 ENDDO 1028 DEALLOCATE(obj%k_point) 1029 ENDIF 1030 obj%ndim_k_point = 0 1031 obj%k_point_ispresent = .FALSE. 1032 ENDIF 1033 ! 1034 END SUBROUTINE qes_reset_k_points_IBZ 1035 ! 1036 ! 1037 SUBROUTINE qes_reset_monkhorst_pack(obj) 1038 ! 1039 IMPLICIT NONE 1040 TYPE(monkhorst_pack_type),INTENT(INOUT) :: obj 1041 ! 1042 obj%tagname = "" 1043 obj%lwrite = .FALSE. 1044 obj%lread = .FALSE. 1045 ! 1046 ! 1047 END SUBROUTINE qes_reset_monkhorst_pack 1048 ! 1049 ! 1050 SUBROUTINE qes_reset_k_point(obj) 1051 ! 1052 IMPLICIT NONE 1053 TYPE(k_point_type),INTENT(INOUT) :: obj 1054 ! 1055 obj%tagname = "" 1056 obj%lwrite = .FALSE. 1057 obj%lread = .FALSE. 1058 ! 1059 obj%weight_ispresent = .FALSE. 1060 obj%label_ispresent = .FALSE. 1061 ! 1062 END SUBROUTINE qes_reset_k_point 1063 ! 1064 ! 1065 SUBROUTINE qes_reset_ion_control(obj) 1066 ! 1067 IMPLICIT NONE 1068 TYPE(ion_control_type),INTENT(INOUT) :: obj 1069 ! 1070 obj%tagname = "" 1071 obj%lwrite = .FALSE. 1072 obj%lread = .FALSE. 1073 ! 1074 obj%upscale_ispresent = .FALSE. 1075 obj%remove_rigid_rot_ispresent = .FALSE. 1076 obj%refold_pos_ispresent = .FALSE. 1077 IF (obj%bfgs_ispresent) & 1078 CALL qes_reset_bfgs(obj%bfgs) 1079 obj%bfgs_ispresent = .FALSE. 1080 IF (obj%md_ispresent) & 1081 CALL qes_reset_md(obj%md) 1082 obj%md_ispresent = .FALSE. 1083 ! 1084 END SUBROUTINE qes_reset_ion_control 1085 ! 1086 ! 1087 SUBROUTINE qes_reset_bfgs(obj) 1088 ! 1089 IMPLICIT NONE 1090 TYPE(bfgs_type),INTENT(INOUT) :: obj 1091 ! 1092 obj%tagname = "" 1093 obj%lwrite = .FALSE. 1094 obj%lread = .FALSE. 1095 ! 1096 ! 1097 END SUBROUTINE qes_reset_bfgs 1098 ! 1099 ! 1100 SUBROUTINE qes_reset_md(obj) 1101 ! 1102 IMPLICIT NONE 1103 TYPE(md_type),INTENT(INOUT) :: obj 1104 ! 1105 obj%tagname = "" 1106 obj%lwrite = .FALSE. 1107 obj%lread = .FALSE. 1108 ! 1109 ! 1110 END SUBROUTINE qes_reset_md 1111 ! 1112 ! 1113 SUBROUTINE qes_reset_cell_control(obj) 1114 ! 1115 IMPLICIT NONE 1116 TYPE(cell_control_type),INTENT(INOUT) :: obj 1117 ! 1118 obj%tagname = "" 1119 obj%lwrite = .FALSE. 1120 obj%lread = .FALSE. 1121 ! 1122 obj%wmass_ispresent = .FALSE. 1123 obj%cell_factor_ispresent = .FALSE. 1124 obj%fix_volume_ispresent = .FALSE. 1125 obj%fix_area_ispresent = .FALSE. 1126 obj%isotropic_ispresent = .FALSE. 1127 IF (obj%free_cell_ispresent) & 1128 CALL qes_reset_integerMatrix(obj%free_cell) 1129 obj%free_cell_ispresent = .FALSE. 1130 ! 1131 END SUBROUTINE qes_reset_cell_control 1132 ! 1133 ! 1134 SUBROUTINE qes_reset_symmetry_flags(obj) 1135 ! 1136 IMPLICIT NONE 1137 TYPE(symmetry_flags_type),INTENT(INOUT) :: obj 1138 ! 1139 obj%tagname = "" 1140 obj%lwrite = .FALSE. 1141 obj%lread = .FALSE. 1142 ! 1143 ! 1144 END SUBROUTINE qes_reset_symmetry_flags 1145 ! 1146 ! 1147 SUBROUTINE qes_reset_boundary_conditions(obj) 1148 ! 1149 IMPLICIT NONE 1150 TYPE(boundary_conditions_type),INTENT(INOUT) :: obj 1151 ! 1152 obj%tagname = "" 1153 obj%lwrite = .FALSE. 1154 obj%lread = .FALSE. 1155 ! 1156 IF (obj%esm_ispresent) & 1157 CALL qes_reset_esm(obj%esm) 1158 obj%esm_ispresent = .FALSE. 1159 obj%fcp_opt_ispresent = .FALSE. 1160 obj%fcp_mu_ispresent = .FALSE. 1161 ! 1162 END SUBROUTINE qes_reset_boundary_conditions 1163 ! 1164 ! 1165 SUBROUTINE qes_reset_esm(obj) 1166 ! 1167 IMPLICIT NONE 1168 TYPE(esm_type),INTENT(INOUT) :: obj 1169 ! 1170 obj%tagname = "" 1171 obj%lwrite = .FALSE. 1172 obj%lread = .FALSE. 1173 ! 1174 ! 1175 END SUBROUTINE qes_reset_esm 1176 ! 1177 ! 1178 SUBROUTINE qes_reset_ekin_functional(obj) 1179 ! 1180 IMPLICIT NONE 1181 TYPE(ekin_functional_type),INTENT(INOUT) :: obj 1182 ! 1183 obj%tagname = "" 1184 obj%lwrite = .FALSE. 1185 obj%lread = .FALSE. 1186 ! 1187 ! 1188 END SUBROUTINE qes_reset_ekin_functional 1189 ! 1190 ! 1191 SUBROUTINE qes_reset_spin_constraints(obj) 1192 ! 1193 IMPLICIT NONE 1194 TYPE(spin_constraints_type),INTENT(INOUT) :: obj 1195 ! 1196 obj%tagname = "" 1197 obj%lwrite = .FALSE. 1198 obj%lread = .FALSE. 1199 ! 1200 obj%target_magnetization_ispresent = .FALSE. 1201 ! 1202 END SUBROUTINE qes_reset_spin_constraints 1203 ! 1204 ! 1205 SUBROUTINE qes_reset_electric_field(obj) 1206 ! 1207 IMPLICIT NONE 1208 TYPE(electric_field_type),INTENT(INOUT) :: obj 1209 ! 1210 obj%tagname = "" 1211 obj%lwrite = .FALSE. 1212 obj%lread = .FALSE. 1213 ! 1214 obj%dipole_correction_ispresent = .FALSE. 1215 IF (obj%gate_settings_ispresent) & 1216 CALL qes_reset_gate_settings(obj%gate_settings) 1217 obj%gate_settings_ispresent = .FALSE. 1218 obj%electric_field_direction_ispresent = .FALSE. 1219 obj%potential_max_position_ispresent = .FALSE. 1220 obj%potential_decrease_width_ispresent = .FALSE. 1221 obj%electric_field_amplitude_ispresent = .FALSE. 1222 obj%electric_field_vector_ispresent = .FALSE. 1223 obj%nk_per_string_ispresent = .FALSE. 1224 obj%n_berry_cycles_ispresent = .FALSE. 1225 ! 1226 END SUBROUTINE qes_reset_electric_field 1227 ! 1228 ! 1229 SUBROUTINE qes_reset_gate_settings(obj) 1230 ! 1231 IMPLICIT NONE 1232 TYPE(gate_settings_type),INTENT(INOUT) :: obj 1233 ! 1234 obj%tagname = "" 1235 obj%lwrite = .FALSE. 1236 obj%lread = .FALSE. 1237 ! 1238 obj%zgate_ispresent = .FALSE. 1239 obj%relaxz_ispresent = .FALSE. 1240 obj%block_ispresent = .FALSE. 1241 obj%block_1_ispresent = .FALSE. 1242 obj%block_2_ispresent = .FALSE. 1243 obj%block_height_ispresent = .FALSE. 1244 ! 1245 END SUBROUTINE qes_reset_gate_settings 1246 ! 1247 ! 1248 SUBROUTINE qes_reset_atomic_constraints(obj) 1249 ! 1250 IMPLICIT NONE 1251 TYPE(atomic_constraints_type),INTENT(INOUT) :: obj 1252 INTEGER :: i 1253 ! 1254 obj%tagname = "" 1255 obj%lwrite = .FALSE. 1256 obj%lread = .FALSE. 1257 ! 1258 IF (ALLOCATED(obj%atomic_constraint)) THEN 1259 DO i=1, SIZE(obj%atomic_constraint) 1260 CALL qes_reset_atomic_constraint(obj%atomic_constraint(i)) 1261 ENDDO 1262 DEALLOCATE(obj%atomic_constraint) 1263 ENDIF 1264 obj%ndim_atomic_constraint = 0 1265 ! 1266 END SUBROUTINE qes_reset_atomic_constraints 1267 ! 1268 ! 1269 SUBROUTINE qes_reset_atomic_constraint(obj) 1270 ! 1271 IMPLICIT NONE 1272 TYPE(atomic_constraint_type),INTENT(INOUT) :: obj 1273 ! 1274 obj%tagname = "" 1275 obj%lwrite = .FALSE. 1276 obj%lread = .FALSE. 1277 ! 1278 ! 1279 END SUBROUTINE qes_reset_atomic_constraint 1280 ! 1281 ! 1282 SUBROUTINE qes_reset_inputOccupations(obj) 1283 ! 1284 IMPLICIT NONE 1285 TYPE(inputOccupations_type),INTENT(INOUT) :: obj 1286 ! 1287 obj%tagname = "" 1288 obj%lwrite = .FALSE. 1289 obj%lread = .FALSE. 1290 ! 1291 obj%size = 0 1292 IF (ALLOCATED(obj%inputOccupations)) THEN 1293 DEALLOCATE(obj%inputOccupations) 1294 ENDIF 1295 ! 1296 END SUBROUTINE qes_reset_inputOccupations 1297 ! 1298 ! 1299 SUBROUTINE qes_reset_outputElectricField(obj) 1300 ! 1301 IMPLICIT NONE 1302 TYPE(outputElectricField_type),INTENT(INOUT) :: obj 1303 ! 1304 obj%tagname = "" 1305 obj%lwrite = .FALSE. 1306 obj%lread = .FALSE. 1307 ! 1308 IF (obj%BerryPhase_ispresent) & 1309 CALL qes_reset_BerryPhaseOutput(obj%BerryPhase) 1310 obj%BerryPhase_ispresent = .FALSE. 1311 IF (obj%finiteElectricFieldInfo_ispresent) & 1312 CALL qes_reset_finiteFieldOut(obj%finiteElectricFieldInfo) 1313 obj%finiteElectricFieldInfo_ispresent = .FALSE. 1314 IF (obj%dipoleInfo_ispresent) & 1315 CALL qes_reset_dipoleOutput(obj%dipoleInfo) 1316 obj%dipoleInfo_ispresent = .FALSE. 1317 IF (obj%gateInfo_ispresent) & 1318 CALL qes_reset_gateInfo(obj%gateInfo) 1319 obj%gateInfo_ispresent = .FALSE. 1320 ! 1321 END SUBROUTINE qes_reset_outputElectricField 1322 ! 1323 ! 1324 SUBROUTINE qes_reset_BerryPhaseOutput(obj) 1325 ! 1326 IMPLICIT NONE 1327 TYPE(BerryPhaseOutput_type),INTENT(INOUT) :: obj 1328 INTEGER :: i 1329 ! 1330 obj%tagname = "" 1331 obj%lwrite = .FALSE. 1332 obj%lread = .FALSE. 1333 ! 1334 CALL qes_reset_polarization(obj%totalPolarization) 1335 CALL qes_reset_phase(obj%totalPhase) 1336 IF (ALLOCATED(obj%ionicPolarization)) THEN 1337 DO i=1, SIZE(obj%ionicPolarization) 1338 CALL qes_reset_ionicPolarization(obj%ionicPolarization(i)) 1339 ENDDO 1340 DEALLOCATE(obj%ionicPolarization) 1341 ENDIF 1342 obj%ndim_ionicPolarization = 0 1343 IF (ALLOCATED(obj%electronicPolarization)) THEN 1344 DO i=1, SIZE(obj%electronicPolarization) 1345 CALL qes_reset_electronicPolarization(obj%electronicPolarization(i)) 1346 ENDDO 1347 DEALLOCATE(obj%electronicPolarization) 1348 ENDIF 1349 obj%ndim_electronicPolarization = 0 1350 ! 1351 END SUBROUTINE qes_reset_BerryPhaseOutput 1352 ! 1353 ! 1354 SUBROUTINE qes_reset_dipoleOutput(obj) 1355 ! 1356 IMPLICIT NONE 1357 TYPE(dipoleOutput_type),INTENT(INOUT) :: obj 1358 ! 1359 obj%tagname = "" 1360 obj%lwrite = .FALSE. 1361 obj%lread = .FALSE. 1362 ! 1363 CALL qes_reset_scalarQuantity(obj%dipole) 1364 CALL qes_reset_scalarQuantity(obj%ion_dipole) 1365 CALL qes_reset_scalarQuantity(obj%elec_dipole) 1366 CALL qes_reset_scalarQuantity(obj%dipoleField) 1367 CALL qes_reset_scalarQuantity(obj%potentialAmp) 1368 CALL qes_reset_scalarQuantity(obj%totalLength) 1369 ! 1370 END SUBROUTINE qes_reset_dipoleOutput 1371 ! 1372 ! 1373 SUBROUTINE qes_reset_finiteFieldOut(obj) 1374 ! 1375 IMPLICIT NONE 1376 TYPE(finiteFieldOut_type),INTENT(INOUT) :: obj 1377 ! 1378 obj%tagname = "" 1379 obj%lwrite = .FALSE. 1380 obj%lread = .FALSE. 1381 ! 1382 ! 1383 END SUBROUTINE qes_reset_finiteFieldOut 1384 ! 1385 ! 1386 SUBROUTINE qes_reset_polarization(obj) 1387 ! 1388 IMPLICIT NONE 1389 TYPE(polarization_type),INTENT(INOUT) :: obj 1390 ! 1391 obj%tagname = "" 1392 obj%lwrite = .FALSE. 1393 obj%lread = .FALSE. 1394 ! 1395 CALL qes_reset_scalarQuantity(obj%polarization) 1396 ! 1397 END SUBROUTINE qes_reset_polarization 1398 ! 1399 ! 1400 SUBROUTINE qes_reset_ionicPolarization(obj) 1401 ! 1402 IMPLICIT NONE 1403 TYPE(ionicPolarization_type),INTENT(INOUT) :: obj 1404 ! 1405 obj%tagname = "" 1406 obj%lwrite = .FALSE. 1407 obj%lread = .FALSE. 1408 ! 1409 CALL qes_reset_atom(obj%ion) 1410 CALL qes_reset_phase(obj%phase) 1411 ! 1412 END SUBROUTINE qes_reset_ionicPolarization 1413 ! 1414 ! 1415 SUBROUTINE qes_reset_electronicPolarization(obj) 1416 ! 1417 IMPLICIT NONE 1418 TYPE(electronicPolarization_type),INTENT(INOUT) :: obj 1419 ! 1420 obj%tagname = "" 1421 obj%lwrite = .FALSE. 1422 obj%lread = .FALSE. 1423 ! 1424 CALL qes_reset_k_point(obj%firstKeyPoint) 1425 obj%spin_ispresent = .FALSE. 1426 CALL qes_reset_phase(obj%phase) 1427 ! 1428 END SUBROUTINE qes_reset_electronicPolarization 1429 ! 1430 ! 1431 SUBROUTINE qes_reset_phase(obj) 1432 ! 1433 IMPLICIT NONE 1434 TYPE(phase_type),INTENT(INOUT) :: obj 1435 ! 1436 obj%tagname = "" 1437 obj%lwrite = .FALSE. 1438 obj%lread = .FALSE. 1439 ! 1440 obj%ionic_ispresent = .FALSE. 1441 obj%electronic_ispresent = .FALSE. 1442 obj%modulus_ispresent = .FALSE. 1443 ! 1444 END SUBROUTINE qes_reset_phase 1445 ! 1446 ! 1447 SUBROUTINE qes_reset_gateInfo(obj) 1448 ! 1449 IMPLICIT NONE 1450 TYPE(gateInfo_type),INTENT(INOUT) :: obj 1451 ! 1452 obj%tagname = "" 1453 obj%lwrite = .FALSE. 1454 obj%lread = .FALSE. 1455 ! 1456 ! 1457 END SUBROUTINE qes_reset_gateInfo 1458 ! 1459 ! 1460 SUBROUTINE qes_reset_convergence_info(obj) 1461 ! 1462 IMPLICIT NONE 1463 TYPE(convergence_info_type),INTENT(INOUT) :: obj 1464 ! 1465 obj%tagname = "" 1466 obj%lwrite = .FALSE. 1467 obj%lread = .FALSE. 1468 ! 1469 CALL qes_reset_scf_conv(obj%scf_conv) 1470 IF (obj%opt_conv_ispresent) & 1471 CALL qes_reset_opt_conv(obj%opt_conv) 1472 obj%opt_conv_ispresent = .FALSE. 1473 ! 1474 END SUBROUTINE qes_reset_convergence_info 1475 ! 1476 ! 1477 SUBROUTINE qes_reset_scf_conv(obj) 1478 ! 1479 IMPLICIT NONE 1480 TYPE(scf_conv_type),INTENT(INOUT) :: obj 1481 ! 1482 obj%tagname = "" 1483 obj%lwrite = .FALSE. 1484 obj%lread = .FALSE. 1485 ! 1486 ! 1487 END SUBROUTINE qes_reset_scf_conv 1488 ! 1489 ! 1490 SUBROUTINE qes_reset_opt_conv(obj) 1491 ! 1492 IMPLICIT NONE 1493 TYPE(opt_conv_type),INTENT(INOUT) :: obj 1494 ! 1495 obj%tagname = "" 1496 obj%lwrite = .FALSE. 1497 obj%lread = .FALSE. 1498 ! 1499 ! 1500 END SUBROUTINE qes_reset_opt_conv 1501 ! 1502 ! 1503 SUBROUTINE qes_reset_algorithmic_info(obj) 1504 ! 1505 IMPLICIT NONE 1506 TYPE(algorithmic_info_type),INTENT(INOUT) :: obj 1507 ! 1508 obj%tagname = "" 1509 obj%lwrite = .FALSE. 1510 obj%lread = .FALSE. 1511 ! 1512 obj%real_space_beta_ispresent = .FALSE. 1513 ! 1514 END SUBROUTINE qes_reset_algorithmic_info 1515 ! 1516 ! 1517 SUBROUTINE qes_reset_symmetries(obj) 1518 ! 1519 IMPLICIT NONE 1520 TYPE(symmetries_type),INTENT(INOUT) :: obj 1521 INTEGER :: i 1522 ! 1523 obj%tagname = "" 1524 obj%lwrite = .FALSE. 1525 obj%lread = .FALSE. 1526 ! 1527 IF (ALLOCATED(obj%symmetry)) THEN 1528 DO i=1, SIZE(obj%symmetry) 1529 CALL qes_reset_symmetry(obj%symmetry(i)) 1530 ENDDO 1531 DEALLOCATE(obj%symmetry) 1532 ENDIF 1533 obj%ndim_symmetry = 0 1534 ! 1535 END SUBROUTINE qes_reset_symmetries 1536 ! 1537 ! 1538 SUBROUTINE qes_reset_symmetry(obj) 1539 ! 1540 IMPLICIT NONE 1541 TYPE(symmetry_type),INTENT(INOUT) :: obj 1542 ! 1543 obj%tagname = "" 1544 obj%lwrite = .FALSE. 1545 obj%lread = .FALSE. 1546 ! 1547 CALL qes_reset_info(obj%info) 1548 CALL qes_reset_matrix(obj%rotation) 1549 obj%fractional_translation_ispresent = .FALSE. 1550 IF (obj%equivalent_atoms_ispresent) & 1551 CALL qes_reset_equivalent_atoms(obj%equivalent_atoms) 1552 obj%equivalent_atoms_ispresent = .FALSE. 1553 ! 1554 END SUBROUTINE qes_reset_symmetry 1555 ! 1556 ! 1557 SUBROUTINE qes_reset_equivalent_atoms(obj) 1558 ! 1559 IMPLICIT NONE 1560 TYPE(equivalent_atoms_type),INTENT(INOUT) :: obj 1561 ! 1562 obj%tagname = "" 1563 obj%lwrite = .FALSE. 1564 obj%lread = .FALSE. 1565 ! 1566 obj%size = 0 1567 IF (ALLOCATED(obj%equivalent_atoms)) THEN 1568 DEALLOCATE(obj%equivalent_atoms) 1569 ENDIF 1570 ! 1571 END SUBROUTINE qes_reset_equivalent_atoms 1572 ! 1573 ! 1574 SUBROUTINE qes_reset_info(obj) 1575 ! 1576 IMPLICIT NONE 1577 TYPE(info_type),INTENT(INOUT) :: obj 1578 ! 1579 obj%tagname = "" 1580 obj%lwrite = .FALSE. 1581 obj%lread = .FALSE. 1582 ! 1583 obj%name_ispresent = .FALSE. 1584 obj%class_ispresent = .FALSE. 1585 obj%time_reversal_ispresent = .FALSE. 1586 ! 1587 END SUBROUTINE qes_reset_info 1588 ! 1589 ! 1590 SUBROUTINE qes_reset_outputPBC(obj) 1591 ! 1592 IMPLICIT NONE 1593 TYPE(outputPBC_type),INTENT(INOUT) :: obj 1594 ! 1595 obj%tagname = "" 1596 obj%lwrite = .FALSE. 1597 obj%lread = .FALSE. 1598 ! 1599 ! 1600 END SUBROUTINE qes_reset_outputPBC 1601 ! 1602 ! 1603 SUBROUTINE qes_reset_magnetization(obj) 1604 ! 1605 IMPLICIT NONE 1606 TYPE(magnetization_type),INTENT(INOUT) :: obj 1607 ! 1608 obj%tagname = "" 1609 obj%lwrite = .FALSE. 1610 obj%lread = .FALSE. 1611 ! 1612 obj%do_magnetization_ispresent = .FALSE. 1613 ! 1614 END SUBROUTINE qes_reset_magnetization 1615 ! 1616 ! 1617 SUBROUTINE qes_reset_total_energy(obj) 1618 ! 1619 IMPLICIT NONE 1620 TYPE(total_energy_type),INTENT(INOUT) :: obj 1621 ! 1622 obj%tagname = "" 1623 obj%lwrite = .FALSE. 1624 obj%lread = .FALSE. 1625 ! 1626 obj%eband_ispresent = .FALSE. 1627 obj%ehart_ispresent = .FALSE. 1628 obj%vtxc_ispresent = .FALSE. 1629 obj%etxc_ispresent = .FALSE. 1630 obj%ewald_ispresent = .FALSE. 1631 obj%demet_ispresent = .FALSE. 1632 obj%efieldcorr_ispresent = .FALSE. 1633 obj%potentiostat_contr_ispresent = .FALSE. 1634 obj%gatefield_contr_ispresent = .FALSE. 1635 obj%vdW_term_ispresent = .FALSE. 1636 ! 1637 END SUBROUTINE qes_reset_total_energy 1638 ! 1639 ! 1640 SUBROUTINE qes_reset_band_structure(obj) 1641 ! 1642 IMPLICIT NONE 1643 TYPE(band_structure_type),INTENT(INOUT) :: obj 1644 INTEGER :: i 1645 ! 1646 obj%tagname = "" 1647 obj%lwrite = .FALSE. 1648 obj%lread = .FALSE. 1649 ! 1650 obj%nbnd_ispresent = .FALSE. 1651 obj%nbnd_up_ispresent = .FALSE. 1652 obj%nbnd_dw_ispresent = .FALSE. 1653 obj%num_of_atomic_wfc_ispresent = .FALSE. 1654 obj%fermi_energy_ispresent = .FALSE. 1655 obj%highestOccupiedLevel_ispresent = .FALSE. 1656 obj%lowestUnoccupiedLevel_ispresent = .FALSE. 1657 obj%two_fermi_energies_ispresent = .FALSE. 1658 CALL qes_reset_k_points_IBZ(obj%starting_k_points) 1659 CALL qes_reset_occupations(obj%occupations_kind) 1660 IF (obj%smearing_ispresent) & 1661 CALL qes_reset_smearing(obj%smearing) 1662 obj%smearing_ispresent = .FALSE. 1663 IF (ALLOCATED(obj%ks_energies)) THEN 1664 DO i=1, SIZE(obj%ks_energies) 1665 CALL qes_reset_ks_energies(obj%ks_energies(i)) 1666 ENDDO 1667 DEALLOCATE(obj%ks_energies) 1668 ENDIF 1669 obj%ndim_ks_energies = 0 1670 ! 1671 END SUBROUTINE qes_reset_band_structure 1672 ! 1673 ! 1674 SUBROUTINE qes_reset_ks_energies(obj) 1675 ! 1676 IMPLICIT NONE 1677 TYPE(ks_energies_type),INTENT(INOUT) :: obj 1678 ! 1679 obj%tagname = "" 1680 obj%lwrite = .FALSE. 1681 obj%lread = .FALSE. 1682 ! 1683 CALL qes_reset_k_point(obj%k_point) 1684 CALL qes_reset_vector(obj%eigenvalues) 1685 CALL qes_reset_vector(obj%occupations) 1686 ! 1687 END SUBROUTINE qes_reset_ks_energies 1688 ! 1689 ! 1690 SUBROUTINE qes_reset_closed(obj) 1691 ! 1692 IMPLICIT NONE 1693 TYPE(closed_type),INTENT(INOUT) :: obj 1694 ! 1695 obj%tagname = "" 1696 obj%lwrite = .FALSE. 1697 obj%lread = .FALSE. 1698 ! 1699 ! 1700 END SUBROUTINE qes_reset_closed 1701 ! 1702 ! 1703 SUBROUTINE qes_reset_vector(obj) 1704 ! 1705 IMPLICIT NONE 1706 TYPE(vector_type),INTENT(INOUT) :: obj 1707 ! 1708 obj%tagname = "" 1709 obj%lwrite = .FALSE. 1710 obj%lread = .FALSE. 1711 ! 1712 IF (ALLOCATED(obj%vector)) THEN 1713 DEALLOCATE(obj%vector) 1714 ENDIF 1715 obj%size = 0 1716 ! 1717 END SUBROUTINE qes_reset_vector 1718 ! 1719 ! 1720 SUBROUTINE qes_reset_integerVector(obj) 1721 ! 1722 IMPLICIT NONE 1723 TYPE(integerVector_type),INTENT(INOUT) :: obj 1724 ! 1725 obj%tagname = "" 1726 obj%lwrite = .FALSE. 1727 obj%lread = .FALSE. 1728 ! 1729 IF (ALLOCATED(obj%integerVector)) THEN 1730 DEALLOCATE(obj%integerVector) 1731 ENDIF 1732 obj%size = 0 1733 ! 1734 END SUBROUTINE qes_reset_integerVector 1735 ! 1736 ! 1737 SUBROUTINE qes_reset_matrix(obj) 1738 ! 1739 IMPLICIT NONE 1740 TYPE(matrix_type),INTENT(INOUT) :: obj 1741 ! 1742 obj%tagname = "" 1743 obj%lwrite = .FALSE. 1744 obj%lread = .FALSE. 1745 ! 1746 IF (ALLOCATED(obj%matrix)) THEN 1747 DEALLOCATE(obj%matrix) 1748 ENDIF 1749 IF (ALLOCATED(obj%dims)) THEN 1750 DEALLOCATE(obj%dims) 1751 ENDIF 1752 obj%rank = 0 1753 obj%order = 'F' 1754 ! 1755 END SUBROUTINE qes_reset_matrix 1756 ! 1757 ! 1758 SUBROUTINE qes_reset_integerMatrix(obj) 1759 ! 1760 IMPLICIT NONE 1761 TYPE(integerMatrix_type),INTENT(INOUT) :: obj 1762 ! 1763 obj%tagname = "" 1764 obj%lwrite = .FALSE. 1765 obj%lread = .FALSE. 1766 ! 1767 IF (ALLOCATED(obj%integerMatrix)) THEN 1768 DEALLOCATE(obj%integerMatrix) 1769 ENDIF 1770 IF (ALLOCATED(obj%dims)) THEN 1771 DEALLOCATE(obj%dims) 1772 ENDIF 1773 obj%rank = 0 1774 obj%order = 'F' 1775 ! 1776 END SUBROUTINE qes_reset_integerMatrix 1777 ! 1778 ! 1779 SUBROUTINE qes_reset_scalarQuantity(obj) 1780 ! 1781 IMPLICIT NONE 1782 TYPE(scalarQuantity_type),INTENT(INOUT) :: obj 1783 ! 1784 obj%tagname = "" 1785 obj%lwrite = .FALSE. 1786 obj%lread = .FALSE. 1787 ! 1788 ! 1789 END SUBROUTINE qes_reset_scalarQuantity 1790 ! 1791 ! 1792END MODULE qes_reset_module