! ! Copyright (C) 2001-2009 Quantum ESPRESSO group ! This file is distributed under the terms of the ! GNU General Public License. See the file `License' ! in the root directory of the present distribution, ! or http://www.gnu.org/copyleft/gpl.txt . ! ! MODULE qes_types_module ! ! Auto-generated code: don't edit this file ! ! Quantum Espresso XSD namespace: http://www.quantum-espresso.org/ns/qes/qes-1.0 ! USE kinds, only: DP ! IMPLICIT NONE ! TYPE :: xml_format_type ! CHARACTER(len=100) :: tagname LOGICAL :: lwrite = .FALSE. LOGICAL :: lread = .FALSE. ! CHARACTER(len=256) :: NAME CHARACTER(len=256) :: VERSION ! CHARACTER(len=256) :: xml_format ! END TYPE xml_format_type ! TYPE :: creator_type ! CHARACTER(len=100) :: tagname LOGICAL :: lwrite = .FALSE. LOGICAL :: lread = .FALSE. ! CHARACTER(len=256) :: NAME CHARACTER(len=256) :: VERSION ! CHARACTER(len=256) :: creator ! END TYPE creator_type ! TYPE :: created_type ! CHARACTER(len=100) :: tagname LOGICAL :: lwrite = .FALSE. LOGICAL :: lread = .FALSE. ! CHARACTER(len=256) :: DATE CHARACTER(len=256) :: TIME ! CHARACTER(len=256) :: created ! END TYPE created_type ! TYPE :: atom_type ! CHARACTER(len=100) :: tagname LOGICAL :: lwrite = .FALSE. LOGICAL :: lread = .FALSE. ! CHARACTER(len=256) :: name CHARACTER(len=256) :: position LOGICAL :: position_ispresent = .FALSE. INTEGER :: index LOGICAL :: index_ispresent = .FALSE. ! REAL(DP), DIMENSION(3) :: atom ! END TYPE atom_type ! TYPE :: qpoint_grid_type ! CHARACTER(len=100) :: tagname LOGICAL :: lwrite = .FALSE. LOGICAL :: lread = .FALSE. ! INTEGER :: nqx1 INTEGER :: nqx2 INTEGER :: nqx3 ! CHARACTER(len=256) :: qpoint_grid ! END TYPE qpoint_grid_type ! TYPE :: HubbardCommon_type ! CHARACTER(len=100) :: tagname LOGICAL :: lwrite = .FALSE. LOGICAL :: lread = .FALSE. ! CHARACTER(len=256) :: specie CHARACTER(len=256) :: label ! REAL(DP) :: HubbardCommon ! END TYPE HubbardCommon_type ! TYPE :: HubbardJ_type ! CHARACTER(len=100) :: tagname LOGICAL :: lwrite = .FALSE. LOGICAL :: lread = .FALSE. ! CHARACTER(len=256) :: specie CHARACTER(len=256) :: label ! REAL(DP), DIMENSION(3) :: HubbardJ ! END TYPE HubbardJ_type ! TYPE :: starting_ns_type ! CHARACTER(len=100) :: tagname LOGICAL :: lwrite = .FALSE. LOGICAL :: lread = .FALSE. ! CHARACTER(len=256) :: specie CHARACTER(len=256) :: label INTEGER :: spin INTEGER :: size ! REAL(DP), DIMENSION(:), ALLOCATABLE :: starting_ns ! END TYPE starting_ns_type ! TYPE :: Hubbard_ns_type ! CHARACTER(len=100) :: tagname LOGICAL :: lwrite = .FALSE. LOGICAL :: lread = .FALSE. ! CHARACTER(len=256) :: specie CHARACTER(len=256) :: label INTEGER :: spin INTEGER :: index INTEGER :: rank INTEGER, DIMENSION(:), ALLOCATABLE :: dims CHARACTER(len=256) :: order ! REAL(DP), DIMENSION(:), ALLOCATABLE :: Hubbard_ns ! END TYPE Hubbard_ns_type ! TYPE :: smearing_type ! CHARACTER(len=100) :: tagname LOGICAL :: lwrite = .FALSE. LOGICAL :: lread = .FALSE. ! REAL(DP) :: degauss ! CHARACTER(len=256) :: smearing ! END TYPE smearing_type ! TYPE :: occupations_type ! CHARACTER(len=100) :: tagname LOGICAL :: lwrite = .FALSE. LOGICAL :: lread = .FALSE. ! INTEGER :: spin LOGICAL :: spin_ispresent = .FALSE. ! CHARACTER(len=256) :: occupations ! END TYPE occupations_type ! TYPE :: basisSetItem_type ! CHARACTER(len=100) :: tagname LOGICAL :: lwrite = .FALSE. LOGICAL :: lread = .FALSE. ! INTEGER :: nr1 INTEGER :: nr2 INTEGER :: nr3 ! CHARACTER(len=256) :: basisSetItem ! END TYPE basisSetItem_type ! TYPE :: monkhorst_pack_type ! CHARACTER(len=100) :: tagname LOGICAL :: lwrite = .FALSE. LOGICAL :: lread = .FALSE. ! INTEGER :: nk1 INTEGER :: nk2 INTEGER :: nk3 INTEGER :: k1 INTEGER :: k2 INTEGER :: k3 ! CHARACTER(len=256) :: monkhorst_pack ! END TYPE monkhorst_pack_type ! TYPE :: k_point_type ! CHARACTER(len=100) :: tagname LOGICAL :: lwrite = .FALSE. LOGICAL :: lread = .FALSE. ! REAL(DP) :: weight LOGICAL :: weight_ispresent = .FALSE. CHARACTER(len=256) :: label LOGICAL :: label_ispresent = .FALSE. ! REAL(DP), DIMENSION(3) :: k_point ! END TYPE k_point_type ! TYPE :: inputOccupations_type ! CHARACTER(len=100) :: tagname LOGICAL :: lwrite = .FALSE. LOGICAL :: lread = .FALSE. ! INTEGER :: ispin REAL(DP) :: spin_factor INTEGER :: size ! REAL(DP), DIMENSION(:), ALLOCATABLE :: inputOccupations ! END TYPE inputOccupations_type ! TYPE :: phase_type ! CHARACTER(len=100) :: tagname LOGICAL :: lwrite = .FALSE. LOGICAL :: lread = .FALSE. ! REAL(DP) :: ionic LOGICAL :: ionic_ispresent = .FALSE. REAL(DP) :: electronic LOGICAL :: electronic_ispresent = .FALSE. CHARACTER(len=256) :: modulus LOGICAL :: modulus_ispresent = .FALSE. ! REAL(DP) :: phase ! END TYPE phase_type ! TYPE :: equivalent_atoms_type ! CHARACTER(len=100) :: tagname LOGICAL :: lwrite = .FALSE. LOGICAL :: lread = .FALSE. ! INTEGER :: nat INTEGER :: size ! INTEGER, DIMENSION(:), ALLOCATABLE :: equivalent_atoms ! END TYPE equivalent_atoms_type ! TYPE :: info_type ! CHARACTER(len=100) :: tagname LOGICAL :: lwrite = .FALSE. LOGICAL :: lread = .FALSE. ! CHARACTER(len=256) :: name LOGICAL :: name_ispresent = .FALSE. CHARACTER(len=256) :: class LOGICAL :: class_ispresent = .FALSE. LOGICAL :: time_reversal LOGICAL :: time_reversal_ispresent = .FALSE. ! CHARACTER(len=256) :: info ! END TYPE info_type ! TYPE :: closed_type ! CHARACTER(len=100) :: tagname LOGICAL :: lwrite = .FALSE. LOGICAL :: lread = .FALSE. ! CHARACTER(len=256) :: DATE CHARACTER(len=256) :: TIME ! CHARACTER(len=256) :: closed ! END TYPE closed_type ! TYPE :: vector_type ! CHARACTER(len=100) :: tagname LOGICAL :: lwrite = .FALSE. LOGICAL :: lread = .FALSE. ! INTEGER :: size ! REAL(DP), DIMENSION(:), ALLOCATABLE :: vector ! END TYPE vector_type ! TYPE :: integerVector_type ! CHARACTER(len=100) :: tagname LOGICAL :: lwrite = .FALSE. LOGICAL :: lread = .FALSE. ! INTEGER :: size ! INTEGER, DIMENSION(:), ALLOCATABLE :: integerVector ! END TYPE integerVector_type ! TYPE :: matrix_type ! CHARACTER(len=100) :: tagname LOGICAL :: lwrite = .FALSE. LOGICAL :: lread = .FALSE. ! INTEGER :: rank INTEGER, DIMENSION(:), ALLOCATABLE :: dims CHARACTER(len=256) :: order ! REAL(DP), DIMENSION(:), ALLOCATABLE :: matrix ! END TYPE matrix_type ! TYPE :: integerMatrix_type ! CHARACTER(len=100) :: tagname LOGICAL :: lwrite = .FALSE. LOGICAL :: lread = .FALSE. ! INTEGER :: rank INTEGER, DIMENSION(:), ALLOCATABLE :: dims CHARACTER(len=256) :: order ! INTEGER, DIMENSION(:), ALLOCATABLE :: integerMatrix ! END TYPE integerMatrix_type ! TYPE :: scalarQuantity_type ! CHARACTER(len=100) :: tagname LOGICAL :: lwrite = .FALSE. LOGICAL :: lread = .FALSE. ! CHARACTER(len=256) :: Units ! REAL(DP) :: scalarQuantity ! END TYPE scalarQuantity_type ! TYPE :: general_info_type ! CHARACTER(len=100) :: tagname LOGICAL :: lwrite = .FALSE. LOGICAL :: lread = .FALSE. ! TYPE(xml_format_type) :: xml_format TYPE(creator_type) :: creator TYPE(created_type) :: created CHARACTER(len=256) :: job ! END TYPE general_info_type ! TYPE :: parallel_info_type ! CHARACTER(len=100) :: tagname LOGICAL :: lwrite = .FALSE. LOGICAL :: lread = .FALSE. ! INTEGER :: nprocs INTEGER :: nthreads INTEGER :: ntasks INTEGER :: nbgrp INTEGER :: npool INTEGER :: ndiag ! END TYPE parallel_info_type ! TYPE :: control_variables_type ! CHARACTER(len=100) :: tagname LOGICAL :: lwrite = .FALSE. LOGICAL :: lread = .FALSE. ! CHARACTER(len=256) :: title CHARACTER(len=256) :: calculation CHARACTER(len=256) :: restart_mode CHARACTER(len=256) :: prefix CHARACTER(len=256) :: pseudo_dir CHARACTER(len=256) :: outdir LOGICAL :: stress LOGICAL :: forces LOGICAL :: wf_collect CHARACTER(len=256) :: disk_io INTEGER :: max_seconds LOGICAL :: nstep_ispresent = .FALSE. INTEGER :: nstep REAL(DP) :: etot_conv_thr REAL(DP) :: forc_conv_thr REAL(DP) :: press_conv_thr CHARACTER(len=256) :: verbosity INTEGER :: print_every ! END TYPE control_variables_type ! TYPE :: species_type ! CHARACTER(len=100) :: tagname LOGICAL :: lwrite = .FALSE. LOGICAL :: lread = .FALSE. ! CHARACTER(len=256) :: name LOGICAL :: mass_ispresent = .FALSE. REAL(DP) :: mass CHARACTER(len=256) :: pseudo_file LOGICAL :: starting_magnetization_ispresent = .FALSE. REAL(DP) :: starting_magnetization LOGICAL :: spin_teta_ispresent = .FALSE. REAL(DP) :: spin_teta LOGICAL :: spin_phi_ispresent = .FALSE. REAL(DP) :: spin_phi ! END TYPE species_type ! TYPE :: atomic_positions_type ! CHARACTER(len=100) :: tagname LOGICAL :: lwrite = .FALSE. LOGICAL :: lread = .FALSE. ! TYPE(atom_type), DIMENSION(:), ALLOCATABLE :: atom INTEGER :: ndim_atom ! END TYPE atomic_positions_type ! TYPE :: wyckoff_positions_type ! CHARACTER(len=100) :: tagname LOGICAL :: lwrite = .FALSE. LOGICAL :: lread = .FALSE. ! INTEGER :: space_group CHARACTER(len=256) :: more_options LOGICAL :: more_options_ispresent = .FALSE. TYPE(atom_type), DIMENSION(:), ALLOCATABLE :: atom INTEGER :: ndim_atom ! END TYPE wyckoff_positions_type ! TYPE :: cell_type ! CHARACTER(len=100) :: tagname LOGICAL :: lwrite = .FALSE. LOGICAL :: lread = .FALSE. ! REAL(DP), DIMENSION(3) :: a1 REAL(DP), DIMENSION(3) :: a2 REAL(DP), DIMENSION(3) :: a3 ! END TYPE cell_type ! TYPE :: hybrid_type ! CHARACTER(len=100) :: tagname LOGICAL :: lwrite = .FALSE. LOGICAL :: lread = .FALSE. ! TYPE(qpoint_grid_type) :: qpoint_grid REAL(DP) :: ecutfock REAL(DP) :: exx_fraction REAL(DP) :: screening_parameter CHARACTER(len=256) :: exxdiv_treatment LOGICAL :: x_gamma_extrapolation REAL(DP) :: ecutvcut ! END TYPE hybrid_type ! TYPE :: dftU_type ! CHARACTER(len=100) :: tagname LOGICAL :: lwrite = .FALSE. LOGICAL :: lread = .FALSE. ! LOGICAL :: lda_plus_u_kind_ispresent = .FALSE. INTEGER :: lda_plus_u_kind LOGICAL :: Hubbard_U_ispresent = .FALSE. TYPE(HubbardCommon_type), DIMENSION(:), ALLOCATABLE :: Hubbard_U INTEGER :: ndim_Hubbard_U LOGICAL :: Hubbard_J0_ispresent = .FALSE. TYPE(HubbardCommon_type), DIMENSION(:), ALLOCATABLE :: Hubbard_J0 INTEGER :: ndim_Hubbard_J0 LOGICAL :: Hubbard_alpha_ispresent = .FALSE. TYPE(HubbardCommon_type), DIMENSION(:), ALLOCATABLE :: Hubbard_alpha INTEGER :: ndim_Hubbard_alpha LOGICAL :: Hubbard_beta_ispresent = .FALSE. TYPE(HubbardCommon_type), DIMENSION(:), ALLOCATABLE :: Hubbard_beta INTEGER :: ndim_Hubbard_beta LOGICAL :: Hubbard_J_ispresent = .FALSE. TYPE(HubbardJ_type), DIMENSION(:), ALLOCATABLE :: Hubbard_J INTEGER :: ndim_Hubbard_J LOGICAL :: starting_ns_ispresent = .FALSE. TYPE(starting_ns_type), DIMENSION(:), ALLOCATABLE :: starting_ns INTEGER :: ndim_starting_ns LOGICAL :: Hubbard_ns_ispresent = .FALSE. TYPE(Hubbard_ns_type), DIMENSION(:), ALLOCATABLE :: Hubbard_ns INTEGER :: ndim_Hubbard_ns LOGICAL :: U_projection_type_ispresent = .FALSE. CHARACTER(len=256) :: U_projection_type ! END TYPE dftU_type ! TYPE :: vdW_type ! CHARACTER(len=100) :: tagname LOGICAL :: lwrite = .FALSE. LOGICAL :: lread = .FALSE. ! CHARACTER(len=256) :: vdw_corr LOGICAL :: non_local_term_ispresent = .FALSE. CHARACTER(len=256) :: non_local_term LOGICAL :: london_s6_ispresent = .FALSE. REAL(DP) :: london_s6 LOGICAL :: ts_vdw_econv_thr_ispresent = .FALSE. REAL(DP) :: ts_vdw_econv_thr LOGICAL :: ts_vdw_isolated_ispresent = .FALSE. LOGICAL :: ts_vdw_isolated LOGICAL :: london_rcut_ispresent = .FALSE. REAL(DP) :: london_rcut LOGICAL :: xdm_a1_ispresent = .FALSE. REAL(DP) :: xdm_a1 LOGICAL :: xdm_a2_ispresent = .FALSE. REAL(DP) :: xdm_a2 LOGICAL :: london_c6_ispresent = .FALSE. TYPE(HubbardCommon_type), DIMENSION(:), ALLOCATABLE :: london_c6 INTEGER :: ndim_london_c6 ! END TYPE vdW_type ! TYPE :: spin_type ! CHARACTER(len=100) :: tagname LOGICAL :: lwrite = .FALSE. LOGICAL :: lread = .FALSE. ! LOGICAL :: lsda LOGICAL :: noncolin LOGICAL :: spinorbit ! END TYPE spin_type ! TYPE :: bands_type ! CHARACTER(len=100) :: tagname LOGICAL :: lwrite = .FALSE. LOGICAL :: lread = .FALSE. ! LOGICAL :: nbnd_ispresent = .FALSE. INTEGER :: nbnd LOGICAL :: smearing_ispresent = .FALSE. TYPE(smearing_type) :: smearing LOGICAL :: tot_charge_ispresent = .FALSE. REAL(DP) :: tot_charge LOGICAL :: tot_magnetization_ispresent = .FALSE. REAL(DP) :: tot_magnetization TYPE(occupations_type) :: occupations LOGICAL :: inputOccupations_ispresent = .FALSE. TYPE(inputOccupations_type), DIMENSION(:), ALLOCATABLE :: inputOccupations INTEGER :: ndim_inputOccupations ! END TYPE bands_type ! TYPE :: basis_type ! CHARACTER(len=100) :: tagname LOGICAL :: lwrite = .FALSE. LOGICAL :: lread = .FALSE. ! LOGICAL :: gamma_only_ispresent = .FALSE. LOGICAL :: gamma_only REAL(DP) :: ecutwfc LOGICAL :: ecutrho_ispresent = .FALSE. REAL(DP) :: ecutrho LOGICAL :: fft_grid_ispresent = .FALSE. TYPE(basisSetItem_type) :: fft_grid LOGICAL :: fft_smooth_ispresent = .FALSE. TYPE(basisSetItem_type) :: fft_smooth LOGICAL :: fft_box_ispresent = .FALSE. TYPE(basisSetItem_type) :: fft_box ! END TYPE basis_type ! TYPE :: reciprocal_lattice_type ! CHARACTER(len=100) :: tagname LOGICAL :: lwrite = .FALSE. LOGICAL :: lread = .FALSE. ! REAL(DP), DIMENSION(3) :: b1 REAL(DP), DIMENSION(3) :: b2 REAL(DP), DIMENSION(3) :: b3 ! END TYPE reciprocal_lattice_type ! TYPE :: electron_control_type ! CHARACTER(len=100) :: tagname LOGICAL :: lwrite = .FALSE. LOGICAL :: lread = .FALSE. ! CHARACTER(len=256) :: diagonalization CHARACTER(len=256) :: mixing_mode REAL(DP) :: mixing_beta REAL(DP) :: conv_thr INTEGER :: mixing_ndim INTEGER :: max_nstep LOGICAL :: real_space_q LOGICAL :: tq_smoothing LOGICAL :: tbeta_smoothing REAL(DP) :: diago_thr_init LOGICAL :: diago_full_acc LOGICAL :: diago_cg_maxiter_ispresent = .FALSE. INTEGER :: diago_cg_maxiter LOGICAL :: diago_david_ndim_ispresent = .FALSE. INTEGER :: diago_david_ndim ! END TYPE electron_control_type ! TYPE :: k_points_IBZ_type ! CHARACTER(len=100) :: tagname LOGICAL :: lwrite = .FALSE. LOGICAL :: lread = .FALSE. ! LOGICAL :: monkhorst_pack_ispresent = .FALSE. TYPE(monkhorst_pack_type) :: monkhorst_pack LOGICAL :: nk_ispresent = .FALSE. INTEGER :: nk LOGICAL :: k_point_ispresent = .FALSE. TYPE(k_point_type), DIMENSION(:), ALLOCATABLE :: k_point INTEGER :: ndim_k_point ! END TYPE k_points_IBZ_type ! TYPE :: bfgs_type ! CHARACTER(len=100) :: tagname LOGICAL :: lwrite = .FALSE. LOGICAL :: lread = .FALSE. ! INTEGER :: ndim REAL(DP) :: trust_radius_min REAL(DP) :: trust_radius_max REAL(DP) :: trust_radius_init REAL(DP) :: w1 REAL(DP) :: w2 ! END TYPE bfgs_type ! TYPE :: md_type ! CHARACTER(len=100) :: tagname LOGICAL :: lwrite = .FALSE. LOGICAL :: lread = .FALSE. ! CHARACTER(len=256) :: pot_extrapolation CHARACTER(len=256) :: wfc_extrapolation CHARACTER(len=256) :: ion_temperature REAL(DP) :: timestep REAL(DP) :: tempw REAL(DP) :: tolp REAL(DP) :: deltaT INTEGER :: nraise ! END TYPE md_type ! TYPE :: cell_control_type ! CHARACTER(len=100) :: tagname LOGICAL :: lwrite = .FALSE. LOGICAL :: lread = .FALSE. ! CHARACTER(len=256) :: cell_dynamics REAL(DP) :: pressure LOGICAL :: wmass_ispresent = .FALSE. REAL(DP) :: wmass LOGICAL :: cell_factor_ispresent = .FALSE. REAL(DP) :: cell_factor LOGICAL :: fix_volume_ispresent = .FALSE. LOGICAL :: fix_volume LOGICAL :: fix_area_ispresent = .FALSE. LOGICAL :: fix_area LOGICAL :: isotropic_ispresent = .FALSE. LOGICAL :: isotropic LOGICAL :: free_cell_ispresent = .FALSE. TYPE(integerMatrix_type) :: free_cell ! END TYPE cell_control_type ! TYPE :: symmetry_flags_type ! CHARACTER(len=100) :: tagname LOGICAL :: lwrite = .FALSE. LOGICAL :: lread = .FALSE. ! LOGICAL :: nosym LOGICAL :: nosym_evc LOGICAL :: noinv LOGICAL :: no_t_rev LOGICAL :: force_symmorphic LOGICAL :: use_all_frac ! END TYPE symmetry_flags_type ! TYPE :: esm_type ! CHARACTER(len=100) :: tagname LOGICAL :: lwrite = .FALSE. LOGICAL :: lread = .FALSE. ! CHARACTER(len=256) :: bc INTEGER :: nfit REAL(DP) :: w REAL(DP) :: efield ! END TYPE esm_type ! TYPE :: ekin_functional_type ! CHARACTER(len=100) :: tagname LOGICAL :: lwrite = .FALSE. LOGICAL :: lread = .FALSE. ! REAL(DP) :: ecfixed REAL(DP) :: qcutz REAL(DP) :: q2sigma ! END TYPE ekin_functional_type ! TYPE :: spin_constraints_type ! CHARACTER(len=100) :: tagname LOGICAL :: lwrite = .FALSE. LOGICAL :: lread = .FALSE. ! CHARACTER(len=256) :: spin_constraints REAL(DP) :: lagrange_multiplier LOGICAL :: target_magnetization_ispresent = .FALSE. REAL(DP), DIMENSION(3) :: target_magnetization ! END TYPE spin_constraints_type ! TYPE :: gate_settings_type ! CHARACTER(len=100) :: tagname LOGICAL :: lwrite = .FALSE. LOGICAL :: lread = .FALSE. ! LOGICAL :: use_gate LOGICAL :: zgate_ispresent = .FALSE. REAL(DP) :: zgate LOGICAL :: relaxz_ispresent = .FALSE. LOGICAL :: relaxz LOGICAL :: block_ispresent = .FALSE. LOGICAL :: block LOGICAL :: block_1_ispresent = .FALSE. REAL(DP) :: block_1 LOGICAL :: block_2_ispresent = .FALSE. REAL(DP) :: block_2 LOGICAL :: block_height_ispresent = .FALSE. REAL(DP) :: block_height ! END TYPE gate_settings_type ! TYPE :: atomic_constraint_type ! CHARACTER(len=100) :: tagname LOGICAL :: lwrite = .FALSE. LOGICAL :: lread = .FALSE. ! REAL(DP), DIMENSION(4) :: constr_parms CHARACTER(len=256) :: constr_type REAL(DP) :: constr_target ! END TYPE atomic_constraint_type ! TYPE :: dipoleOutput_type ! CHARACTER(len=100) :: tagname LOGICAL :: lwrite = .FALSE. LOGICAL :: lread = .FALSE. ! INTEGER :: idir TYPE(scalarQuantity_type) :: dipole TYPE(scalarQuantity_type) :: ion_dipole TYPE(scalarQuantity_type) :: elec_dipole TYPE(scalarQuantity_type) :: dipoleField TYPE(scalarQuantity_type) :: potentialAmp TYPE(scalarQuantity_type) :: totalLength ! END TYPE dipoleOutput_type ! TYPE :: finiteFieldOut_type ! CHARACTER(len=100) :: tagname LOGICAL :: lwrite = .FALSE. LOGICAL :: lread = .FALSE. ! REAL(DP), DIMENSION(3) :: electronicDipole REAL(DP), DIMENSION(3) :: ionicDipole ! END TYPE finiteFieldOut_type ! TYPE :: polarization_type ! CHARACTER(len=100) :: tagname LOGICAL :: lwrite = .FALSE. LOGICAL :: lread = .FALSE. ! TYPE(scalarQuantity_type) :: polarization REAL(DP) :: modulus REAL(DP), DIMENSION(3) :: direction ! END TYPE polarization_type ! TYPE :: ionicPolarization_type ! CHARACTER(len=100) :: tagname LOGICAL :: lwrite = .FALSE. LOGICAL :: lread = .FALSE. ! TYPE(atom_type) :: ion REAL(DP) :: charge TYPE(phase_type) :: phase ! END TYPE ionicPolarization_type ! TYPE :: electronicPolarization_type ! CHARACTER(len=100) :: tagname LOGICAL :: lwrite = .FALSE. LOGICAL :: lread = .FALSE. ! TYPE(k_point_type) :: firstKeyPoint LOGICAL :: spin_ispresent = .FALSE. INTEGER :: spin TYPE(phase_type) :: phase ! END TYPE electronicPolarization_type ! TYPE :: gateInfo_type ! CHARACTER(len=100) :: tagname LOGICAL :: lwrite = .FALSE. LOGICAL :: lread = .FALSE. ! REAL(DP) :: pot_prefactor REAL(DP) :: gate_zpos REAL(DP) :: gate_gate_term REAL(DP) :: gatefieldEnergy ! END TYPE gateInfo_type ! TYPE :: scf_conv_type ! CHARACTER(len=100) :: tagname LOGICAL :: lwrite = .FALSE. LOGICAL :: lread = .FALSE. ! INTEGER :: n_scf_steps REAL(DP) :: scf_error ! END TYPE scf_conv_type ! TYPE :: opt_conv_type ! CHARACTER(len=100) :: tagname LOGICAL :: lwrite = .FALSE. LOGICAL :: lread = .FALSE. ! INTEGER :: n_opt_steps REAL(DP) :: grad_norm ! END TYPE opt_conv_type ! TYPE :: algorithmic_info_type ! CHARACTER(len=100) :: tagname LOGICAL :: lwrite = .FALSE. LOGICAL :: lread = .FALSE. ! LOGICAL :: real_space_q LOGICAL :: uspp LOGICAL :: paw ! END TYPE algorithmic_info_type ! TYPE :: symmetry_type ! CHARACTER(len=100) :: tagname LOGICAL :: lwrite = .FALSE. LOGICAL :: lread = .FALSE. ! TYPE(info_type) :: info TYPE(matrix_type) :: rotation LOGICAL :: fractional_translation_ispresent = .FALSE. REAL(DP), DIMENSION(3) :: fractional_translation LOGICAL :: equivalent_atoms_ispresent = .FALSE. TYPE(equivalent_atoms_type) :: equivalent_atoms ! END TYPE symmetry_type ! TYPE :: outputPBC_type ! CHARACTER(len=100) :: tagname LOGICAL :: lwrite = .FALSE. LOGICAL :: lread = .FALSE. ! CHARACTER(len=256) :: assume_isolated ! END TYPE outputPBC_type ! TYPE :: magnetization_type ! CHARACTER(len=100) :: tagname LOGICAL :: lwrite = .FALSE. LOGICAL :: lread = .FALSE. ! LOGICAL :: lsda LOGICAL :: noncolin LOGICAL :: spinorbit REAL(DP) :: total REAL(DP) :: absolute LOGICAL :: do_magnetization ! END TYPE magnetization_type ! TYPE :: total_energy_type ! CHARACTER(len=100) :: tagname LOGICAL :: lwrite = .FALSE. LOGICAL :: lread = .FALSE. ! REAL(DP) :: etot LOGICAL :: eband_ispresent = .FALSE. REAL(DP) :: eband LOGICAL :: ehart_ispresent = .FALSE. REAL(DP) :: ehart LOGICAL :: vtxc_ispresent = .FALSE. REAL(DP) :: vtxc LOGICAL :: etxc_ispresent = .FALSE. REAL(DP) :: etxc LOGICAL :: ewald_ispresent = .FALSE. REAL(DP) :: ewald LOGICAL :: demet_ispresent = .FALSE. REAL(DP) :: demet LOGICAL :: efieldcorr_ispresent = .FALSE. REAL(DP) :: efieldcorr LOGICAL :: potentiostat_contr_ispresent = .FALSE. REAL(DP) :: potentiostat_contr LOGICAL :: gatefield_contr_ispresent = .FALSE. REAL(DP) :: gatefield_contr ! END TYPE total_energy_type ! TYPE :: ks_energies_type ! CHARACTER(len=100) :: tagname LOGICAL :: lwrite = .FALSE. LOGICAL :: lread = .FALSE. ! TYPE(k_point_type) :: k_point INTEGER :: npw TYPE(vector_type) :: eigenvalues TYPE(vector_type) :: occupations ! END TYPE ks_energies_type ! TYPE :: atomic_species_type ! CHARACTER(len=100) :: tagname LOGICAL :: lwrite = .FALSE. LOGICAL :: lread = .FALSE. ! INTEGER :: ntyp CHARACTER(len=256) :: pseudo_dir LOGICAL :: pseudo_dir_ispresent = .FALSE. TYPE(species_type), DIMENSION(:), ALLOCATABLE :: species INTEGER :: ndim_species ! END TYPE atomic_species_type ! TYPE :: atomic_structure_type ! CHARACTER(len=100) :: tagname LOGICAL :: lwrite = .FALSE. LOGICAL :: lread = .FALSE. ! INTEGER :: nat REAL(DP) :: alat LOGICAL :: alat_ispresent = .FALSE. INTEGER :: bravais_index LOGICAL :: bravais_index_ispresent = .FALSE. LOGICAL :: atomic_positions_ispresent = .FALSE. TYPE(atomic_positions_type) :: atomic_positions LOGICAL :: wyckoff_positions_ispresent = .FALSE. TYPE(wyckoff_positions_type) :: wyckoff_positions LOGICAL :: crystal_positions_ispresent = .FALSE. TYPE(atomic_positions_type) :: crystal_positions TYPE(cell_type) :: cell ! END TYPE atomic_structure_type ! TYPE :: dft_type ! CHARACTER(len=100) :: tagname LOGICAL :: lwrite = .FALSE. LOGICAL :: lread = .FALSE. ! CHARACTER(len=256) :: functional LOGICAL :: hybrid_ispresent = .FALSE. TYPE(hybrid_type) :: hybrid LOGICAL :: dftU_ispresent = .FALSE. TYPE(dftU_type) :: dftU LOGICAL :: vdW_ispresent = .FALSE. TYPE(vdW_type) :: vdW ! END TYPE dft_type ! TYPE :: basis_set_type ! CHARACTER(len=100) :: tagname LOGICAL :: lwrite = .FALSE. LOGICAL :: lread = .FALSE. ! LOGICAL :: gamma_only_ispresent = .FALSE. LOGICAL :: gamma_only REAL(DP) :: ecutwfc LOGICAL :: ecutrho_ispresent = .FALSE. REAL(DP) :: ecutrho TYPE(basisSetItem_type) :: fft_grid LOGICAL :: fft_smooth_ispresent = .FALSE. TYPE(basisSetItem_type) :: fft_smooth LOGICAL :: fft_box_ispresent = .FALSE. TYPE(basisSetItem_type) :: fft_box INTEGER :: ngm LOGICAL :: ngms_ispresent = .FALSE. INTEGER :: ngms INTEGER :: npwx TYPE(reciprocal_lattice_type) :: reciprocal_lattice ! END TYPE basis_set_type ! TYPE :: ion_control_type ! CHARACTER(len=100) :: tagname LOGICAL :: lwrite = .FALSE. LOGICAL :: lread = .FALSE. ! CHARACTER(len=256) :: ion_dynamics LOGICAL :: upscale_ispresent = .FALSE. REAL(DP) :: upscale LOGICAL :: remove_rigid_rot_ispresent = .FALSE. LOGICAL :: remove_rigid_rot LOGICAL :: refold_pos_ispresent = .FALSE. LOGICAL :: refold_pos LOGICAL :: bfgs_ispresent = .FALSE. TYPE(bfgs_type) :: bfgs LOGICAL :: md_ispresent = .FALSE. TYPE(md_type) :: md ! END TYPE ion_control_type ! TYPE :: boundary_conditions_type ! CHARACTER(len=100) :: tagname LOGICAL :: lwrite = .FALSE. LOGICAL :: lread = .FALSE. ! CHARACTER(len=256) :: assume_isolated LOGICAL :: esm_ispresent = .FALSE. TYPE(esm_type) :: esm LOGICAL :: fcp_opt_ispresent = .FALSE. LOGICAL :: fcp_opt LOGICAL :: fcp_mu_ispresent = .FALSE. REAL(DP) :: fcp_mu ! END TYPE boundary_conditions_type ! TYPE :: electric_field_type ! CHARACTER(len=100) :: tagname LOGICAL :: lwrite = .FALSE. LOGICAL :: lread = .FALSE. ! CHARACTER(len=256) :: electric_potential LOGICAL :: dipole_correction_ispresent = .FALSE. LOGICAL :: dipole_correction LOGICAL :: gate_correction_ispresent = .FALSE. TYPE(gate_settings_type) :: gate_correction LOGICAL :: electric_field_direction_ispresent = .FALSE. INTEGER :: electric_field_direction LOGICAL :: potential_max_position_ispresent = .FALSE. REAL(DP) :: potential_max_position LOGICAL :: potential_decrease_width_ispresent = .FALSE. REAL(DP) :: potential_decrease_width LOGICAL :: electric_field_amplitude_ispresent = .FALSE. REAL(DP) :: electric_field_amplitude LOGICAL :: electric_field_vector_ispresent = .FALSE. REAL(DP), DIMENSION(3) :: electric_field_vector LOGICAL :: nk_per_string_ispresent = .FALSE. INTEGER :: nk_per_string LOGICAL :: n_berry_cycles_ispresent = .FALSE. INTEGER :: n_berry_cycles ! END TYPE electric_field_type ! TYPE :: atomic_constraints_type ! CHARACTER(len=100) :: tagname LOGICAL :: lwrite = .FALSE. LOGICAL :: lread = .FALSE. ! INTEGER :: num_of_constraints REAL(DP) :: tolerance TYPE(atomic_constraint_type), DIMENSION(:), ALLOCATABLE :: atomic_constraint INTEGER :: ndim_atomic_constraint ! END TYPE atomic_constraints_type ! TYPE :: BerryPhaseOutput_type ! CHARACTER(len=100) :: tagname LOGICAL :: lwrite = .FALSE. LOGICAL :: lread = .FALSE. ! TYPE(polarization_type) :: totalPolarization TYPE(phase_type) :: totalPhase TYPE(ionicPolarization_type), DIMENSION(:), ALLOCATABLE :: ionicPolarization INTEGER :: ndim_ionicPolarization TYPE(electronicPolarization_type), DIMENSION(:), ALLOCATABLE :: electronicPolarization INTEGER :: ndim_electronicPolarization ! END TYPE BerryPhaseOutput_type ! TYPE :: convergence_info_type ! CHARACTER(len=100) :: tagname LOGICAL :: lwrite = .FALSE. LOGICAL :: lread = .FALSE. ! TYPE(scf_conv_type) :: scf_conv LOGICAL :: opt_conv_ispresent = .FALSE. TYPE(opt_conv_type) :: opt_conv ! END TYPE convergence_info_type ! TYPE :: symmetries_type ! CHARACTER(len=100) :: tagname LOGICAL :: lwrite = .FALSE. LOGICAL :: lread = .FALSE. ! INTEGER :: nsym INTEGER :: nrot INTEGER :: space_group TYPE(symmetry_type), DIMENSION(:), ALLOCATABLE :: symmetry INTEGER :: ndim_symmetry ! END TYPE symmetries_type ! TYPE :: band_structure_type ! CHARACTER(len=100) :: tagname LOGICAL :: lwrite = .FALSE. LOGICAL :: lread = .FALSE. ! LOGICAL :: lsda LOGICAL :: noncolin LOGICAL :: spinorbit INTEGER :: nbnd LOGICAL :: nbnd_up_ispresent = .FALSE. INTEGER :: nbnd_up LOGICAL :: nbnd_dw_ispresent = .FALSE. INTEGER :: nbnd_dw REAL(DP) :: nelec LOGICAL :: num_of_atomic_wfc_ispresent = .FALSE. INTEGER :: num_of_atomic_wfc LOGICAL :: wf_collected LOGICAL :: fermi_energy_ispresent = .FALSE. REAL(DP) :: fermi_energy LOGICAL :: highestOccupiedLevel_ispresent = .FALSE. REAL(DP) :: highestOccupiedLevel LOGICAL :: two_fermi_energies_ispresent = .FALSE. REAL(DP), DIMENSION(2) :: two_fermi_energies TYPE(k_points_IBZ_type) :: starting_k_points INTEGER :: nks TYPE(occupations_type) :: occupations_kind LOGICAL :: smearing_ispresent = .FALSE. TYPE(smearing_type) :: smearing TYPE(ks_energies_type), DIMENSION(:), ALLOCATABLE :: ks_energies INTEGER :: ndim_ks_energies ! END TYPE band_structure_type ! TYPE :: input_type ! CHARACTER(len=100) :: tagname LOGICAL :: lwrite = .FALSE. LOGICAL :: lread = .FALSE. ! TYPE(control_variables_type) :: control_variables TYPE(atomic_species_type) :: atomic_species TYPE(atomic_structure_type) :: atomic_structure TYPE(dft_type) :: dft TYPE(spin_type) :: spin TYPE(bands_type) :: bands TYPE(basis_type) :: basis TYPE(electron_control_type) :: electron_control TYPE(k_points_IBZ_type) :: k_points_IBZ TYPE(ion_control_type) :: ion_control TYPE(cell_control_type) :: cell_control LOGICAL :: symmetry_flags_ispresent = .FALSE. TYPE(symmetry_flags_type) :: symmetry_flags LOGICAL :: boundary_conditions_ispresent = .FALSE. TYPE(boundary_conditions_type) :: boundary_conditions LOGICAL :: ekin_functional_ispresent = .FALSE. TYPE(ekin_functional_type) :: ekin_functional LOGICAL :: external_atomic_forces_ispresent = .FALSE. TYPE(matrix_type) :: external_atomic_forces LOGICAL :: free_positions_ispresent = .FALSE. TYPE(integerMatrix_type) :: free_positions LOGICAL :: starting_atomic_velocities_ispresent = .FALSE. TYPE(matrix_type) :: starting_atomic_velocities LOGICAL :: electric_field_ispresent = .FALSE. TYPE(electric_field_type) :: electric_field LOGICAL :: atomic_constraints_ispresent = .FALSE. TYPE(atomic_constraints_type) :: atomic_constraints LOGICAL :: spin_constraints_ispresent = .FALSE. TYPE(spin_constraints_type) :: spin_constraints ! END TYPE input_type ! TYPE :: step_type ! CHARACTER(len=100) :: tagname LOGICAL :: lwrite = .FALSE. LOGICAL :: lread = .FALSE. ! INTEGER :: n_step TYPE(scf_conv_type) :: scf_conv TYPE(atomic_structure_type) :: atomic_structure TYPE(total_energy_type) :: total_energy TYPE(matrix_type) :: forces LOGICAL :: stress_ispresent = .FALSE. TYPE(matrix_type) :: stress LOGICAL :: FCP_force_ispresent = .FALSE. REAL(DP) :: FCP_force LOGICAL :: FCP_tot_charge_ispresent = .FALSE. REAL(DP) :: FCP_tot_charge ! END TYPE step_type ! TYPE :: outputElectricField_type ! CHARACTER(len=100) :: tagname LOGICAL :: lwrite = .FALSE. LOGICAL :: lread = .FALSE. ! LOGICAL :: BerryPhase_ispresent = .FALSE. TYPE(BerryPhaseOutput_type) :: BerryPhase LOGICAL :: finiteElectricFieldInfo_ispresent = .FALSE. TYPE(finiteFieldOut_type) :: finiteElectricFieldInfo LOGICAL :: dipoleInfo_ispresent = .FALSE. TYPE(dipoleOutput_type) :: dipoleInfo LOGICAL :: gateInfo_ispresent = .FALSE. TYPE(gateInfo_type) :: gateInfo ! END TYPE outputElectricField_type ! TYPE :: output_type ! CHARACTER(len=100) :: tagname LOGICAL :: lwrite = .FALSE. LOGICAL :: lread = .FALSE. ! TYPE(convergence_info_type) :: convergence_info TYPE(algorithmic_info_type) :: algorithmic_info TYPE(atomic_species_type) :: atomic_species TYPE(atomic_structure_type) :: atomic_structure LOGICAL :: symmetries_ispresent = .FALSE. TYPE(symmetries_type) :: symmetries TYPE(basis_set_type) :: basis_set TYPE(dft_type) :: dft LOGICAL :: boundary_conditions_ispresent = .FALSE. TYPE(outputPBC_type) :: boundary_conditions TYPE(magnetization_type) :: magnetization TYPE(total_energy_type) :: total_energy TYPE(band_structure_type) :: band_structure LOGICAL :: forces_ispresent = .FALSE. TYPE(matrix_type) :: forces LOGICAL :: stress_ispresent = .FALSE. TYPE(matrix_type) :: stress LOGICAL :: electric_field_ispresent = .FALSE. TYPE(outputElectricField_type) :: electric_field LOGICAL :: FCP_force_ispresent = .FALSE. REAL(DP) :: FCP_force LOGICAL :: FCP_tot_charge_ispresent = .FALSE. REAL(DP) :: FCP_tot_charge ! END TYPE output_type ! ! END MODULE qes_types_module