From 4a29d05fe7b1a6db93ee0322dea70d4458e4161c Mon Sep 17 00:00:00 2001 From: Antonio Manesco <am@antoniomanesco.org> Date: Fri, 29 Dec 2023 16:59:01 +0100 Subject: [PATCH] return raw data and mf correction --- codes/interface.py | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/codes/interface.py b/codes/interface.py index 7ee0b94..77637b3 100644 --- a/codes/interface.py +++ b/codes/interface.py @@ -6,11 +6,13 @@ def find_groundstate_ham( model, filling, nk=10, - cutoff_Vk=None, + cutoff_Vk=0, solver=solvers.kspace_solver, cost_function=solvers.kspace_cost, optimizer=optimize.anderson, optimizer_kwargs={}, + return_mf=False, + return_kspace=False ): """ Self-consistent loop to find groundstate Hamiltonian. @@ -44,7 +46,18 @@ def find_groundstate_ham( solver(model, optimizer, cost_function, optimizer_kwargs) model.vectors=[*model.vectors, *model.tb_model.keys()] assert np.allclose(model.mf_k - np.moveaxis(model.mf_k, -1, -2).conj(), 0, atol=1e-15) - if model.dim > 0: - return utils.hk2tb_model(model.hamiltonians_0 + model.mf_k, model.vectors, model.ks) + if return_kspace: + return model.hamiltonians_0 + model.mf_k else: - return {() : model.hamiltonians_0 + model.mf_k} + if model.dim > 0: + scf_tb = utils.hk2tb_model(model.hamiltonians_0 + model.mf_k, model.vectors, model.ks) + if return_mf: + mf_tb = utils.hk2tb_model(model.mf_k, model.vectors, model.ks) + return scf_tb, mf_tb + else: + return scf_tb + else: + if return_mf: + return {() : model.hamiltonians_0 + model.mf_k}, {() : model.mf_k} + else: + return {() : model.hamiltonians_0 + model.mf_k} -- GitLab