Commit 32604ab2 authored by Gregor Michalicek's avatar Gregor Michalicek

Added PTOXML test. Works.

Worked only after explicitly initializing the irrelevant
parts of the el0 array in r_inpXML. Otherwise a "floating invalid"
error showed up in enpara, line 217.
parent 3baead31
...@@ -1317,6 +1317,8 @@ SUBROUTINE r_inpXML(& ...@@ -1317,6 +1317,8 @@ SUBROUTINE r_inpXML(&
ALLOCATE(enpara%lchange(0:atoms%lmaxd,atoms%ntype,input%jspins)) ALLOCATE(enpara%lchange(0:atoms%lmaxd,atoms%ntype,input%jspins))
ALLOCATE(atoms%l_dulo(atoms%nlod,atoms%ntype)) ! For what is this? ALLOCATE(atoms%l_dulo(atoms%nlod,atoms%ntype)) ! For what is this?
enpara%el0 = 0.0
enpara%ello0 = 0.0
enpara%lchange = .FALSE. enpara%lchange = .FALSE.
dimension%nstd = 29 dimension%nstd = 29
......
enable_testing() enable_testing()
set(Testdirs CuBulk CuBulkXML Fe_1l Fe_1lXML Fe-Atom CuBand CuBandXML CuDOS CuDOSXML Fe_bct_LO Fe_bct_LOXML Fe_bct Fe_bctXML NiO_ldau NiO_ldauXML PTO Fe_fcc) set(Testdirs CuBulk CuBulkXML Fe_1l Fe_1lXML Fe-Atom CuBand CuBandXML CuDOS CuDOSXML Fe_bct_LO Fe_bct_LOXML Fe_bct Fe_bctXML NiO_ldau NiO_ldauXML PTO PTOXML Fe_fcc)
set(Testdirs_INVS CuBulk CuBulkXML Fe_1l Fe_1lXML Fe-Atom CuBand CuBandXML CuDOS CuDOSXML) set(Testdirs_INVS CuBulk CuBulkXML Fe_1l Fe_1lXML Fe-Atom CuBand CuBandXML CuDOS CuDOSXML)
set(Testdirs_SOC Bi2Te3 Fe_1l_SOC PTO-SOC Fe_bct_SOC) set(Testdirs_SOC Bi2Te3 Fe_1l_SOC PTO-SOC Fe_bct_SOC)
......
$test_name="PTO one iteration with LOs"; $test_name="PTO one iteration with LOs";
$test_code="Fleur"; $test_code="Fleur";
%test_requirements=("SOC",0,"complex",1); %test_requirements=("SOC",0,"complex",1);
$test_stages=2; $test_stages=1;
$test_desc=<<EOF $test_desc=<<EOF
Simple test of Fleur with two steps: Simple test of Fleur with one step:
1.Generate a starting density 1.Generate a starting density and run a single iteration and test for ef, total energy
2.Run a single iteration and test for ef, total energy
Uses: LOs Uses: LOs
EOF EOF
; ;
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<fleurInput fleurInputVersion="0.27">
<comment>
PTO
</comment>
<calculationSetup>
<cutoffs Kmax="4.50000000" Gmax="12.00000000" GmaxXC="10.00000000" numbands="0"/>
<scfLoop itmax="1" maxIterBroyd="99" imix="Anderson" alpha=".05000000" spinf="2.00000000"/>
<coreElectrons ctail="T" frcor="F" kcrel="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" soc66="T"/>
<expertModes gw="0" pot8="F" eig66="F" lpr="0" isec1="99" secvar="F"/>
<geometryOptimization l_f="F" xa="2.00000000" thetad="330.00000000" epsdisp=".00001000" epsforce=".00001000"/>
<bzIntegration valenceElectrons="42.00000000" mode="hist" fermiSmearingEnergy=".00331000">
<kPointCount count="1" gamma="F"/>
</bzIntegration>
<energyParameterLimits ellow="-1.80000000" elup="1.00000000"/>
</calculationSetup>
<cell>
<symmetryFile filename="sym.out"/>
<bulkLattice scale="1.000000000000" latnam="squ">
<a1>7.478561680000</a1>
<c>7.987106080000</c>
</bulkLattice>
</cell>
<xcFunctional name="wc" relativisticCorrections="F"/>
<atomSpecies>
<species name="Pb-1" element="Pb" atomicNumber="82" coreStates="19" magMom=".00000000" flipSpin="T">
<mtSphere radius="2.10000000" gridPoints="853" logIncrement=".01600000"/>
<atomicCutoffs lmax="12" lnonsphr="8"/>
<energyParameters s="6" p="6" d="6" f="5"/>
<lo type="SCLO" l="2" n="5" eDeriv="0"/>
</species>
<species name="Ti-2" element="Ti" atomicNumber="22" coreStates="5" magMom=".00000000" flipSpin="T">
<mtSphere radius="1.95000000" gridPoints="517" logIncrement=".02300000"/>
<atomicCutoffs lmax="8" lnonsphr="6"/>
<energyParameters s="4" p="4" d="3" f="4"/>
<lo type="SCLO" l="1" n="3" eDeriv="0"/>
</species>
<species name="O-3" element="O" atomicNumber="8" coreStates="1" magMom=".00000000" flipSpin="T">
<mtSphere radius="1.35000000" gridPoints="293" logIncrement=".03500000"/>
<atomicCutoffs lmax="6" lnonsphr="4"/>
<energyParameters s="2" p="2" d="3" f="4"/>
</species>
</atomSpecies>
<atomGroups>
<atomGroup species="Pb-1">
<relPos>.000000000000/2.000000000000 .000000000000/2.000000000000 1.000000000000/2.000000000000</relPos>
<force calculate="T" relaxXYZ="TTT"/>
</atomGroup>
<atomGroup species="Ti-2">
<relPos>.500000000000 .500000000000 .035000000000</relPos>
<force calculate="T" relaxXYZ="TTT"/>
</atomGroup>
<atomGroup species="O-3">
<relPos>.500000000000 .000000000000 .113000000000</relPos>
<relPos>.000000000000 .500000000000 .113000000000</relPos>
<force calculate="T" relaxXYZ="TTT"/>
</atomGroup>
<atomGroup species="O-3">
<relPos>.500000000000 .500000000000 -.396000000000</relPos>
<force calculate="T" relaxXYZ="TTT"/>
</atomGroup>
</atomGroups>
<output dos="F" band="F" vacdos="F" slice="F">
<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=".00000000" locy1=".00000000" locx2=".00000000" locy2=".00000000" nstm="0" tworkf=".00000000"/>
<plotting iplot="F" score="F" plplot="F"/>
<chargeDensitySlicing numkpt="0" minEigenval=".00000000" maxEigenval=".00000000" nnne="0" pallst="F"/>
<specialOutput form66="F" eonly="F" bmt="F"/>
</output>
</fleurInput>
8 8 T ! nop,nop2,symor
! 1
1 0 0 0.00000
0 1 0 0.00000
0 0 1 0.00000
! 2
-1 0 0 0.00000
0 1 0 0.00000
0 0 1 0.00000
! 3
1 0 0 0.00000
0 -1 0 0.00000
0 0 1 0.00000
! 4
-1 0 0 0.00000
0 -1 0 0.00000
0 0 1 0.00000
! 5
0 -1 0 0.00000
-1 0 0 0.00000
0 0 1 0.00000
! 6
0 -1 0 0.00000
1 0 0 0.00000
0 0 1 0.00000
! 7
0 1 0 0.00000
-1 0 0 0.00000
0 0 1 0.00000
! 8
0 1 0 0.00000
1 0 0 0.00000
0 0 1 0.00000
$test_name="PTO one iteration with LOs (XML codepath)";
$test_code="Fleur";
%test_requirements=("SOC",0,"complex",1);
$test_stages=1;
$test_desc=<<EOF
Simple test of Fleur with one step:
1.Generate a starting density and run a single iteration and test for ef, total energy
Uses: LOs
EOF
;
#juDFT Testscript
#The following arguments are passed: executable, working directory
jt::copyfile("files/inp.xml",$workdir);
jt::copyfile("files/sym.out",$workdir);
jt::testrun("$executable -xmlInput",$workdir);
#now test output
$result=jt::test_grepexists("$workdir/out","it= 1 is completed");
$result+=jt::test_grepnumber("$workdir/out","new fermi",".*: *([^ ]*)",0.211131,0.001);
$result+=jt::test_grepnumber("$workdir/out","total energy=",".*= *([^ ]*)",-22006.6532375,0.01);
jt::stageresult($workdir,$result,"1");
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