Commit 0a0bebea authored by Gregor Michalicek's avatar Gregor Michalicek

Added Fe_fccXML test. Works.

...after some small changes in r_inpXML.
parent 32604ab2
......@@ -475,6 +475,7 @@ SUBROUTINE r_inpXML(&
END DO
END IF
ELSE
DEALLOCATE(kpts%specialPoints)
ALLOCATE(kpts%specialPoints(3,kpts%numSpecialPoints))
ALLOCATE(kpts%specialPointNames(kpts%numSpecialPoints))
END IF
......@@ -656,10 +657,11 @@ SUBROUTINE r_inpXML(&
xPathA = '/fleurInput/calculationSetup/spinSpiralQPointMesh'
numberNodes = xmlGetNumberOfNodes(xPathA)
IF ((noco%l_ss).AND.(numberNodes.EQ.0)) THEN
STOP 'Error: l_ss is true but no q point mesh set in xml input file!'
END IF
! IF ((noco%l_ss).AND.(numberNodes.EQ.0)) THEN
! STOP 'Error: l_ss is true but no q point mesh set in xml input file!'
! END IF
Jij%nmopq = 0
IF (numberNodes.EQ.1) THEN
Jij%nmopq(1) = evaluateFirstIntOnly(xmlGetAttributeValue(TRIM(ADJUSTL(xPathA))//'/@qx'))
Jij%nmopq(2) = evaluateFirstIntOnly(xmlGetAttributeValue(TRIM(ADJUSTL(xPathA))//'/@qy'))
......
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 PTOXML 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 Fe_fccXML)
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)
......
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<fleurInput fleurInputVersion="0.27">
<comment>
bcc Fe
</comment>
<calculationSetup>
<cutoffs Kmax="3.40000000" Gmax="10.2000000" GmaxXC="8.50000000" numbands="0"/>
<scfLoop itmax="20" maxIterBroyd="99" imix="Anderson" alpha=".05000000" spinf="2.00000000"/>
<coreElectrons ctail="F" frcor="F" kcrel="0"/>
<magnetism jspins="2" l_noco="T" l_J="F" swsp="F" lflip="F"/>
<soc theta=".00000000" phi=".00000000" l_soc="F" spav="F" off="F" soc66="T"/>
<nocoParams l_ss="T" l_mperp="F" l_constr="F" l_disp="F" sso_opt="FFF" mix_b=".50000000" thetaJ=".00000000" nsh="0">
<qss>.500000000000000 .500000000000000 .000000000000000</qss>
</nocoParams>
<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="8.00000000" mode="hist" fermiSmearingEnergy=".00100000">
<kPointList posScale="2.00000000" weightScale="1.00000000" count="1">
<kPoint weight=" 1.000000"> 0.000000 0.000000 0.000000</kPoint>
</kPointList>
</bzIntegration>
<energyParameterLimits ellow="-.80000000" elup="1.00000000"/>
</calculationSetup>
<cell>
<symmetryFile filename="sym.out"/>
<bulkLattice scale="1.000000000000" latnam="any">
<bravaisMatrix>
<row-1>.000000000000 3.410000000000 3.410000000000</row-1>
<row-2>3.410000000000 .000000000000 3.410000000000</row-2>
<row-3>3.410000000000 3.410000000000 .000000000000</row-3>
</bravaisMatrix>
</bulkLattice>
</cell>
<xcFunctional name="pbe" relativisticCorrections="F"/>
<atomSpecies>
<species name="Fe-1" element="Fe" atomicNumber="26" coreStates="7" magMom="2.20000000" flipSpin="T">
<mtSphere radius="2.35000000" gridPoints="565" logIncrement=".02100000"/>
<atomicCutoffs lmax="8" lnonsphr="6"/>
<energyParameters s="4" p="4" d="3" f="4"/>
</species>
</atomSpecies>
<atomGroups>
<atomGroup species="Fe-1">
<relPos>.000000000000 .000000000000 .000000000000</relPos>
<force calculate="T" relaxXYZ="TTT"/>
<nocoParams l_relax="F" l_magn="F" M=".0000000000" alpha=".0000000000" beta="1.5707963268" b_cons_x=".0000000000" b_cons_y=".0000000000"/>
</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>
bcc Fe
&input film=f /
&lattice latsys=fcc a=6.82 /
1
26 0.0 0.0 0.0
&atom element="Fe" rmt=2.35 jri=565 lmax=8 lnonsph=6 /
&comp kmax=3.4 gmaxxc=10.2 gmax=8.5 /
&kpt div1=1 div2=1 div3=1 tkb=0.001 /
8 8 T ! nop,nop2,symor
! 1
1 0 0 0.00000
0 1 0 0.00000
0 0 1 0.00000
! 2
0 1 0 0.00000
1 0 0 0.00000
0 0 1 0.00000
! 3
0 1 0 0.00000
1 0 0 0.00000
-1 -1 -1 0.00000
! 4
1 0 0 0.00000
0 1 0 0.00000
-1 -1 -1 0.00000
! 5
1 1 1 0.00000
0 0 -1 0.00000
0 -1 0 0.00000
! 6
1 1 1 0.00000
0 0 -1 0.00000
-1 0 0 0.00000
! 7
0 0 -1 0.00000
1 1 1 0.00000
-1 0 0 0.00000
! 8
0 0 -1 0.00000
1 1 1 0.00000
0 -1 0 0.00000
$test_name="Fleur Fe fcc spin-spiral XML";
$test_code="Fleur";
%test_requirements=("SOC",0,"complex",1,"EVP",0);
$test_stages=2;
$test_desc=<<EOF
Simple test of Fleur with two steps:
1.Generate a starting density
2.Run 20 iterations and compare convergence, fermi-energy & total energy
EOF
;
#juDFT Testscript
jt::copyfile("files/inp.xml",$workdir);
jt::copyfile("files/sym.out",$workdir);
jt::testrun("$executable -xmlInput",$workdir);
#now test output
$result=jt::test_fileexists("$workdir/out");
$result+=jt::test_fileexists("$workdir/cdn1");
$result+=jt::test_grepexists("$workdir/out","total charge");
$result+=jt::test_grepnumber("$workdir/out","qfix","qfix= *([^ ]*)",1.0,0.00001);
jt::stageresult($workdir,$result,"1");
#juDFT Testscript
#The following arguments are passed: executable, working directory
jt::copyfile("$workdir/cdn1","$workdir/rhomat_inp");
jt::testrun("$executable -xmlInput",$workdir);
#now test output
$result=jt::test_grepexists("$workdir/out","it= 20 is completed");
$result+=jt::test_grepnumber("$workdir/out","to ef",".*: *([^ ]*)",0.2739,0.0001);
$result+=jt::test_grepnumber("$workdir/out","total energy=",".*= *([^ ]*)",-1272.954,0.001);
$result+=jt::test_grepnumber("$workdir/out","distance of charge densities for it= 20",": *([^ ]*)",0.0000,0.01);
$result+=jt::test_grepnumber("$workdir/out","mm 1",".*mm 1 *([^ ]*)",3.85,0.01);
jt::stageresult($workdir,$result,"2");
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