MeanFieldToolkit.BDGMFT

MeanFieldToolkit.BDGMFT.BdGMFTType

BdGMFT{T, R, S} is a data type representing a general mean-field simulation on a BdG model.

Attributes

  • model :: Model: The BdG model on which mean-field simulations are going to run, contains info about free hopping and pairing.
  • HoppingOrders :: Vector{Param{2, R}}: a vector of hopping order parameters to decompose the interactions in during MFT.
  • PairingOrders :: Vector{Param{2, R}}: a vector of pairing order parameters to decompose the interactions in during MFT.
  • Interactions :: Vector{Param{2, FLoat64}}: the vector of Param containing all the information of the interactions acting on the model.
  • HoppingDecomposition :: Vector{Function} : the decomposition function which describes how to take an interaction array + hopping expectation values and give back tight-binding hoppings.
  • HoppingDecomposition :: Vector{Function} : the decomposition function which describes how to take an interaction array + pairing expectation values and give back BdG pairings.
  • HoppingScaling :: Dict{String, Float64}: relative scaling parameters for different hopping mean-field channels.
  • PairingScaling :: Dict{String, Float64}: relative scaling parameters for different pairing mean-field channels.
  • HoppingLabels :: Dict{String, String}: The labels of the different hopping mean-field channels.
  • PairingLabels :: Dict{String, String}: The labels of the different hopping mean-field channels.

Initialize this structure using

BdGMFT(model::BdGModel, HoppingOrders::Vector{Param{2, R}}, PairingOrders::Vector{Param{2, S}}, Interactions::Vector{Param{T, Float64}} , HoppingDecomposition::Vector{Function}, PairingDecomposition::Vector{Function} ; HoppingLabels::Dict{String, String} = Dict{String, String}("ij" => "Hopping", "ii" => "Hopping On-Site", "jj" => "Hopping On-Site"), PairingLabels::Dict{String, String} = Dict{String, String}("ij" => "Pairing", "ii" => "Pairing On-Site", "jj" => "Pairing On-Site"))
BdGMFT(model::BdGModel, HoppingOrders::Vector{Param{2, R}}, PairingOrders::Vector{Param{2, S}}, Interactions::Vector{Param{T, Float64}} , HoppingDecomposition::Vector{Function}, PairingDecomposition::Vector{Function}, HoppingScaling::Dict{String, Float64}, PairingScaling::Dict{String, Float64} ; HoppingLabels::Dict{String, String} = Dict{String, String}("ij" => "Hopping", "ii" => "Hopping On-Site", "jj" => "Hopping On-Site"), PairingLabels::Dict{String, String} = Dict{String, String}("ij" => "Pairing", "ii" => "Pairing On-Site", "jj" => "Pairing On-Site"))
BdGMFT(model::BdGModel, PairingOrders::Vector{Param{2, S}}, Interactions::Vector{Param{T, Float64}} , HoppingDecomposition::Vector{Function}, PairingDecomposition::Vector{Function} ; HoppingLabels::Dict{String, String} = Dict{String, String}("ij" => "Hopping", "ii" => "Hopping On-Site", "jj" => "Hopping On-Site"), PairingLabels::Dict{String, String} = Dict{String, String}("ij" => "Pairing", "ii" => "Pairing On-Site", "jj" => "Pairing On-Site"))
BdGMFT(model::BdGModel, PairingOrders::Vector{Param{2, S}}, Interactions::Vector{Param{T, Float64}} , HoppingDecomposition::Vector{Function}, PairingDecomposition::Vector{Function}, HoppingScaling::Dict{String, Float64}, PairingScaling::Dict{String, Float64} ; HoppingLabels::Dict{String, String} = Dict{String, String}("ij" => "Hopping", "ii" => "Hopping On-Site", "jj" => "Hopping On-Site"), PairingLabels::Dict{String, String} = Dict{String, String}("ij" => "Pairing", "ii" => "Pairing On-Site", "jj" => "Pairing On-Site"))
source