From be9a12d01d7b1fcb80fc0a0523774f835984c498 Mon Sep 17 00:00:00 2001 From: Gabriele Bellomia Date: Sun, 30 Jan 2022 06:41:16 +0100 Subject: [PATCH] Add `DMFT-LAB` to requirements [ + tidy up ] + Scale back of the role of PhaseMap in all the READMEs + No more KMH-DMFT_sh module: we don't like bash-scripting, let's face it. --- .gitattributes | 2 +- .gitignore | 33 +------------------ .../{KMH-DMFT_py => KMH-DMFT_f2py}/README.md | 4 +-- KMH-DMFT/KMH-DMFT_sh/README.md | 2 -- KMH-DMFT/README.md | 6 ++-- .../{Plotting_Test => }/GifSpectralPlotting.m | 0 .../{Plotting_Test => }/PlottingTest.m | 0 .../{Plotting_Test => }/PostAnalyzeTest.m | 4 +-- .../{Plotting_Test => }/PostDMFT_spectral.m | 0 KMH-MF/README.md | 4 +-- README.md | 26 +++++++-------- 11 files changed, 21 insertions(+), 60 deletions(-) rename KMH-DMFT/{KMH-DMFT_py => KMH-DMFT_f2py}/README.md (69%) delete mode 100644 KMH-DMFT/KMH-DMFT_sh/README.md rename KMH-DMFT/Testing/{Plotting_Test => }/GifSpectralPlotting.m (100%) rename KMH-DMFT/Testing/{Plotting_Test => }/PlottingTest.m (100%) rename KMH-DMFT/Testing/{Plotting_Test => }/PostAnalyzeTest.m (78%) rename KMH-DMFT/Testing/{Plotting_Test => }/PostDMFT_spectral.m (100%) diff --git a/.gitattributes b/.gitattributes index a7052e4..e86c5ce 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,4 +1,4 @@ # Auto detect text files and perform LF normalization * text=auto -# Language override for damn matlab syntax recognition +# Language override for matlab syntax recognition *.m linguist-language=MATLAB \ No newline at end of file diff --git a/.gitignore b/.gitignore index bd5a6a1..fc56b15 100755 --- a/.gitignore +++ b/.gitignore @@ -13,7 +13,7 @@ used.* *.conf *.nint.* -# Pictures +# Pictures... *.png *.svg @@ -86,37 +86,6 @@ octave-workspace *.mat -### Julia ############################################################# -# Created by https://www.toptal.com/developers/gitignore/api/julia # -# Edit at https://www.toptal.com/developers/gitignore?templates=julia # -####################################################################### - -# Files generated by invoking Julia with --code-coverage -*.jl.cov -*.jl.*.cov - -# Files generated by invoking Julia with --track-allocation -*.jl.mem - -# System-specific files and directories generated by the BinaryProvider and BinDeps packages -# They contain absolute paths specific to the host computer, and so should not be committed -deps/deps.jl -deps/build.log -deps/downloads/ -deps/usr/ -deps/src/ - -# Build artifacts for creating documentation generated by the Documenter package -docs/build/ -docs/site/ - -# File generated by Pkg, the package manager, based on a corresponding Project.toml -# It records a fixed state of all packages used by the project. As such, it should not be -# committed for packages, but should be committed for applications that require a static -# environment. -Manifest.toml - - ### Python ############################################################# # Created by https://www.toptal.com/developers/gitignore/api/python # # Edit at https://www.toptal.com/developers/gitignore?templates=python # diff --git a/KMH-DMFT/KMH-DMFT_py/README.md b/KMH-DMFT/KMH-DMFT_f2py/README.md similarity index 69% rename from KMH-DMFT/KMH-DMFT_py/README.md rename to KMH-DMFT/KMH-DMFT_f2py/README.md index dc42652..e8a0349 100644 --- a/KMH-DMFT/KMH-DMFT_py/README.md +++ b/KMH-DMFT/KMH-DMFT_f2py/README.md @@ -2,6 +2,6 @@ Running QcmPlab DMFT codes from Python ## TO DO: interface to [PhaseMap](https://github.com/greschd/PhaseMap), to enable efficient phase-diagram spans. -- [ ] Thoroughly test the python API provided by [QcmPlab](https://github.com/QcmPlab). -- [ ] Understand if Im G(0) could serve as a phase-label, in the sense given in PhaseMap. +- [ ] Thoroughly test the python API provided by [QcmPlab](https://github.com/QcmPlab). [**currently there is no stable API**] +- [ ] Understand how to define phase-labels, in the sense given in PhaseMap. - [ ] Understand how to deal with the need of restart inputs from near points, within DMFT diff --git a/KMH-DMFT/KMH-DMFT_sh/README.md b/KMH-DMFT/KMH-DMFT_sh/README.md deleted file mode 100644 index ccf9208..0000000 --- a/KMH-DMFT/KMH-DMFT_sh/README.md +++ /dev/null @@ -1,2 +0,0 @@ -# KMH-DMFT_sh -Running QcmPlab DMFT codes from BASH diff --git a/KMH-DMFT/README.md b/KMH-DMFT/README.md index 6ed5f9e..61df09f 100644 --- a/KMH-DMFT/README.md +++ b/KMH-DMFT/README.md @@ -5,10 +5,8 @@ Based on [QcmPlab](https://github.com/QcmPlab) libraries. - [KMH-DMFT_f90](./KMH-DMFT_f90) contains the main `Fortran` programs, together with an appropriate makefile. -- [KMH-DMFT_mat](./KMH-DMFT_mat) defines a very basic set of workflows for exploring interaction-driven transitions, to different degrees of "automatization" for the control of simulation parameters; within `MATLAB`. +- [KMH-DMFT_mat](./KMH-DMFT_mat) collects some `MATLAB` scripts, providing various workflows for interaction-driven transition lines. Based on [DMFT-LAB](https://github.com/bellomia/DMFT-LAB). -- [KMH-DMFT_py](./KMH-DMFT_py) will be the home for an interface to the `Python` package [PhaseMap](https://github.com/greschd/PhaseMap), allowing for smart&fast evaluations of multiparametric phase diagrams. Thorough testing of the python API provided in the [QcmPlab DMFT-ED library](https://github.com/QcmPlab/LIB_DMFT_ED) is a prerequisite. - -- [KMH-DMFT_sh](./KMH-DMFT_sh) is a database of oldie-but-goldie `BASH` scripts, controlling traditional phase diagram spans & the like. +- [KMH-DMFT_f2py](./KMH-DMFT_f2py) will be the home for an interface to the `Python` package [PhaseMap](https://github.com/greschd/PhaseMap), allowing for smart & fast evaluations of multiparametric phase diagrams. Thorough testing of the python API provided in the [QcmPlab DMFT-ED library](https://github.com/QcmPlab/LIB_DMFT_ED) is a prerequisite. [**currently there is no stable API**] - [KMH-DMFT_hpc](./KMH-DMFT_hpc) gives HPC workflows, interfacing all the scripts with the `SLURM` resource manager (intended for [Ulysses](https://www.itcs.sissa.it/services/computing/hpc), primarly). diff --git a/KMH-DMFT/Testing/Plotting_Test/GifSpectralPlotting.m b/KMH-DMFT/Testing/GifSpectralPlotting.m similarity index 100% rename from KMH-DMFT/Testing/Plotting_Test/GifSpectralPlotting.m rename to KMH-DMFT/Testing/GifSpectralPlotting.m diff --git a/KMH-DMFT/Testing/Plotting_Test/PlottingTest.m b/KMH-DMFT/Testing/PlottingTest.m similarity index 100% rename from KMH-DMFT/Testing/Plotting_Test/PlottingTest.m rename to KMH-DMFT/Testing/PlottingTest.m diff --git a/KMH-DMFT/Testing/Plotting_Test/PostAnalyzeTest.m b/KMH-DMFT/Testing/PostAnalyzeTest.m similarity index 78% rename from KMH-DMFT/Testing/Plotting_Test/PostAnalyzeTest.m rename to KMH-DMFT/Testing/PostAnalyzeTest.m index cc1f5af..a4884a5 100644 --- a/KMH-DMFT/Testing/Plotting_Test/PostAnalyzeTest.m +++ b/KMH-DMFT/Testing/PostAnalyzeTest.m @@ -4,7 +4,7 @@ ignUlist = false; % We don't have a SOI-values list, but we can obtain that by just % inspecting the subdirectories... -[SOI_list, SOI_names] = get_list('SOI'); +[SOI_list, SOI_names] = postDMFT.get_list('SOI'); Nlines = length(SOI_list); for iSOI = 1:Nlines SOIDIR = SOI_names(iSOI); @@ -15,7 +15,7 @@ else U_list = []; end - [ids,obs,U_list] = extract_line(U_list); fprintf('..DONE\n'); + [ids,obs,U_list] = postDMFT.extract_line(U_list); fprintf('..DONE\n'); save('observables_line.mat','ids','obs','U_list'); cd('..'); end diff --git a/KMH-DMFT/Testing/Plotting_Test/PostDMFT_spectral.m b/KMH-DMFT/Testing/PostDMFT_spectral.m similarity index 100% rename from KMH-DMFT/Testing/Plotting_Test/PostDMFT_spectral.m rename to KMH-DMFT/Testing/PostDMFT_spectral.m diff --git a/KMH-MF/README.md b/KMH-MF/README.md index 3d09563..105e75d 100644 --- a/KMH-MF/README.md +++ b/KMH-MF/README.md @@ -4,6 +4,6 @@ Mean-Field treatment of the Kane-Mele-Hubbard model. - [KMH-MF_f90](./KMH-MF_f90) contains the main `Fortran` program, together with an appropriate makefile -- [KMH-MF_mat](./KMH-MF_mat) collects some `MATLAB` scripts, providing a basic workflow for transition lines and phase diagrams. +- [KMH-MF_mat](./KMH-MF_mat) collects some `MATLAB` scripts, providing a basic workflow for transition lines and phase diagrams. Based on [DMFT-LAB](https://github.com/bellomia/DMFT-LAB). -- [KMH-MF_f2py](./KMH-MF_f2py) provides an interface to the `Python` package [PhaseMap](https://github.com/greschd/PhaseMap), allowing for a smart&fast evaluation of the phase diagrams. +- [KMH-MF_f2py](./KMH-MF_f2py) provides an interface to the `Python` package [PhaseMap](https://github.com/greschd/PhaseMap), allowing for a smart evaluation of the phase diagram. diff --git a/README.md b/README.md index e56ff3a..0fb6836 100644 --- a/README.md +++ b/README.md @@ -1,17 +1,13 @@ # KMHproject -A collection of programs and scripts to solve and analyze the Kane-Mele-Hubbard model in a variety of (dynamical-)mean-field settings. Based on the [QcmPlab](https://github.com/QcmPlab) DMFT-ED libraries. +A collection of programs and scripts to solve and analyze the Kane-Mele-Hubbard model in a variety of (dynamical-)mean-field settings. Based on the [QcmPlab](https://github.com/QcmPlab) libraries. + +### Requirements +* [SciFortran](https://github.com/QcmPlab/SciFortran.git), with all the dependencies listed therein. +* [DMFT-tools](https://github.com/QcmPlab/DMFTtools.git), which depends on SciFortran. +* [DMFT-ED](https://github.com/QcmPlab/LIB_DMFT_ED.git), which depends on both SciFortran and DMFT-tools. +* [DMFT-LAB](https://github.com/bellomia/DMFT-LAB), with a working installation of MATLAB / GNU Octave. +* \< optional[^1] \> [PhaseMap](https://github.com/greschd/PhaseMap), with all its [requirements](https://github.com/greschd/PhaseMap/blob/develop/setup.cfg). + + +[^1]: Currently used only for the [KMH-MF_f2py](KMH-MF/KMH-MF_f2py) module. An alternative workflow, based on DMFT-LAB, is provided by the [KMH-MF_mat](KMH-MF/KMH-MF_mat) module. -### Dependencies -* gfortran > 4.9x **OR** ifort > 13.0 -* cmake > 3.0.0 -* lapack -* blas -* openMPI -* scalapack -* [SciFortran](https://github.com/QcmPlab/SciFortran.git) -* [DMFT-tools](https://github.com/QcmPlab/DMFTtools.git) -* [DMFT-ED](https://github.com/QcmPlab/LIB_DMFT_ED.git) -* Python3 -* [PhaseMap](https://github.com/greschd/PhaseMap) -* MATAB R2020b -* Julia 1.5.2