Commit 64322b1a authored by Matthias Redies's avatar Matthias Redies

Merge branch 'develop' into MetaGGA

parents a8d7d595 7377bd3d
......@@ -274,9 +274,9 @@ SUBROUTINE cdnval(eig_id, mpi,kpts,jspin,noco,input,banddos,cell,atoms,enpara,st
END DO
#endif
IF (mpi%irank==0) THEN
CALL cdnmt(input%jspins,atoms,sphhar,noco,jsp_start,jsp_end,&
CALL cdnmt(mpi,input%jspins,atoms,sphhar,noco,jsp_start,jsp_end,&
enpara,vTot%mt(:,0,:,:),denCoeffs,usdus,orb,denCoeffsOffdiag,moments,den%mt)
IF (mpi%irank==0) THEN
IF (l_coreSpec) CALL corespec_ddscs(jspin,input%jspins)
DO ispin = jsp_start,jsp_end
IF (input%cdinf) THEN
......
......@@ -34,7 +34,7 @@ SUBROUTINE genNewNocoInp(input,atoms,noco,noco_new)
alphdiff = 2.0*pi_const*(noco%qss(1)*atoms%taual(1,iAtom) + &
noco%qss(2)*atoms%taual(2,iAtom) + &
noco%qss(3)*atoms%taual(3,iAtom) )
noco_new%alph(iType) = noco%alph(iType) - alphdiff
noco_new%alph(iType) = noco_new%alph(iType) - alphdiff
DO WHILE (noco_new%alph(iType) > +pi_const)
noco_new%alph(iType)= noco_new%alph(iType) - 2.0*pi_const
END DO
......@@ -42,12 +42,12 @@ SUBROUTINE genNewNocoInp(input,atoms,noco,noco_new)
noco_new%alph(iType)= noco_new%alph(iType) + 2.0*pi_const
END DO
ELSE
noco_new%alph(iType) = noco%alph(iType)
noco_new%alph(iType) = noco_new%alph(iType)
END IF
iatom= iatom + atoms%neq(iType)
END DO
OPEN (24,file='nocoinp',form='formatted', status='old')
OPEN (24,file='nocoinp',form='formatted', status='unknown')
REWIND (24)
CALL rw_noco_write(atoms,noco_new, input)
CLOSE (24)
......
......@@ -8,7 +8,7 @@ cdn_mt/abclocdn_pulay.F90
cdn_mt/abcof.F90
cdn_mt/abcof3.F90
cdn_mt/abcrot2.f90
cdn_mt/cdnmt.f90
cdn_mt/cdnmt.F90
cdn_mt/cdncore.F90
cdn_mt/magMoms.f90
cdn_mt/orbMagMoms.f90
......
......@@ -10,7 +10,7 @@ MODULE m_cdnmt
! Philipp Kurz 2000-02-03
!***********************************************************************
CONTAINS
SUBROUTINE cdnmt(jspd,atoms,sphhar,noco,jsp_start,jsp_end,enpara,&
SUBROUTINE cdnmt(mpi,jspd,atoms,sphhar,noco,jsp_start,jsp_end,enpara,&
vr,denCoeffs,usdus,orb,denCoeffsOffdiag,moments,rho)
use m_constants,only: sfp_const
USE m_rhosphnlo
......@@ -19,6 +19,7 @@ CONTAINS
USE m_types
USE m_xmlOutput
IMPLICIT NONE
TYPE(t_mpi), INTENT(IN) :: mpi
TYPE(t_usdus), INTENT(INOUT) :: usdus !in fact only the lo part is intent(in)
TYPE(t_noco), INTENT(IN) :: noco
TYPE(t_sphhar), INTENT(IN) :: sphhar
......@@ -54,6 +55,7 @@ CONTAINS
CALL timestart("cdnmt")
IF (mpi%irank==0) THEN
IF (noco%l_mperp) THEN
IF (denCoeffsOffdiag%l_fmpl) THEN
!ALLOCATE ( rho21(atoms%jmtd,0:sphhar%nlhd,atoms%ntype) )
......@@ -244,6 +246,7 @@ CONTAINS
ENDDO
ENDDO
ENDIF !(mpi%irank==0) THEN
CALL timestop("cdnmt")
......
......@@ -39,6 +39,6 @@ elseif(${CMAKE_Fortran_COMPILER_ID} MATCHES "GNU")
message(FATAL_ERROR "Only modern versions of gfortran >6.3 will be able to compile FLEUR\nYou need to specify a different compiler.\nSee the docs at www.flapw.de.\n")
endif()
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -ffree-line-length-none -fopenmp -fdefault-real-8 -Wno-missing-include-dirs")
set(CMAKE_Fortran_FLAGS_RELEASE "${CMAKE_Fortran_FLAGS_RELEASE} -g")
set(CMAKE_Fortran_FLAGS_RELEASE "${CMAKE_Fortran_FLAGS_RELEASE} -O2 -g")
set(CMAKE_Fortran_FLAGS_DEBUG "${CMAKE_Fortran_FLAGS_DEBUG} -fdump-core -Wall -Wextra -Warray-temporaries -fbacktrace -fcheck=all -finit-real=nan -O0 -g -DCPP_DEBUG")
endif()
......@@ -473,6 +473,7 @@ CONTAINS
EXTERNAL blacs_pinfo, blacs_gridinit
INTEGER,EXTERNAL::numroc,indxl2g
ALLOCATE(mat%blacsdata)
mat%blacsdata%mpi_com=hmat%blacsdata%mpi_com
mat%global_size1=hmat%global_size1
mat%global_size2=hmat%global_size1
......
......@@ -71,6 +71,7 @@ CONTAINS
CALL elpa_obj%set("process_row", hmat%blacsdata%myrow, err)
CALL elpa_obj%set("process_col", hmat%blacsdata%mycol, err)
CALL elpa_obj%set("blacs_context", hmat%blacsdata%blacs_desc(2), err)
CALL elpa_obj%set("solver", ELPA_SOLVER_2STAGE)
err = elpa_obj%setup()
CALL hmat%generate_full_matrix()
......
......@@ -61,6 +61,11 @@ module m_corespec
real, allocatable :: eloss(:,:) ! efermi-eedge+egrid
integer :: nen ! minimum index for which egrid >=0
integer :: nqv ! no. of q vectors
integer :: nqphi ! no. of angle-sectors for integral over q vectors
integer :: nqr ! no. of radial-sectors for integral over q vectors
real :: alpha_ex ! maximal angle of incoming electrons
real :: beta_ex ! maximal (measured) angle of outcoming electrons
real :: I0 ! incoming intensity
real :: qv0 ! |q| of incoming electrons
real, allocatable :: qv1(:,:,:) ! |q| of outgoing electrons
real, allocatable :: qv(:,:,:,:) ! delta q vectors
......
This diff is collapsed.
......@@ -47,6 +47,12 @@ MODULE m_corespec_io
csi%emx = 20.d0
csi%ein = 0.1d0
csi%nqphi = 12
csi%nqr = 20
csi%alpha_ex=0.1
csi%beta_ex=0.08
csi%I0 = 10
! reading of input parameters from 'corespec_inp' file
call iounit(ui)
......@@ -76,6 +82,48 @@ MODULE m_corespec_io
! unit conversion if necessary
! if csi%verb = 1, detailed information is written to stdout
! csv%nqphi
if(csi%nqphi.lt.0) then
write(*,csmsgs) trim(smeno),"found csi%nqphi < 0 !"//csmsgerr ; stop
endif
csv%nqphi = csi%nqphi
if(csi%verb.eq.1) write(*,csmsgsis) trim(smeno),&
&"Mesh number of angles: ","csi%nqphi = ",csv%nqphi,"will be used"
! csi%nqr
if(csi%nqr.lt.0) then
write(*,csmsgs) trim(smeno),"found csi%nqr < 0 !"//csmsgerr ; stop
endif
csv%nqr = csi%nqr
if(csi%verb.eq.1) write(*,csmsgsis) trim(smeno),&
&"Mesh number of radii: ","csi%nqr = ",csv%nqr,"will be used"
! csi%alpha_ex
if(csi%alpha_ex.lt.0) then
write(*,csmsgs) trim(smeno),"found csi%alpha_ex < 0 !"//csmsgerr ; stop
endif
csv%alpha_ex = csi%alpha_ex
if(csi%verb.eq.1) write(*,csmsgsfs) trim(smeno),&
&"Experimental convergence angle of incoming e-: ","csi%alpha_ex = ",csv%alpha_ex,"will be used"
! csi%beta_ex
if(csi%beta_ex.lt.0) then
write(*,csmsgs) trim(smeno),"found csi%beta_ex < 0 !"//csmsgerr ; stop
endif
csv%beta_ex = csi%beta_ex
if(csi%verb.eq.1) write(*,csmsgsfs) trim(smeno),&
&"Experimental convergence angle of outgoing e-: ","csi%beta_ex = ",csv%beta_ex,"will be used"
! csi%I0
if(csi%I0.le.0) then
write(*,csmsgs) trim(smeno),"found csi%I0 <= 0 !"//csmsgerr ; stop
endif
csv%I0 = csi%I0
if(csi%verb.eq.1) write(*,csmsgsfs) trim(smeno),&
&"Intensity of incoming electrons: ","csi%I0 = ",csv%I0,"will be used"
! csi%atomType
if(csi%atomType.le.0) then
write(*,csmsgs) trim(smeno),"found csi%atomType <= 0 !"//csmsgerr ; stop
......@@ -233,4 +281,6 @@ MODULE m_corespec_io
!
!===============================================================================
end module m_corespec_io
......@@ -13,11 +13,12 @@ MODULE m_fleur_arguments
CHARACTER(len=200) :: values
END TYPE t_fleur_param
INTEGER,PARAMETER:: no_params=7
INTEGER,PARAMETER:: no_params=8
TYPE(t_fleur_param) :: fleur_param(no_params)=(/&
t_fleur_param(0,"-old","Generate input file for old fleur versions",""),&
t_fleur_param(0,"-explicit","write out k-point list, symmetry operations, and optional input to inp.xml",""),&
t_fleur_param(0,"-noco","write out noco parameters into inp.xml",""),&
t_fleur_param(0,"-genEnpara","generate an 'enpara' file",""),&
t_fleur_param(0,"-electronConfig","explicitely write the electron configuration into inp.xml",""),&
t_fleur_param(0,"-fast_defaults","generate more aggressive (and less stable) input parameters for faster calculations",""),&
......
......@@ -30,6 +30,7 @@ CONTAINS
CALL print_argument("-old")
CALL print_argument("-genEnpara")
CALL print_argument("-explicit")
CALL print_argument("-noco")
CALL print_argument("-electronConfig")
CALL print_argument("-fast_defaults")
CALL print_argument("-kpts_gw")
......
......@@ -34,6 +34,7 @@ CONTAINS
USE m_calculator
USE m_constants
USE m_inpeig
USE m_inpnoco
USE m_sort
USE m_types_xcpot_inbuild
#ifdef CPP_LIBXC
......@@ -122,7 +123,7 @@ CONTAINS
REAL :: tauTemp(3,48)
REAL :: bk(3)
LOGICAL :: flipSpin, l_eV, invSym, l_qfix, relaxX, relaxY, relaxZ
LOGICAL :: l_vca, coreConfigPresent, l_enpara, l_orbcomp, tempBool
LOGICAL :: l_vca, coreConfigPresent, l_enpara, l_orbcomp, tempBool, l_nocoinp
REAL :: magMom, radius, logIncrement, qsc(3), latticeScale, dr
REAL :: aTemp, zp, rmtmax, sumWeight, ldau_u(4), ldau_j(4), tempReal
REAL :: weightScale, eParamUp, eParamDown
......@@ -1987,6 +1988,11 @@ input%preconditioning_param = evaluateFirstOnly(xmlGetAttributeValue('/fleurInpu
coreSpecInput%emx = evaluateFirstOnly(xmlGetAttributeValue(TRIM(ADJUSTL(xPathA))//'/@eMax'))
tempInt = evaluateFirstIntOnly(xmlGetAttributeValue(TRIM(ADJUSTL(xPathA))//'/@numPoints'))
coreSpecInput%ein = (coreSpecInput%emx - coreSpecInput%emn) / (tempInt - 1.0)
coreSpecInput%nqphi = evaluateFirstIntOnly(xmlGetAttributeValue(TRIM(ADJUSTL(xPathA))//'/@nqphi'))
coreSpecInput%nqr = evaluateFirstIntOnly(xmlGetAttributeValue(TRIM(ADJUSTL(xPathA))//'/@nqr'))
coreSpecInput%alpha_ex = evaluateFirstOnly(xmlGetAttributeValue(TRIM(ADJUSTL(xPathA))//'/@alpha_Ex'))
coreSpecInput%beta_ex = evaluateFirstOnly(xmlGetAttributeValue(TRIM(ADJUSTL(xPathA))//'/@beta_Ex'))
coreSpecInput%I0 = evaluateFirstOnly(xmlGetAttributeValue(TRIM(ADJUSTL(xPathA))//'/@I_initial'))
xPathB = TRIM(ADJUSTL(xPathA))//'/edgeIndices'
xPathB = TRIM(ADJUSTL(xPathB))//'/text()'
valueString = xmlGetAttributeValue(TRIM(ADJUSTL(xPathB)))
......@@ -2130,6 +2136,13 @@ input%preconditioning_param = evaluateFirstOnly(xmlGetAttributeValue('/fleurInpu
CALL enpara%READ(atoms,input%jspins,input%film,.FALSE.)
END IF
! Read in nocoinp file iff available
l_nocoinp = .FALSE.
INQUIRE (file ='nocoinp',exist= l_nocoinp)
IF (l_nocoinp) THEN
CALL inpnoco(atoms,input,vacuum,noco)
END IF
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!! End of non-XML input
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
......
......@@ -122,7 +122,7 @@ SUBROUTINE w_inpXML(&
IF (PRESENT(name_opt)) name=name_opt
l_explicit = l_explicitIn.OR.l_outFile
l_nocoOpt = noco%l_noco!.OR.juDFT_was_argument("-noco")
l_nocoOpt = noco%l_noco.OR.juDFT_was_argument("-noco")
symFilename = 'sym.out'
kptGamma = l_gamma
......
......@@ -707,6 +707,11 @@
<xsd:attribute name="eMax" type="xsd:double" use="required"/>
<xsd:attribute name="numPoints" type="xsd:positiveInteger" use="required"/>
<xsd:attribute default="F" name="verbose" type="FleurBool" use="optional"/>
<xsd:attribute default="10" name="nqphi" type="xsd:positiveInteger" use="optional"/>
<xsd:attribute default="10" name="nqr" type="xsd:positiveInteger" use="optional"/>
<xsd:attribute default="0.024" name="alpha_Ex" type="xsd:double" use="optional"/>
<xsd:attribute default="0.05" name="beta_Ex" type="xsd:double" use="optional"/>
<xsd:attribute default="155" name="I_initial" type="xsd:double" use="optional"/>
</xsd:complexType>
<xsd:complexType name="MagneticCircularDichroismType">
......
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -83,7 +83,7 @@ CONTAINS
use m_juDFT_args
use m_juDFT_string
IMPLICIT NONE
INTEGER :: i,ierr,pid,dt(8)
INTEGER :: i,ierr(2),pid,dt(8)
CHARACTER(len=200) :: model, modelname, VmPeak, VmSize, VmData, VmStk, VmExe, VmSwap
INTEGER(8) :: r
#ifdef CPP_MPI
......@@ -136,8 +136,8 @@ CONTAINS
!Send using curl
call execute_command_line(&
'curl -X POST -H "Content-Type: application/json" -d @usage.json https://docker.iff.kfa-juelich.de/fleur-usage-stats/',&
exitstat=ierr)
if(ierr == 0) then
exitstat=ierr(1), cmdstat=ierr(2))
if(all(ierr == 0)) then
write (*,*) "Usage data send using curl: usage.json"
else
write (*,*) "Usage data sending failed"
......
......@@ -43,6 +43,10 @@ SUBROUTINE cdngen(eig_id,mpi,input,banddos,sliceplot,vacuum,&
IMPLICIT NONE
#ifdef CPP_MPI
INCLUDE 'mpif.h'
#endif
! Type instance arguments
TYPE(t_results),INTENT(INOUT) :: results
TYPE(t_mpi),INTENT(IN) :: mpi
......@@ -53,7 +57,7 @@ SUBROUTINE cdngen(eig_id,mpi,input,banddos,sliceplot,vacuum,&
TYPE(t_sliceplot),INTENT(IN) :: sliceplot
TYPE(t_input),INTENT(IN) :: input
TYPE(t_vacuum),INTENT(IN) :: vacuum
TYPE(t_noco),INTENT(IN) :: noco
TYPE(t_noco),INTENT(INOUT) :: noco
TYPE(t_sym),INTENT(IN) :: sym
TYPE(t_stars),INTENT(IN) :: stars
TYPE(t_cell),INTENT(IN) :: cell
......@@ -82,8 +86,9 @@ SUBROUTINE cdngen(eig_id,mpi,input,banddos,sliceplot,vacuum,&
!Local Scalars
REAL :: fix, qtot, dummy,eFermiPrev
INTEGER :: jspin, jspmax
INTEGER :: jspin, jspmax, ierr
INTEGER :: dim_idx
#ifdef CPP_HDF
INTEGER(HID_T) :: banddosFile_id
#endif
......@@ -171,8 +176,10 @@ SUBROUTINE cdngen(eig_id,mpi,input,banddos,sliceplot,vacuum,&
CALL juDFT_end("slice OK",mpi%irank)
END IF
CALL timestart("cdngen: cdncore")
CALL cdncore(mpi,dimension,oneD,input,vacuum,noco,sym,&
stars,cell,sphhar,atoms,vTot,outDen,moments,results)
CALL timestop("cdngen: cdncore")
CALL enpara%calcOutParams(input,atoms,vacuum,regCharges)
......@@ -187,6 +194,8 @@ SUBROUTINE cdngen(eig_id,mpi,input,banddos,sliceplot,vacuum,&
!Calculate and write out spin densities at the nucleus and magnetic moments in the spheres
CALL magMoms(dimension,input,atoms,noco_new,vTot,moments)
noco = noco_new
!Generate and save the new nocoinp file if the directions of the local
!moments are relaxed or a constraint B-field is calculated.
IF (ANY(noco%l_relax(:atoms%ntype)).OR.noco%l_constr) THEN
......@@ -194,10 +203,23 @@ SUBROUTINE cdngen(eig_id,mpi,input,banddos,sliceplot,vacuum,&
END IF
IF (noco%l_soc) CALL orbMagMoms(input,atoms,noco,moments%clmom)
END IF
END IF ! mpi%irank == 0
#ifdef CPP_MPI
CALL MPI_BCAST(noco%l_ss,1,MPI_LOGICAL,0,mpi%mpi_comm,ierr)
CALL MPI_BCAST(noco%l_mperp,1,MPI_LOGICAL,0,mpi%mpi_comm,ierr)
CALL MPI_BCAST(noco%l_constr,1,MPI_LOGICAL,0,mpi%mpi_comm,ierr)
CALL MPI_BCAST(noco%mix_b,1,MPI_DOUBLE_PRECISION,0,mpi%mpi_comm,ierr)
CALL MPI_BCAST(noco%alphInit,atoms%ntype,MPI_DOUBLE_PRECISION,0,mpi%mpi_comm,ierr)
CALL MPI_BCAST(noco%alph,atoms%ntype,MPI_DOUBLE_PRECISION,0,mpi%mpi_comm,ierr)
CALL MPI_BCAST(noco%beta,atoms%ntype,MPI_DOUBLE_PRECISION,0,mpi%mpi_comm,ierr)
CALL MPI_BCAST(noco%b_con,atoms%ntype*2,MPI_DOUBLE_PRECISION,0,mpi%mpi_comm,ierr)
CALL MPI_BCAST(noco%l_relax,atoms%ntype,MPI_LOGICAL,0,mpi%mpi_comm,ierr)
CALL MPI_BCAST(noco%qss,3,MPI_DOUBLE_PRECISION,0,mpi%mpi_comm,ierr)
CALL mpi_bc_potden(mpi,stars,sphhar,atoms,input,vacuum,oneD,noco,outDen)
#endif
......
......@@ -459,6 +459,8 @@ CONTAINS
END IF
END DO scfloop ! DO WHILE (l_cont)
CALL add_usage_data("Iterations",iter)
IF (mpi%irank.EQ.0) CALL closeXMLElement('scfLoop')
......
......@@ -13,7 +13,7 @@ MODULE m_fleur_arguments
CHARACTER(len=200) :: values
END TYPE t_fleur_param
INTEGER,PARAMETER:: no_params=23
INTEGER,PARAMETER:: no_params=24
TYPE(t_fleur_param) :: fleur_param(no_params)=(/&
!Input options
t_fleur_param(0,"-toXML","Convert an old 'inp' file into the new XML format",""),&
......@@ -61,6 +61,7 @@ MODULE m_fleur_arguments
t_fleur_param(0,"-no_out","Do not open the 'out' file but write to stdout",""),&
t_fleur_param(0,"-genEnpara","Generate an 'enpara' file for the energy parameters",""),&
t_fleur_param(0,"-kpts_gw","add alternative k point set for GW in all outputs for the XML input file",""),&
t_fleur_param(0,"-noco","write out noco parameters in all outputs for inp.xml",""),&
t_fleur_param(0,"-h","Print this message",""),&
t_fleur_param(0,"-no_send","Do not send usage data","")&
!HDF density
......
......@@ -67,6 +67,8 @@ CONTAINS
CALL print_argument("-sd")
CALL print_argument("-delden")
#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."
......
......@@ -523,7 +523,6 @@
CALL add_usage_data("SpinSpiral",noco%l_ss)
CALL add_usage_data("PlaneWaves",DIMENSION%nvd)
CALL add_usage_data("LOs",atoms%nlotot)
CALL add_usage_data("Iterations",input%itmax)
CALL add_usage_data("nkpt", kpts%nkpt)
#ifdef CPP_GPU
......
This diff is collapsed.
......@@ -174,7 +174,7 @@ SUBROUTINE plotdop(oneD,dimension,stars,vacuum,sphhar,atoms,&
! Open the plot_inp file for input
OPEN (18,file='plot_inp')
READ(18,'(i2,5x,l1,a)') nplot,xsf,textline
READ(18,'(i2,5x,l1,1x,a)') nplot,xsf,textline
polar = .FALSE.
IF ((noco%l_noco).AND.(numInFiles.EQ.4)) THEN
polar = (textline(1:7)=='polar=T').OR.(textline(1:7)=='polar=t')
......@@ -188,7 +188,7 @@ SUBROUTINE plotdop(oneD,dimension,stars,vacuum,sphhar,atoms,&
outFilenames(1) = 'plot'
ELSE
DO i = 1, numInFiles
outFilenames(i) = cdnFilenames(i)//'_pl'
outFilenames(i) = TRIM(ADJUSTL(cdnFilenames(i)))//'_pl'
END DO
IF (polar) THEN
outFilenames(5) = 'mabs_pl'
......
......@@ -105,10 +105,13 @@ CONTAINS
clmom(2) = qmtty
clmom(3) = qmtt
WRITE (6,FMT=8100) itype, (qmtl(l),l=0,3), qmtt
WRITE (6,FMT=8100) itype, (qmtlx(l),l=0,3),qmttx
WRITE (6,FMT=8100) itype, (qmtly(l),l=0,3),qmtty
8100 FORMAT (' -->',i2,2x,4f9.5,2x,f9.5)
! The following output was commented out, because the subroutine is now used in parallel.
! Jan. 2019 U.Alekseeva
!
! WRITE (6,FMT=8100) itype, (qmtl(l),l=0,3), qmtt
! WRITE (6,FMT=8100) itype, (qmtlx(l),l=0,3),qmttx
! WRITE (6,FMT=8100) itype, (qmtly(l),l=0,3),qmtty
!8100 FORMAT (' -->',i2,2x,4f9.5,2x,f9.5)
END SUBROUTINE orbmom2
END MODULE m_orbmom2
......@@ -545,6 +545,11 @@ MODULE m_types_setup
real :: emn ! energy spectrum lower bound
real :: emx ! energy spectrum upper bound
real :: ein ! energy spectrum increment
integer :: nqphi ! no. of angle-sectors for integral over q vectors
integer :: nqr ! no. of radial-sectors for integral over q vectors
real :: alpha_ex ! maximal angle of incoming electrons
real :: beta_ex ! maximal (measured) angle of outcoming electrons
real :: I0 ! incoming intensity
END TYPE t_coreSpecInput
......
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