From 77b6020517d964d445cf7cd2c10a4e3b093e5330 Mon Sep 17 00:00:00 2001 From: DHKiem Date: Tue, 2 Aug 2022 14:54:22 +0900 Subject: [PATCH] Noncollinear Wannier90 implemented. To use it, contact DHKiem. --- Project.toml | 2 +- src/backend/Wannier_read.jl | 2 ++ src/inputHandler.jl | 27 +++++++++++++++++++++------ 3 files changed, 24 insertions(+), 7 deletions(-) diff --git a/Project.toml b/Project.toml index 4551d3a..570728d 100644 --- a/Project.toml +++ b/Project.toml @@ -1,7 +1,7 @@ name = "DFTforge" uuid = "bdfbc6b8-a7f8-11e8-26c1-51ecc9f04035" authors = ["Hongkee Yoon "] -version = "1.3.1" +version = "1.3.2" [deps] ArgParse = "c7e460c6-2fb9-53a9-8c5b-16f535851c63" diff --git a/src/backend/Wannier_read.jl b/src/backend/Wannier_read.jl index 2edce06..43f081e 100644 --- a/src/backend/Wannier_read.jl +++ b/src/backend/Wannier_read.jl @@ -33,6 +33,8 @@ end function read_wannier(wannier_fname::AbstractString,result_file_dict::Dict{AbstractString,AbstractString}, Wannier90_type::Wannier90type, spin_type::SPINtype, atoms_orbitals_list::Vector{Array{Int64}},atomnum::Int,atompos::Array{Float64,2}) + println(atomnum) + println(atoms_orbitals_list) @assert(atomnum == length(atoms_orbitals_list)) if (DFTcommon.OpenMXWF == Wannier90_type) if (DFTcommon.para_type == spin_type || DFTcommon.colinear_type == spin_type) diff --git a/src/inputHandler.jl b/src/inputHandler.jl index 69d31d3..0815fff 100644 --- a/src/inputHandler.jl +++ b/src/inputHandler.jl @@ -310,14 +310,29 @@ function parse_TOML(toml_file,input::Arg_Inputs) println("File not found ",v) @assert(false) end + end + + if (haskey(toml_inputs,"spintype")) + if (lowercase(toml_inputs["spintype"]) != "nc_spin") + result_file_dict = Dict( + "result_file_up" => result_file_list[1], + "result_file_down" => result_file_list[2]) + input.result_file_dict = result_file_dict; + println(result_file_dict) + #result_file_dict = Dict + else + #input.result_file = result_file_list_input[1] + result_file_dict = Dict( + "result_file" => result_file_list_input[1]) + + input.result_file_dict = result_file_dict; + println(result_file_dict) + #println(input.result_file) + + end end - result_file_dict = Dict( - "result_file_up" => result_file_list[1], - "result_file_down" => result_file_list[2]) - input.result_file_dict = result_file_dict; - println(result_file_dict) - #result_file_dict = Dict + end elseif ((Wannier90 == input.DFT_type && EcalJWF == input.Wannier90_type)) ## Wannier90