Commit 19ffa031 authored by Henning Janssen's avatar Henning Janssen

Add writing out of basic green's function parameters in w_inpXML

parent 16c220c0
......@@ -34,6 +34,7 @@ PROGRAM inpgen
USE m_types_xcpot_inbuild_nofunction
USE m_types_forcetheo
USE m_types_kpts
USE m_types_gfinp
USE m_types_enpara
USE m_types_oneD
USE m_types_sliceplot
......@@ -64,6 +65,7 @@ PROGRAM inpgen
TYPE(t_oned) :: oned
TYPE(t_sliceplot):: sliceplot
TYPE(t_stars) :: stars
TYPE(t_gfinp) :: gfinp
CHARACTER(len=40):: kpts_str
LOGICAL :: l_exist
......@@ -139,7 +141,7 @@ PROGRAM inpgen
!CALL dump_FleurInputSchema()
CALL w_inpxml(&
atoms,vacuum,input,stars,sliceplot,forcetheo,banddos,&
cell,sym,xcpot,noco,oneD,mpinp,hybinp,kpts,enpara,&
cell,sym,xcpot,noco,oneD,mpinp,hybinp,kpts,enpara,gfinp,&
l_explicit,l_include,"inp.xml")
if (.not.l_include(1)) CALL sym%print_XML(99,"sym.xml")
ENDIF
......
......@@ -21,6 +21,7 @@ CONTAINS
CALL new_argument(0,"-explicit","Write out k-point list, symmetry operations, and optional input to inp.xml","")
CALL new_argument(0,"-kpts_gw","add alternative k point set for GW in all outputs for the XML input file","")
CALL new_argument(0,"-noco","write out noco parameters into inp.xml","")
CALL new_argument(0,"-greensf","write out green's function parameters into inp.xml","")
CALL new_argument(0,"-electronConfig","explicitely write the electron configuration into inp.xml","")
CALL new_argument(0,"-fast_defaults","generate more aggressive (and less stable) input parameters for faster calculations","")
CALL new_argument(0,"-inp.xml","modify existing inp.xml file","")
......@@ -60,6 +61,7 @@ CONTAINS
CALL print_argument("-inc")
CALL print_argument("-overwrite")
CALL print_argument("-noco")
CALL print_argument("-greensf")
CALL print_argument("-warn_only")
CALL print_argument("-specialk")
CALL print_argument("-trace")
......
......@@ -18,7 +18,7 @@ MODULE m_winpXML
CONTAINS
SUBROUTINE w_inpXML( &
atoms, vacuum, input, stars, sliceplot, forcetheo, banddos, &
cell, sym, xcpot, noco, oneD, mpinp, hybinp, kpts, enpara, &
cell, sym, xcpot, noco, oneD, mpinp, hybinp, kpts, enpara, gfinp, &
l_explicitIn, l_includeIn, filename)
use m_types_input
......@@ -30,6 +30,7 @@ CONTAINS
use m_types_oneD
use m_types_mpinp
use m_types_hybinp
use m_types_gfinp
use m_types_cell
use m_types_banddos
use m_types_sliceplot
......@@ -62,6 +63,7 @@ CONTAINS
TYPE(t_sliceplot), INTENT(IN):: sliceplot
CLASS(t_xcpot), INTENT(IN) :: xcpot
TYPE(t_noco), INTENT(IN) :: noco
TYPE(t_gfinp), INTENT(IN) :: gfinp
CLASS(t_enparaxml), INTENT(IN) :: enpara
CLASS(t_forcetheo), INTENT(IN):: forcetheo !nothing is done here so far....
LOGICAL, INTENT(IN) :: l_explicitIn, l_includeIn(4)
......@@ -114,7 +116,7 @@ CONTAINS
CHARACTER(len=20) :: mixingScheme
CHARACTER(len=10) :: loType
CHARACTER(len=10) :: bzIntMode
LOGICAL :: l_explicit, l_nocoOpt, l_include(4)
LOGICAL :: l_explicit, l_nocoOpt, l_gfOpt, l_include(4)
INTEGER :: iAtomType, startCoreStates, endCoreStates
CHARACTER(len=100) :: posString(3)
CHARACTER(len=7) :: str
......@@ -124,6 +126,7 @@ CONTAINS
l_include = l_includeIn .or. .not. present(filename)
l_explicit = l_explicitIn .OR. .not. present(filename)
l_nocoOpt = noco%l_noco .OR. juDFT_was_argument("-noco")
l_gfOpt = gfinp%n>0 .OR. juDFT_was_argument("-greensf")
band = .false.
nw = 1
......@@ -229,6 +232,30 @@ CONTAINS
195 FORMAT(' <ldaU l_linMix="', l1, '" mixParam="', f0.6, '" spinf="', f0.6, '"/>')
WRITE (fileNum, 195) input%ldauLinMix, input%ldauMixParam, input%ldauSpinf
IF(l_gfOpt) THEN
205 FORMAT(' <greensFunction l_sphavg="', l1, '" l_mperp="', l1'">')
WRITE(fileNum, 205) gfinp%l_sphavg, gfinp%l_mperp
206 FORMAT(' <realAxis ne="', i0, '" ellow="', f0.8, '" ellup="', f0.8, '"/>')
WRITE(fileNum, 206) gfinp%ne, gfinp%ellow, gfinp%elup
SELECT CASE(gfinp%mode)
CASE(1)
207 FORMAT(' <contourRectangle n1="', i0, '" n2="', i0, '" n3="', i0, '" nmatsub="', i0,&
'" sigma="', f0.8, '" eb="', f0.8, '"/>')
WRITE(fileNum, 207) gfinp%n1, gfinp%n2, gfinp%n3, gfinp%nmatsub, gfinp%sigma, gfinp%eb
CASE(2)
208 FORMAT(' <contourSemicircle n="', i0, '" eb="', f0.8, '" et="', f0.8, '" alpha="', f0.8, '"/>')
WRITE(fileNum, 208) gfinp%ncirc, gfinp%eb, gfinp%et, gfinp%alpha
CASE(3)
209 FORMAT(' <contourDOS n="', i0, '" sigma="', f0.8, '" eb="', f0.8, '" et="', f0.8, &
'" analytical_cont="', l1, '" l_fermi="', l1, '"/>')
WRITE(fileNum, 209) gfinp%nDOS, gfinp%sigmaDOS, gfinp%eb, gfinp%et, gfinp%l_anacont, gfinp%l_dosfermi
CASE DEFAULT
CALL judft_error("Unknown green's function contour mode", calledby="w_inpXML")
END SELECT
WRITE(fileNum, '(a)') ' </greensFunction>'
ENDIF
! <bzIntegration valenceElectrons="8.00000" mode="hist" fermiSmearingEnergy="0.00100">
200 FORMAT(' <bzIntegration valenceElectrons="', f0.8, '" mode="', a, '" fermiSmearingEnergy="', f0.8, '">')
WRITE (fileNum, 200) input%zelec, TRIM(ADJUSTL(bzIntMode)), input%tkb
......
......@@ -14,15 +14,14 @@ CONTAINS
USE m_juDFT
USE m_check_arguments
IMPLICIT NONE
CHARACTER(:), ALLOCATABLE:: infostring
PRINT *," Welcome to FLEUR (www.flapw.de) "
PRINT *, version_const_MaX
CALL add_fleur_arguments()
IF (.NOT.check_arguments()) CALL judft_warn("Invalid command line arguments",hint="Use -h option to see valid choices")
IF (.NOT. judft_was_argument("-h")) RETURN
!now print version info and help on command line arguments:
......@@ -73,7 +72,7 @@ CONTAINS
#endif
WRITE (*,'(a)') "Options for privacy sensitive users"
CALL print_argument("-no_send")
WRITE(*,'(a)')""
WRITE(*,'(a)')"Please check the documentation on www.flapw.de for more details."
......@@ -82,7 +81,7 @@ CONTAINS
SUBROUTINE add_fleur_arguments()
USE m_check_arguments
CALL new_argument(0,"-toXML","Convert an old 'inp' file into the new XML format","")
CALL new_argument(1,"-xmlXPath","modify the xml-xpath of the inp.xml file","")
!Control the job
......@@ -119,7 +118,7 @@ CONTAINS
#ifdef CPP_GPU
//",cusolver"&
#endif
)
)
CALL new_argument(1,"-eig","Method for storing the eigenvectors","mem,da"&
#ifdef CPP_MPI
//",mpi"&
......@@ -128,18 +127,19 @@ CONTAINS
//",hdf"&
#endif
)
!Debugging
CALL new_argument(0,"-warn_only","Continue execution after a warning message","")
CALL new_argument(0,"-trace","Try to generate a stacktrace in case of an error","")
!Debugging
CALL new_argument(0,"-warn_only","Continue execution after a warning message","")
CALL new_argument(0,"-trace","Try to generate a stacktrace in case of an error","")
CALL new_argument(0,"-debugtime","Write the start/stop of all timers to the console","")
CALL new_argument(0,"-all_times","Write json files of timing for all PE, not only for PE=0","")
!Output
CALL new_argument(0,"-mix_io","Do not store mixing history in memory but do IO in each iteration","")
CALL new_argument(0,"-mix_io","Do not store mixing history in memory but do IO in each iteration","")
CALL new_argument(0,"-no_out","Do not open the 'out' file but write to stdout","")
CALL new_argument(0,"-minimalOutput","Reduce the amount of output in the out.xml file","")
CALL new_argument(0,"-genEnpara","Generate an 'enpara' file for the energy parameters","")
CALL new_argument(0,"-gw","Add alternative k point set for GW in all outputs for the XML input file","")
CALL new_argument(0,"-noco","write out noco parameters in all outputs for inp.xml","")
CALL new_argument(0,"-minimalOutput","Reduce the amount of output in the out.xml file","")
CALL new_argument(0,"-genEnpara","Generate an 'enpara' file for the energy parameters","")
CALL new_argument(0,"-gw","Add alternative k point set for GW in all outputs for the XML input file","")
CALL new_argument(0,"-noco","write out noco parameters in all outputs for inp.xml","")
CALL new_argument(0,"-greensf","write out green's function parameters in all outputs for inp.xml","")
CALL new_argument(0,"-h","Print this message","")
CALL new_argument(0,"-no_send","Do not send usage data","")
!HDF density
......
......@@ -167,7 +167,7 @@ CONTAINS
IF (mpi%irank.EQ.0) THEN
CALL w_inpXML(&
atoms,vacuum,input,stars,sliceplot,forcetheo,banddos,&
cell,sym,xcpot,noco,oneD,mpinp,hybinp,kpts,enpara,&
cell,sym,xcpot,noco,oneD,mpinp,hybinp,kpts,enpara,gfinp,&
.TRUE.,[.TRUE.,.TRUE.,.TRUE.,.TRUE.])
END IF
!
......
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