Commit 4a8bbcf2 authored by fgoth's avatar fgoth
Browse files

make lambdas vectorizable.

parent f9d0bcc8
......@@ -393,6 +393,7 @@ try
uint nr_of_sets = betas.size() * us.size();
std::vector<Parameters::VType> vs;
std::vector<Parameters::EDotType> eds;
std::vector<Parameters::BetaType> lambdas;//we declare the vector in case we use it for the Kondo_Imp_TI measurements in the future
if (mymodel == SIAM)
{
vs = registry.Get<std::vector<float> >("modelparameters", "SIAM", "V");
......@@ -405,6 +406,11 @@ try
eds = registry.Get<std::vector<float> >("modelparameters", "Kondo_Imp_TI", "e_dot");
nr_of_sets *= vs.size()*eds.size();
}
if (mymodel == RASHBA_CHAIN)
{
lambdas = registry.Get<std::vector<float> >("modelparameters", "RashbaChain", "lambda");
nr_of_sets *= lambdas.size();
}
params.resize(nr_of_sets);
if ((mymodel == SIAM) || (mymodel == KONDO_IMP_TI))
{
......@@ -423,13 +429,30 @@ try
}
else
{
if (mymodel == RASHBA_CHAIN)
{
for (uint beta_idx = 0; beta_idx < betas.size(); ++beta_idx)
for (uint u_idx = 0; u_idx < us.size(); ++u_idx)
for (uint l_idx = 0; l_idx < lambdas.size(); ++l_idx)
{
uint cur_idx = u_idx * betas.size()*lambdas.size() + beta_idx*lambdas.size() + l_idx;
params[cur_idx].beta = betas[beta_idx];
params[cur_idx].U = us[u_idx];
params[cur_idx].lambda = lambdas[l_idx];
params[cur_idx].is_Impurity_model = false;
}
}
else
{
for (uint beta_idx = 0; beta_idx < betas.size(); ++beta_idx)
for (uint u_idx = 0; u_idx < us.size(); ++u_idx)
{
params[u_idx * betas.size() + beta_idx].beta = betas[beta_idx];
params[u_idx * betas.size() + beta_idx].U = us[u_idx];
params[u_idx * betas.size() + beta_idx].is_Impurity_model = false;
uint cur_idx = u_idx * betas.size() + beta_idx;
params[cur_idx].beta = betas[beta_idx];
params[cur_idx].U = us[u_idx];
params[cur_idx].is_Impurity_model = false;
}
}
}
float t_exp = 0.0;
try
......@@ -484,7 +507,7 @@ try
break;
case RASHBA_CHAIN:
params[k].N = registry.Get<unsigned int>("modelparameters" , "RashbaChain", "sites");
params[k].lambda = registry.Get<double>("modelparameters", "RashbaChain", "lambda");
// params[k].lambda = registry.Get<double>("modelparameters", "RashbaChain", "lambda");
break;
}
params[k].N_wait = registry.Get<unsigned int>("qmc" , "Main", "N_Wait");
......
Supports Markdown
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