Commit 58dd69f1 authored by giannozz's avatar giannozz

xml input should now work for DFT+U+SO case


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/[email protected] c92efa57-630b-4861-b058-cf58834340f0
parent fd7d2618
......@@ -86,6 +86,7 @@ CONTAINS
CASE ('ATOMIC_SPECIES')
atom_mass = 0.0_DP
hubbard_u = 0.0_DP
hubbard_j = 0.0_DP
hubbard_j0 = 0.0_DP
hubbard_alpha = 0.0_DP
hubbard_beta = 0.0_DP
......@@ -194,6 +195,7 @@ CONTAINS
CALL mp_bcast( atom_label, ionode_id, intra_image_comm )
CALL mp_bcast( taspc, ionode_id, intra_image_comm )
CALL mp_bcast( hubbard_u, ionode_id, intra_image_comm )
CALL mp_bcast( hubbard_j, ionode_id, intra_image_comm )
CALL mp_bcast( hubbard_j0, ionode_id, intra_image_comm )
CALL mp_bcast( hubbard_alpha, ionode_id, intra_image_comm )
CALL mp_bcast( hubbard_beta, ionode_id, intra_image_comm )
......@@ -210,12 +212,10 @@ CONTAINS
CASE ( 'ATOMIC_LIST' )
CALL mp_bcast( atomic_positions, ionode_id, intra_image_comm )
CALL mp_bcast( nat, ionode_id, intra_image_comm )
! CALL mp_bcast( num_of_images, ionode_id, intra_image_comm )
! ... ionode has already done it inside card_xml_atomic_list
IF (.not.ionode) THEN
CALL allocate_input_ions( ntyp, nat )
END IF
! CALL mp_bcast( pos, ionode_id )
CALL mp_bcast( if_pos, ionode_id, intra_image_comm )
CALL mp_bcast( na_inp, ionode_id, intra_image_comm )
CALL mp_bcast( sp_pos, ionode_id, intra_image_comm )
......@@ -710,6 +710,10 @@ CONTAINS
CALL iotk_scan_dat_inside( xmlinputunit, hubbard_u( is ),&
ierr = ierr)
!
CASE ( 'hubbard_j' )
CALL iotk_scan_dat_inside( xmlinputunit, hubbard_j( :, is ),&
ierr = ierr)
!
CASE ( 'hubbard_j0' )
CALL iotk_scan_dat_inside( xmlinputunit, hubbard_j0( is ),&
ierr = ierr)
......
......@@ -234,9 +234,6 @@ CONTAINS
CALL iotk_scan_dat_inside( xmlinputunit, tmpstr, ierr = ierr )
correlation_grad_corr = clean_str(tmpstr)
!
! CASE ( 'damp' )
! CALL iotk_scan_dat_inside( xmlinputunit, damp, ierr = ierr )
! !
CASE ( 'degauss' )
CALL iotk_scan_dat_inside( xmlinputunit, degauss, ierr = ierr )
!
......@@ -266,9 +263,6 @@ CONTAINS
CALL iotk_scan_dat_inside( xmlinputunit, tmpstr, ierr = ierr )
disk_io = clean_str(tmpstr)
!
! CASE ( 'ds' )
! CALL iotk_scan_dat_inside( xmlinputunit, ds, ierr = ierr )
!
CASE ( 'dthr' )
CALL iotk_scan_dat_inside( xmlinputunit, dthr, ierr = ierr )
!
......@@ -367,9 +361,6 @@ CONTAINS
CALL iotk_scan_dat_inside( xmlinputunit, tmpstr, ierr = ierr )
exchange_grad_corr = clean_str(tmpstr)
!
! CASE ( 'first_last_opt' )
! CALL iotk_scan_dat_inside( xmlinputunit, first_last_opt, ierr = ierr )
!
CASE ( 'fixed_magnetization' )
CALL iotk_scan_dat_inside( xmlinputunit, fixed_magnetization, ierr = ierr )
!
......@@ -400,12 +391,6 @@ CONTAINS
CASE ( 'greasp' )
CALL iotk_scan_dat_inside( xmlinputunit, greasp, ierr = ierr )
!
! CASE ( 'k_max' )
! CALL iotk_scan_dat_inside( xmlinputunit, k_max, ierr = ierr )
!
! CASE ( 'k_min' )
! CALL iotk_scan_dat_inside( xmlinputunit, k_min, ierr = ierr )
!
CASE ( 'iprint' )
CALL iotk_scan_dat_inside( xmlinputunit, iprint, ierr = ierr )
!
......@@ -601,10 +586,6 @@ CONTAINS
CALL iotk_scan_dat_inside( xmlinputunit, tmpstr, ierr = ierr )
occupations = clean_str(tmpstr)
!
! CASE ( 'opt_scheme' )
! CALL iotk_scan_dat_inside( xmlinputunit, tmpstr, ierr = ierr )
! opt_scheme = clean_str(tmpstr)
!
CASE ( 'ortho_eps' )
CALL iotk_scan_dat_inside( xmlinputunit, ortho_eps, ierr = ierr )
!
......@@ -631,13 +612,6 @@ CONTAINS
CASE ( 'passop' )
CALL iotk_scan_dat_inside( xmlinputunit, passop, ierr = ierr )
!
! CASE ( 'path_thr' )
! CALL iotk_scan_dat_inside( xmlinputunit, path_thr, ierr = ierr )
!
! CASE ( 'phase_space' )
! CALL iotk_scan_dat_inside( xmlinputunit, tmpstr, ierr = ierr )
! phase_space = clean_str(tmpstr)
!
CASE ( 'pot_extrapolation' )
CALL iotk_scan_dat_inside( xmlinputunit, tmpstr, ierr = ierr )
pot_extrapolation = clean_str(tmpstr)
......@@ -707,9 +681,6 @@ CONTAINS
CASE ( 'tefield' )
CALL iotk_scan_dat_inside( xmlinputunit, tefield, ierr = ierr )
!
! CASE ( 'temp_req' )
! CALL iotk_scan_dat_inside( xmlinputunit, temp_req, ierr = ierr )
!
CASE ( 'temph' )
CALL iotk_scan_dat_inside( xmlinputunit, temph, ierr = ierr )
!
......@@ -750,12 +721,6 @@ CONTAINS
CALL iotk_scan_dat_inside( xmlinputunit, tmpstr, ierr = ierr )
U_projection_type = clean_str(tmpstr)
!
! CASE ( 'use_masses' )
! CALL iotk_scan_dat_inside( xmlinputunit, use_masses, ierr = ierr )
!
! CASE ( 'use_freezing' )
! CALL iotk_scan_dat_inside( xmlinputunit, use_freezing, ierr = ierr )
!
CASE ( 'upscale' )
CALL iotk_scan_dat_inside( xmlinputunit, upscale, ierr = ierr )
!
......
......@@ -107,11 +107,12 @@ cat > Fe.scf_pbe.xml << EOF
<property name="starting_magnetization">
<real>0.5</real>
</property>
<property name="hubbard_u">
<property name="hubbard_u">
<real>2.2</real>
</property>
<property name="hubbard_j0">
<real>1.75</real>
<property name="hubbard_j">
<real rank="1" n1="3">
1.75 0.0 0.0</real>
</property>
<property name="angle1">
<real>90.0</real>
......@@ -170,6 +171,14 @@ cat > Fe.scf_pbe.xml << EOF
</parameter>
</field>
<field name="XC_Functional">
<parameter name="lda_plus_u">
<logical>
true
</logical>
</parameter>
</field>
<field name="Options">
......@@ -187,7 +196,7 @@ cat > Fe.scf_pbe.xml << EOF
<parameter name="degauss">
<real>
0.04
0.01
</real>
</parameter>
......@@ -252,11 +261,12 @@ cat > Fe.band_pbe.xml << EOF
<property name="starting_magnetization">
<real>0.5</real>
</property>
<property name="hubbard_u">
<property name="hubbard_u">
<real>2.2</real>
</property>
<property name="hubbard_j0">
<real>1.75</real>
<property name="hubbard_j">
<real rank="1" n1="3">
1.75 0.0 0.0</real>
</property>
<property name="angle1">
<real>90.0</real>
......@@ -315,6 +325,14 @@ cat > Fe.band_pbe.xml << EOF
</parameter>
</field>
<field name="XC_Functional">
<parameter name="lda_plus_u">
<logical>
true
</logical>
</parameter>
</field>
<field name="Options">
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment