Skip to content

Commit

Permalink
added CuZn test
Browse files Browse the repository at this point in the history
  • Loading branch information
meisenbach committed Aug 21, 2024
1 parent 2b28434 commit 8e89597
Show file tree
Hide file tree
Showing 4 changed files with 1,093 additions and 1 deletion.
174 changes: 174 additions & 0 deletions Test/CuZn/i_lsms
Original file line number Diff line number Diff line change
@@ -0,0 +1,174 @@
systemid="CuZn"
system_title = "CuZn B2 test for LSMS 3"
pot_in_type=1
-- write potential out. Use this only when xRepeat, yRepeat and zRepeat = 1
pot_out_type=0
num_atoms=2
nspin=3
mtasa=0
xcFunctional={0,1} -- von Barth Hedin (LSMS_1)
-- xcFunctional={1,1,17} -- von Barth Hedin (libxc)
-- xcFunctional={1,1,12} -- Perdew & Wang
-- xcFunctional={1,20} -- Teter 93
-- xcFunctional={1,101,130} -- GGA PBE

iprint=0
default_iprint=-1
print_node=0
-- istop="buildKKRMatrix"
istop="main"

localAtomDataFile="local_atom.dat"

nscf=50

xRepeat=1
yRepeat=1
zRepeat=1
makeTypesUnique=1

-- energyContour = {npts=1,grid=0,ebot=-0.2,etop=0.0,eitop=0.825,eibot=0.1}
-- energyContour = {npts=11,grid=2,ebot=-0.3,etop=0.0,eitop=0.825,eibot=0.025,maxGroupSize=5}
energyContour = {npts=31,grid=2,ebot=-0.3,etop=0.0,eitop=0.825,eibot=0.0025}

a = 5.53

bravais = {}
bravais[1]={a,0,0}
bravais[2]={0,a,0}
bravais[3]={0,0,a}

site_default={lmax=3,rLIZ=12.5,rsteps={89.5,91.5,93.2,99.9},Zv=8,rad=2}
-- site_default={lmax=3,rLIZ=8.5,rsteps={89.5,91.5,93.2,99.9},atom="Fe",Z=26,Zc=10,Zs=8,Zv=8,rad=2}
-- site_default={lmax=3,rLIZ=5.0,rsteps={89.5,91.5,93.2,99.9},atom="Fe",Z=26,Zc=10,Zs=8,Zv=8,rad=2}
-- site_default={lmax=3,rLIZ=0.1,rsteps={89.5,91.5,93.2,99.9},atom="Fe",Z=26,Zc=10,Zs=8,Zv=8,rad=2}

-- Possible choices of mixing parameters
-- quantity : charge, potential, moment_magnitude, moment_direction, noQuantity
-- algorithm : simple, broyden, noAlgorithm
-- mixing={}
--mixing = { {quantity = "charge", algorithm = "simple", mixing_parameter = 0.05} }
-- mixing = { {quantity = "potential", algorithm = "simple", mixing_parameter = 0.0} }
mixing = { {quantity = "potential", algorithm = "broyden", mixing_parameter = 0.05} }
--mixing = { {quantity = "potential", algorithm = "broyden", mixing_parameter = 0.05}, {quantity = "moment_magnitude", algorithm = "noAlgorithm", mixing_parameter = 0.01} }

numberOfMixQuantities = 0

for k,v in pairs(mixing) do
numberOfMixQuantities = numberOfMixQuantities + 1
end

--[[
print("Site defaults:")
for k,v in pairs(site_default) do
print(k," : ",v)
end
--]]

site = {}
for i =1,num_atoms do site[i]={} end

site[1].pos={0,0,0}
site[1].evec={0,0,1}
site[1].atom="Cu"
site[1].Z=29
site[1].Zc=10
site[1].Zs=8
site[1].Zv=11

site[2].pos={0.5*a,0.5*a,0.5*a}
site[2].evec={0,0,1}
site[2].atom="Zn"
site[2].Z=30
site[2].Zc=10
site[2].Zs=8
site[2].Zv=12

-- set site defaults
for i =1,num_atoms do
for k,v in pairs(site_default) do
if(site[i][k]==nil) then site[i][k]=v end
end
end


--[[
function deepcopy(t)
if type(t) ~= 'table' then return t end
local mt = getmetatable(t)
local res = {}
for k,v in pairs(t) do
if type(v) == 'table' then
v = deepcopy(v)
end
res[k] = v
end
-- setmetatable(res,mt)
return res
end


-- repeat nx*ny*nz times
ntemp=num_atoms
-- ix==1 first:
ix=0
-- iy==1
iy=0
for iz=1,nz-1 do
for ib=1,num_atoms do
ntemp=ntemp+1
site[ntemp]={pos={0,0,0},evec={0,0,1}}
site[ntemp].pos[1]=site[ib].pos[1]+bravais[1][1]*ix+bravais[2][1]*iy+bravais[3][1]*iz
site[ntemp].pos[2]=site[ib].pos[2]+bravais[1][2]*ix+bravais[2][2]*iy+bravais[3][2]*iz
site[ntemp].pos[3]=site[ib].pos[3]+bravais[1][3]*ix+bravais[2][3]*iy+bravais[3][3]*iz
site[ntemp].evec[1]=site[ib].evec[1]
site[ntemp].evec[2]=site[ib].evec[2]
site[ntemp].evec[3]=site[ib].evec[3]
site[ntemp].type=ib
end
end
-- iy!=1
for iy =1,ny-1 do
for iz=0,nz-1 do
for ib=1,num_atoms do
ntemp=ntemp+1
site[ntemp]={pos={0,0,0},evec={0,0,1}}
site[ntemp].pos[1]=site[ib].pos[1]+bravais[1][1]*ix+bravais[2][1]*iy+bravais[3][1]*iz
site[ntemp].pos[2]=site[ib].pos[2]+bravais[1][2]*ix+bravais[2][2]*iy+bravais[3][2]*iz
site[ntemp].pos[3]=site[ib].pos[3]+bravais[1][3]*ix+bravais[2][3]*iy+bravais[3][3]*iz
site[ntemp].evec[1]=site[ib].evec[1]
site[ntemp].evec[2]=site[ib].evec[2]
site[ntemp].evec[3]=site[ib].evec[3]
site[ntemp].type=ib
end
end
end
-- ix != 1
for ix=1,nx-1 do
for iy =0,ny-1 do
for iz=0,nz-1 do
for ib=1,num_atoms do
ntemp=ntemp+1
site[ntemp]={pos={0,0,0},evec={0,0,1}}
site[ntemp].pos[1]=site[ib].pos[1]+bravais[1][1]*ix+bravais[2][1]*iy+bravais[3][1]*iz
site[ntemp].pos[2]=site[ib].pos[2]+bravais[1][2]*ix+bravais[2][2]*iy+bravais[3][2]*iz
site[ntemp].pos[3]=site[ib].pos[3]+bravais[1][3]*ix+bravais[2][3]*iy+bravais[3][3]*iz
site[ntemp].evec[1]=site[ib].evec[1]
site[ntemp].evec[2]=site[ib].evec[2]
site[ntemp].evec[3]=site[ib].evec[3]
site[ntemp].type=ib
end
end
end
end
num_atoms=ntemp
bravais[1][1]=bravais[1][1]*nx
bravais[1][2]=bravais[1][2]*nx
bravais[1][3]=bravais[1][3]*nx
bravais[2][1]=bravais[2][1]*ny
bravais[2][2]=bravais[2][2]*ny
bravais[2][3]=bravais[2][3]*ny
bravais[3][1]=bravais[3][1]*nz
bravais[3][2]=bravais[3][2]*nz
bravais[3][3]=bravais[3][3]*nz
--]]
Loading

0 comments on commit 8e89597

Please sign in to comment.