Tags: lcrippa/vca
Tags
v 1.5.9 UPDATE IMPORTANT UPDATE: due to a bug in Arpack (to be fixed in SciFortran), in some cases with big clusters or multi-orbital systems the exact diagonalization routine is unable to find the correct ground state. This obviously creates incoherent results for the Omega potential and all the deriving quantitis. A separate branch of the code has been created that uses the real-valued diagonalization routine, which is not affected by the problem. As an alternative, and only for ZERO temperature, a lanczos routine has been included (it can be selected via the flag "LANC_METHOD"), which gives the correct result. Cosmetic improvements to the bath printout in the LOGfile have been included. Fixed a bug in VCA_OBSERVABLES that generated segfault for NSPIN=1
v 1.5.8 UPDATE: Removed global input variables NKPTS and NDIM. The VCA code only cares about the total number of k-points, disregarding the way the mesh is constructed. Therefore any variable related to that is problem-dependent and should be contained in the driver. All existing drivers have been corrected to work with the new code, the way they initialize the mesh is by having a local input variable NKPTS, which is an array of fixed dimension with each element representing the number of k-points in the given direction. This also makes possible to create asymmetrical clusters (e.g. rectangular). Tests performed with vca_square_bath and vca_bhz_bath are consistent with previous results. WARNING!! previous input files do not work correctly anymore, since the type of the input variable NKPTS has changed and NDIM is not an input variable anymore. NKPTS should now be provided in the same way as Uloc (with the right dimension). Check the drivers in case of errors.
UPDATE: Introduced the flag HFSHIFT for systems with bath: only considered if HFMODE=TRUE, if HFSHIFT=TRUE bath local energies are defined with respect to the half-filling chemical potential value. That is, for example, (E=0 & HFSHIFT=T) == (E=Uloc/2 && HFSHIFT=F) for the 1-band Hubbard model. This is needed because the on-site energy is itself a variational parameter and the user must be able to modify it, but determining the expression for the half-filling value for multi-orbital systems can be difficult. Modified old drivers with bath to account for the previous change. Added vca_bhz_bath driver (for now 1 site + 1 bath site)
VERSION 1.5 UPDATE The CMakeLists.txt has been updated so to support linking with 3rd party Blas/Lapack libraries for better optimization. Blas/Lapack are searched from MKL or OS. Note that in some circumstances MKL links directly inside the OS so it is found as a regular blas/lapack set. On Apple VecLib libraries from Xcode are used to get get best performances (MKL level or even better) Enjoy this code.
v1.1.1 UPDATE Code updated with storage of the spectral representation of the Green's Function (GF), using Weights and Poles. This enabled a fast re-calculation of the cluster GF on a given z\in\CCC or an array z(:)\in\CCC, as performed in vca_gf_cluster in VCA_IO. This now enables to evaluate the \Omega grand potential integral, both in the Matsubara or Real-axis formalism.
v1.1.0 UPDATE This is a newer version of the code with Lanczos based calculation. The code now can solve the cluster problem using Full or Lanczos diagonalization. Results have been tested against each other at T=0 and T>0 and against the exact QMC results at T=1/20. Benchmarks are excellent. Ready to implement the self-energy potential calculation now.
v1.0.0: NEW CODE VERSION. This is a major reshape/rewriting of the code. We move to a Green's function based calculation and will exploit translational symmetry + periodicity. In this step we reimplemented the GF calculation using Full Exact Diagonalization and compared with exact QMC results for the 2x2 square lattice. Benchmark is excellent and is identical to the initial tests of the previous code (working in a different way). The bath is implemented but not used. Changes are in order for this. Evaluation of the Self-energy function is not implemented. We shall now implment the Lanczos based algorithm (hey we're gonna copy from DMFT ED huh :-))
v0.0.7 BUG FIX & UPDATE: - This is a new version of the code with bath included (only normal form). We removed a relevant bug in VCA_MAIN when evaluating the M matrix. The code was using essentially only the first Ncluster X Ncluster block of the Vmat matrix, screwing up the entire calculation. Now it is fixed by extending the Qcluster matrix to tile the system. Yet the code has problems and needs to be debugged.
PreviousNext