Commit 53bfe67c authored by Robin Hilgers's avatar Robin Hilgers

All plot tests working correctly again.

parent ceec974f
...@@ -22,6 +22,7 @@ SUBROUTINE cdngen(eig_id,mpi,input,banddos,sliceplot,vacuum,& ...@@ -22,6 +22,7 @@ SUBROUTINE cdngen(eig_id,mpi,input,banddos,sliceplot,vacuum,&
USE m_juDFT USE m_juDFT
USE m_prpqfftmap USE m_prpqfftmap
USE m_cdnval USE m_cdnval
USE m_plot
USE m_cdn_io USE m_cdn_io
USE m_wrtdop USE m_wrtdop
USE m_cdntot USE m_cdntot
...@@ -160,6 +161,7 @@ SUBROUTINE cdngen(eig_id,mpi,input,banddos,sliceplot,vacuum,& ...@@ -160,6 +161,7 @@ SUBROUTINE cdngen(eig_id,mpi,input,banddos,sliceplot,vacuum,&
IF (mpi%irank == 0) THEN IF (mpi%irank == 0) THEN
CALL writeDensity(stars,noco,vacuum,atoms,cell,sphhar,input,sym,oneD,CDN_ARCHIVE_TYPE_CDN_const,CDN_INPUT_DEN_const,& CALL writeDensity(stars,noco,vacuum,atoms,cell,sphhar,input,sym,oneD,CDN_ARCHIVE_TYPE_CDN_const,CDN_INPUT_DEN_const,&
0,-1.0,0.0,.FALSE.,outDen,'cdn_slice') 0,-1.0,0.0,.FALSE.,outDen,'cdn_slice')
IF (sliceplot%iplot.EQ.1) CALL makeplots(stars, atoms, sphhar, vacuum, input, oneD, sym, cell, noco, outDen, 1, sliceplot)
END IF END IF
CALL juDFT_end("slice OK",mpi%irank) CALL juDFT_end("slice OK",mpi%irank)
END IF END IF
......
...@@ -890,7 +890,7 @@ CONTAINS ...@@ -890,7 +890,7 @@ CONTAINS
END SUBROUTINE matrixplot END SUBROUTINE matrixplot
SUBROUTINE procplot(stars, atoms, sphhar, vacuum, input, oneD, sym, cell, & SUBROUTINE procplot(stars, atoms, sphhar, sliceplot,vacuum, input, oneD, sym, cell, &
noco, denmat, plot_const) noco, denmat, plot_const)
! According to iplot, we process which exact plots we make after we assured ! According to iplot, we process which exact plots we make after we assured
...@@ -902,6 +902,7 @@ CONTAINS ...@@ -902,6 +902,7 @@ CONTAINS
TYPE(t_stars), INTENT(IN) :: stars TYPE(t_stars), INTENT(IN) :: stars
TYPE(t_atoms), INTENT(IN) :: atoms TYPE(t_atoms), INTENT(IN) :: atoms
TYPE(t_sphhar), INTENT(IN) :: sphhar TYPE(t_sphhar), INTENT(IN) :: sphhar
TYPE(t_sliceplot), INTENT(IN) :: sliceplot
TYPE(t_vacuum), INTENT(IN) :: vacuum TYPE(t_vacuum), INTENT(IN) :: vacuum
TYPE(t_input), INTENT(IN) :: input TYPE(t_input), INTENT(IN) :: input
TYPE(t_oneD), INTENT(IN) :: oneD TYPE(t_oneD), INTENT(IN) :: oneD
...@@ -921,7 +922,8 @@ CONTAINS ...@@ -921,7 +922,8 @@ CONTAINS
! Additive term for iplot: 2 ! Additive term for iplot: 2
IF (plot_const.EQ.1) THEN IF (plot_const.EQ.1) THEN
factor = 1.0 factor = 1.0
denName = 'denIn' IF(sliceplot%slice) denName='slice'
IF(.NOT.sliceplot%slice)denName = 'denIn'
score = .FALSE. score = .FALSE.
potnorm = .FALSE. potnorm = .FALSE.
IF (input%jspins.EQ.2) THEN IF (input%jspins.EQ.2) THEN
...@@ -1154,7 +1156,7 @@ CONTAINS ...@@ -1154,7 +1156,7 @@ CONTAINS
allowplot=BTEST(sliceplot%iplot,plot_const).OR.(MODULO(sliceplot%iplot,2).EQ.1) allowplot=BTEST(sliceplot%iplot,plot_const).OR.(MODULO(sliceplot%iplot,2).EQ.1)
IF (allowplot) THEN IF (allowplot) THEN
CALL checkplotinp() CALL checkplotinp()
CALL procplot(stars, atoms, sphhar, vacuum, input, oneD, sym, cell, & CALL procplot(stars, atoms, sphhar,sliceplot, vacuum, input, oneD, sym, cell, &
noco, denmat, plot_const) noco, denmat, plot_const)
END IF END IF
CALL timestop("Plotting iplot plots") CALL timestop("Plotting iplot plots")
......
...@@ -24,7 +24,7 @@ ...@@ -24,7 +24,7 @@
</cell> </cell>
<xcFunctional name="pbe" relativisticCorrections="F"/> <xcFunctional name="pbe" relativisticCorrections="F"/>
<atomSpecies> <atomSpecies>
<species name="Si-1" element="Si" atomicNumber="14" coreStates="4" magMom=".00000000" flipSpin="T"> <species name="Si-1" element="Si" atomicNumber="14" coreStates="4" magMom=".00000000" flipSpinPhi=".00000000" flipSpinTheta="0.000000" flipSpinScale="F">
<mtSphere radius="2.16000000" gridPoints="521" logIncrement=".02200000"/> <mtSphere radius="2.16000000" gridPoints="521" logIncrement=".02200000"/>
<atomicCutoffs lmax="8" lnonsphr="6"/> <atomicCutoffs lmax="8" lnonsphr="6"/>
<energyParameters s="3" p="3" d="3" f="4"/> <energyParameters s="3" p="3" d="3" f="4"/>
...@@ -51,7 +51,7 @@ ...@@ -51,7 +51,7 @@
<checks vchk="F" cdinf="F" disp="F"/> <checks vchk="F" cdinf="F" disp="F"/>
<densityOfStates ndir="0" minEnergy="-.50000000" maxEnergy=".50000000" sigma=".01500000"/> <densityOfStates ndir="0" minEnergy="-.50000000" maxEnergy=".50000000" sigma=".01500000"/>
<vacuumDOS layers="0" integ="F" star="F" nstars="0" locx1=".00000" locy1=".00000" locx2=".00000" locy2=".00000" nstm="0" tworkf=".00000"/> <vacuumDOS layers="0" integ="F" star="F" nstars="0" locx1=".00000" locy1=".00000" locx2=".00000" locy2=".00000" nstm="0" tworkf=".00000"/>
<plotting iplot="0"/> <plotting iplot="2"/>
<chargeDensitySlicing numkpt="2" minEigenval="-0.28" maxEigenval="-0.14" nnne="0" pallst="T"/> <chargeDensitySlicing numkpt="2" minEigenval="-0.28" maxEigenval="-0.14" nnne="0" pallst="T"/>
<specialOutput eonly="F" bmt="F"/> <specialOutput eonly="F" bmt="F"/>
</output> </output>
......
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<fleurInput fleurInputVersion="0.28">
<comment>
Si (111) film 6 layers
</comment>
<calculationSetup>
<cutoffs Kmax="3.60000000" Gmax="11.00000000" GmaxXC="9.20000000" numbands="0"/>
<scfLoop itmax="1" minDistance=".00000000" maxIterBroyd="99" imix="Anderson" alpha=".05000000" spinf="2.00000000"/>
<coreElectrons ctail="T" frcor="F" kcrel="0" coretail_lmax="0"/>
<magnetism jspins="1" l_noco="F" l_J="F" swsp="F" lflip="F"/>
<soc theta=".00000000" phi=".00000000" l_soc="F" spav="F" off="F"/>
<expertModes gw="0" pot8="F" isec1="99" secvar="F"/>
<bzIntegration valenceElectrons="24.00000000" mode="hist" fermiSmearingEnergy=".00100000">
<kPointMesh nx="3" ny="3" nz="1" gamma="F"/>
</bzIntegration>
<energyParameterLimits ellow="-.80000000" elup=".50000000"/>
</calculationSetup>
<cell>
<symmetryFile filename="sym.out"/>
<filmLattice scale="1.00000000" latnam="hx3" dVac="18.28000000" dTilda="21.47000000">
<a1>7.3102000000</a1>
<vacuumEnergyParameters vacuum="1" spinUp="-.25000000" spinDown="-.25000000"/>
</filmLattice>
</cell>
<xcFunctional name="pbe" relativisticCorrections="F"/>
<atomSpecies>
<species name="Si-1" element="Si" atomicNumber="14" coreStates="4" magMom=".00000000" flipSpin="T">
<mtSphere radius="2.16000000" gridPoints="521" logIncrement=".02200000"/>
<atomicCutoffs lmax="8" lnonsphr="6"/>
<energyParameters s="3" p="3" d="3" f="4"/>
</species>
</atomSpecies>
<atomGroups>
<atomGroup species="Si-1">
<filmPos label=" 1">.0000000000 .0000000000 6.7148425000</filmPos>
<filmPos label=" 6">.0000000000 .0000000000 -6.7148425000</filmPos>
<force calculate="T" relaxXYZ="TTT"/>
</atomGroup>
<atomGroup species="Si-1">
<filmPos label=" 2">-1.000/3.000 1.000/3.000 5.2226555000</filmPos>
<filmPos label=" 5">1.000/3.000 -1.000/3.000 -5.2226555000</filmPos>
<force calculate="T" relaxXYZ="TTT"/>
</atomGroup>
<atomGroup species="Si-1">
<filmPos label=" 3">-1.000/3.000 1.000/3.000 .7460935000</filmPos>
<filmPos label=" 4">1.000/3.000 -1.000/3.000 -.7460935000</filmPos>
<force calculate="T" relaxXYZ="TTT"/>
</atomGroup>
</atomGroups>
<output dos="F" band="F" vacdos="F" slice="T">
<checks vchk="F" cdinf="F" disp="F"/>
<densityOfStates ndir="0" minEnergy="-.50000000" maxEnergy=".50000000" sigma=".01500000"/>
<vacuumDOS layers="0" integ="F" star="F" nstars="0" locx1=".00000" locy1=".00000" locx2=".00000" locy2=".00000" nstm="0" tworkf=".00000"/>
<plotting iplot="2"/>
<chargeDensitySlicing numkpt="2" minEigenval="-0.28" maxEigenval="-0.14" nnne="0" pallst="T"/>
<specialOutput eonly="F" bmt="F"/>
</output>
</fleurInput>
...@@ -24,7 +24,7 @@ ...@@ -24,7 +24,7 @@
</cell> </cell>
<xcFunctional name="pbe" relativisticCorrections="F"/> <xcFunctional name="pbe" relativisticCorrections="F"/>
<atomSpecies> <atomSpecies>
<species name="Si-1" element="Si" atomicNumber="14" coreStates="4" magMom=".00000000" flipSpin="T"> <species name="Si-1" element="Si" atomicNumber="14" coreStates="4" magMom=".00000000" flipSpinPhi=".00000000" flipSpinTheta="0.000000" flipSpinScale="F">
<mtSphere radius="2.16000000" gridPoints="521" logIncrement=".02200000"/> <mtSphere radius="2.16000000" gridPoints="521" logIncrement=".02200000"/>
<atomicCutoffs lmax="8" lnonsphr="6"/> <atomicCutoffs lmax="8" lnonsphr="6"/>
<energyParameters s="3" p="3" d="3" f="4"/> <energyParameters s="3" p="3" d="3" f="4"/>
...@@ -47,11 +47,11 @@ ...@@ -47,11 +47,11 @@
<force calculate="T" relaxXYZ="TTT"/> <force calculate="T" relaxXYZ="TTT"/>
</atomGroup> </atomGroup>
</atomGroups> </atomGroups>
<output dos="F" band="F" vacdos="F" slice="T"> <output dos="F" band="F" vacdos="F" slice="f">
<checks vchk="F" cdinf="F" disp="F"/> <checks vchk="F" cdinf="F" disp="F"/>
<densityOfStates ndir="0" minEnergy="-.50000000" maxEnergy=".50000000" sigma=".01500000"/> <densityOfStates ndir="0" minEnergy="-.50000000" maxEnergy=".50000000" sigma=".01500000"/>
<vacuumDOS layers="0" integ="F" star="F" nstars="0" locx1=".00000" locy1=".00000" locx2=".00000" locy2=".00000" nstm="0" tworkf=".00000"/> <vacuumDOS layers="0" integ="F" star="F" nstars="0" locx1=".00000" locy1=".00000" locx2=".00000" locy2=".00000" nstm="0" tworkf=".00000"/>
<plotting iplot="2"/> <plotting iplot="0"/>
<chargeDensitySlicing numkpt="2" minEigenval="-0.28" maxEigenval="-0.14" nnne="0" pallst="T"/> <chargeDensitySlicing numkpt="2" minEigenval="-0.28" maxEigenval="-0.14" nnne="0" pallst="T"/>
<specialOutput eonly="F" bmt="F"/> <specialOutput eonly="F" bmt="F"/>
</output> </output>
......
$test_name="Fleur Si film slice plot"; $test_name="Fleur Si film slice plot";
$test_code="Fleur"; $test_code="Fleur";
$test_stages=3; $test_stages=2;
$test_desc=<<EOF $test_desc=<<EOF
Simple test of Fleur with three steps: Simple test of Fleur with three steps:
1.Generate a starting density and perform a single iteration. 1.Generate a starting density and perform a single iteration.
......
...@@ -7,5 +7,19 @@ jt::testrun($executable,$workdir); ...@@ -7,5 +7,19 @@ jt::testrun($executable,$workdir);
#now test output #now test output
$result+=min(jt::test_fileexists("$workdir/cdn_slice"),jt::test_fileexists("$workdir/cdn_slice.hdf")); $result+=min(jt::test_fileexists("$workdir/cdn_slice"),jt::test_fileexists("$workdir/cdn_slice.hdf"));
#now test output
$result=jt::test_fileexists("$workdir/slice.xsf");
# unit cell
$result+=jt::test_grepexists("$workdir/slice.xsf",".0000000 11.36143");
$result+=jt::test_grepexists("$workdir/slice.xsf","1.93419");
# atom positions
$result+=jt::test_grepexists("$workdir/slice.xsf","3.35012");
$result+=jt::test_grepexists("$workdir/slice.xsf",".39481");
$result+=jt::test_grepexists("$workdir/slice.xsf","2.23341");
# density values
$result+=jt::test_grepexists("$workdir/slice.xsf","1.596943750"); # line 24
$result+=jt::test_grepexists("$workdir/slice.xsf","9.618902941"); # line 289
$result+=jt::test_grepexists("$workdir/slice.xsf","2.872946019"); # line 521
$result+=jt::test_grepexists("$workdir/slice.xsf","0.211894348"); # line 523
$result+=jt::test_grepexists("$workdir/slice.xsf","1.097842867"); # line 3018
jt::stageresult($workdir,$result,"2"); jt::stageresult($workdir,$result,"2");
#juDFT Testscript
#The following arguments are passed: executable, working directory
jt::copyfile("files/inp-3.xml","$workdir/inp.xml");
jt::copyfile("files/plot_inp",$workdir);
jt::testrun($executable,$workdir);
#now test output
$result=jt::test_fileexists("$workdir/InDen.xsf");
# unit cell
$result+=jt::test_grepexists("$workdir/InDen.xsf",".0000000 11.36143");
$result+=jt::test_grepexists("$workdir/InDen.xsf","1.93419");
# atom positions
$result+=jt::test_grepexists("$workdir/InDen.xsf","3.35012");
$result+=jt::test_grepexists("$workdir/InDen.xsf",".39481");
$result+=jt::test_grepexists("$workdir/InDen.xsf","2.23341");
# density values
$result+=jt::test_grepexists("$workdir/InDen.xsf","1.596943750"); # line 24
$result+=jt::test_grepexists("$workdir/InDen.xsf","9.618902941"); # line 289
$result+=jt::test_grepexists("$workdir/InDen.xsf","2.872946019"); # line 521
$result+=jt::test_grepexists("$workdir/InDen.xsf","0.211894348"); # line 523
$result+=jt::test_grepexists("$workdir/InDen.xsf","1.097842867"); # line 3018
jt::stageresult($workdir,$result,"3");
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