diff --git a/docs/advanced/input_files/input-main.md b/docs/advanced/input_files/input-main.md index a91c6dd7530..bfe7af98e56 100644 --- a/docs/advanced/input_files/input-main.md +++ b/docs/advanced/input_files/input-main.md @@ -1788,7 +1788,7 @@ - nspin = 1: pots1.cube; - nspin = 2: pots1.cube and pots2.cube; - nspin = 4: pots1.cube, pots2.cube, pots3.cube, and pots4.cube - - 2: Output the electrostatic potential on real space grids into OUT.{suffix}/pot_es.cube. The Python script named tools/average_pot/aveElecStatPot.py can be used to calculate the average electrostatic potential along the z-axis and outputs it into ElecStaticPot_AVE. Please note that the total local potential refers to the local component of the self-consistent potential, excluding the non-local pseudopotential. The distinction between the local potential and the electrostatic potential is as follows: local potential = electrostatic potential + XC potential. + - 2: Output the electrostatic potential on real space grids into OUT.{suffix}/pot_es.cube. The Python script named tools/02_postprocessing/average_pot/aveElecStatPot.py can be used to calculate the average electrostatic potential along the z-axis and outputs it into ElecStaticPot_AVE. Please note that the total local potential refers to the local component of the self-consistent potential, excluding the non-local pseudopotential. The distinction between the local potential and the electrostatic potential is as follows: local potential = electrostatic potential + XC potential. - 3: Apart from 1, also output the total local potential of the initial charge density. The files are named as: - nspin = 1: pots1_ini.cube; - nspin = 2: pots1_ini.cube and pots2_ini.cube; diff --git a/docs/advanced/windows_installer.md b/docs/advanced/windows_installer.md index c89dcfa238c..7051ab2530d 100644 --- a/docs/advanced/windows_installer.md +++ b/docs/advanced/windows_installer.md @@ -4,7 +4,7 @@ A lightweight installer that brings ABACUS to Windows via WSL2 and conda-forge. No C++ toolchain, no MPI build, no manual dependency juggling — run `install-abacus.bat` once and type `abacus` from any Windows terminal. -The scripts live in the repository under `tools/windows/`. This page is the +The scripts live in the repository under `tools/04_windows_installation/`. This page is the user-facing documentation for the same scripts. ## How it works @@ -89,7 +89,7 @@ The pipeline, end to end: ## Installation 1. Clone or download this repository. -2. In `tools/windows/`, right-click `install-abacus.bat` → **Run as administrator**. +2. In `tools/04_windows_installation/`, right-click `install-abacus.bat` → **Run as administrator**. 3. Answer the China-mirror prompt (`y` recommended inside Mainland China). Then pick an ABACUS version when prompted (leave blank for the latest on conda-forge; for a pinned install, type an exact version such as `3.7.4`). @@ -217,7 +217,7 @@ Hyper-V virtualization layer used by WSL2 is disabled. ## File layout ``` -tools/windows/ +tools/04_windows_installation/ ├── install-abacus.bat # Windows entry point (admin, interactive) ├── uninstall-abacus.bat # Clean removal, optionally including the distro ├── provision.sh # Linux-side installer (runs as root in WSL) diff --git a/docs/parameters.yaml b/docs/parameters.yaml index d8287e067c9..255d4b78c9e 100644 --- a/docs/parameters.yaml +++ b/docs/parameters.yaml @@ -2867,7 +2867,7 @@ parameters: * nspin = 1: pots1.cube; * nspin = 2: pots1.cube and pots2.cube; * nspin = 4: pots1.cube, pots2.cube, pots3.cube, and pots4.cube - * 2: Output the electrostatic potential on real space grids into OUT.{suffix}/pot_es.cube. The Python script named tools/average_pot/aveElecStatPot.py can be used to calculate the average electrostatic potential along the z-axis and outputs it into ElecStaticPot_AVE. Please note that the total local potential refers to the local component of the self-consistent potential, excluding the non-local pseudopotential. The distinction between the local potential and the electrostatic potential is as follows: local potential = electrostatic potential + XC potential. + * 2: Output the electrostatic potential on real space grids into OUT.{suffix}/pot_es.cube. The Python script named tools/02_postprocessing/average_pot/aveElecStatPot.py can be used to calculate the average electrostatic potential along the z-axis and outputs it into ElecStaticPot_AVE. Please note that the total local potential refers to the local component of the self-consistent potential, excluding the non-local pseudopotential. The distinction between the local potential and the electrostatic potential is as follows: local potential = electrostatic potential + XC potential. * 3: Apart from 1, also output the total local potential of the initial charge density. The files are named as: * nspin = 1: pots1_ini.cube; * nspin = 2: pots1_ini.cube and pots2_ini.cube; diff --git a/source/source_basis/module_nao/atomic_radials.cpp b/source/source_basis/module_nao/atomic_radials.cpp index 008b8d25d51..dfc4028344b 100644 --- a/source/source_basis/module_nao/atomic_radials.cpp +++ b/source/source_basis/module_nao/atomic_radials.cpp @@ -114,8 +114,8 @@ void AtomicRadials::read_abacus_orb(std::ifstream& ifs, std::ofstream* ptr_log, * Read the orbital file. * * For orbital file format, see - * (new) abacus-develop/tools/SIAB/PyTorchGradient/source/IO/print_orbital.py - * (old) abacus-develop/tools/SIAB/SimulatedAnnealing/source/src_spillage/Plot_Psi.cpp + * (new) abacus-develop/tools/01_NAO_generation/pytorch/IO/print_orbital.py + * (old) abacus-develop/tools/01_NAO_generation/SIAB/src_spillage/Plot_Psi.cpp * */ int ngrid = 0; // number of grid points double dr = 0; // grid spacing @@ -284,8 +284,8 @@ void AtomicRadials::read_abacus_orb(std::ifstream& ifs, std::ofstream* ptr_log, // * Read the orbital file. // * // * For orbital file format, see -// * (new) abacus-develop/tools/SIAB/PyTorchGradient/source/IO/print_orbital.py -// * (old) abacus-develop/tools/SIAB/SimulatedAnnealing/source/src_spillage/Plot_Psi.cpp +// * (new) abacus-develop/tools/01_NAO_generation/pytorch/IO/print_orbital.py +// * (old) abacus-develop/tools/01_NAO_generation/SIAB/src_spillage/Plot_Psi.cpp // * */ // int ngrid = 0; // number of grid points // double dr = 0; // grid spacing diff --git a/source/source_io/module_parameter/read_input_item_output.cpp b/source/source_io/module_parameter/read_input_item_output.cpp index 8bc0c895499..295b9ff9343 100644 --- a/source/source_io/module_parameter/read_input_item_output.cpp +++ b/source/source_io/module_parameter/read_input_item_output.cpp @@ -129,7 +129,7 @@ In molecular dynamics simulations, the output frequency is controlled by out_fre * nspin = 1: pots1.cube; * nspin = 2: pots1.cube and pots2.cube; * nspin = 4: pots1.cube, pots2.cube, pots3.cube, and pots4.cube -* 2: Output the electrostatic potential on real space grids into OUT.{suffix}/pot_es.cube. The Python script named tools/average_pot/aveElecStatPot.py can be used to calculate the average electrostatic potential along the z-axis and outputs it into ElecStaticPot_AVE. Please note that the total local potential refers to the local component of the self-consistent potential, excluding the non-local pseudopotential. The distinction between the local potential and the electrostatic potential is as follows: local potential = electrostatic potential + XC potential. +* 2: Output the electrostatic potential on real space grids into OUT.{suffix}/pot_es.cube. The Python script named tools/02_postprocessing/average_pot/aveElecStatPot.py can be used to calculate the average electrostatic potential along the z-axis and outputs it into ElecStaticPot_AVE. Please note that the total local potential refers to the local component of the self-consistent potential, excluding the non-local pseudopotential. The distinction between the local potential and the electrostatic potential is as follows: local potential = electrostatic potential + XC potential. * 3: Apart from 1, also output the total local potential of the initial charge density. The files are named as: * out_freq_ion = 0: * nspin = 1: `pot_ini.cube`; diff --git a/source/source_io/module_qo/to_qo_kernel.cpp b/source/source_io/module_qo/to_qo_kernel.cpp index 1c0471b6973..e1cb68659d0 100644 --- a/source/source_io/module_qo/to_qo_kernel.cpp +++ b/source/source_io/module_qo/to_qo_kernel.cpp @@ -414,7 +414,7 @@ void toQO::calculate() std::string filename = out_dir_ + "/QO_ovlpR_" + std::to_string(iR) + ".dat"; std::remove(filename.c_str()); } - printf("toQO::calculate: calculation of S(k) done, run /tools/qo/postprocess.py to do representation " + printf("toQO::calculate: calculation of S(k) done, run /tools/01_NAO_generation/qo/postprocess.py to do representation " "transform.\n"); } } diff --git a/tools/SIAB/Generate_Orbital_AllInOne.sh b/tools/01_NAO_generation/Generate_Orbital_AllInOne.sh similarity index 100% rename from tools/SIAB/Generate_Orbital_AllInOne.sh rename to tools/01_NAO_generation/Generate_Orbital_AllInOne.sh diff --git a/tools/SIAB/SimulatedAnnealing/source/ChangeLog b/tools/01_NAO_generation/SIAB/ChangeLog similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/ChangeLog rename to tools/01_NAO_generation/SIAB/ChangeLog diff --git a/tools/SIAB/DIS.txt b/tools/01_NAO_generation/SIAB/DIS.txt similarity index 100% rename from tools/SIAB/DIS.txt rename to tools/01_NAO_generation/SIAB/DIS.txt diff --git a/tools/SIAB/SimulatedAnnealing/source/Makefile b/tools/01_NAO_generation/SIAB/Makefile similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/Makefile rename to tools/01_NAO_generation/SIAB/Makefile diff --git a/tools/SIAB/SimulatedAnnealing/source/README.md b/tools/01_NAO_generation/SIAB/README.md similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/README.md rename to tools/01_NAO_generation/SIAB/README.md diff --git a/tools/SIAB/SimulatedAnnealing/source/src_parallel/parallel_common.cpp b/tools/01_NAO_generation/SIAB/src_parallel/parallel_common.cpp similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_parallel/parallel_common.cpp rename to tools/01_NAO_generation/SIAB/src_parallel/parallel_common.cpp diff --git a/tools/SIAB/SimulatedAnnealing/source/src_parallel/parallel_common.h b/tools/01_NAO_generation/SIAB/src_parallel/parallel_common.h similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_parallel/parallel_common.h rename to tools/01_NAO_generation/SIAB/src_parallel/parallel_common.h diff --git a/tools/SIAB/SimulatedAnnealing/source/src_parallel/parallel_global.cpp b/tools/01_NAO_generation/SIAB/src_parallel/parallel_global.cpp similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_parallel/parallel_global.cpp rename to tools/01_NAO_generation/SIAB/src_parallel/parallel_global.cpp diff --git a/tools/SIAB/SimulatedAnnealing/source/src_parallel/parallel_global.h b/tools/01_NAO_generation/SIAB/src_parallel/parallel_global.h similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_parallel/parallel_global.h rename to tools/01_NAO_generation/SIAB/src_parallel/parallel_global.h diff --git a/tools/SIAB/SimulatedAnnealing/source/src_parallel/parallel_kpoints.cpp b/tools/01_NAO_generation/SIAB/src_parallel/parallel_kpoints.cpp similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_parallel/parallel_kpoints.cpp rename to tools/01_NAO_generation/SIAB/src_parallel/parallel_kpoints.cpp diff --git a/tools/SIAB/SimulatedAnnealing/source/src_parallel/parallel_kpoints.h b/tools/01_NAO_generation/SIAB/src_parallel/parallel_kpoints.h similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_parallel/parallel_kpoints.h rename to tools/01_NAO_generation/SIAB/src_parallel/parallel_kpoints.h diff --git a/tools/SIAB/SimulatedAnnealing/source/src_parallel/parallel_reduce.cpp b/tools/01_NAO_generation/SIAB/src_parallel/parallel_reduce.cpp similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_parallel/parallel_reduce.cpp rename to tools/01_NAO_generation/SIAB/src_parallel/parallel_reduce.cpp diff --git a/tools/SIAB/SimulatedAnnealing/source/src_parallel/parallel_reduce.h b/tools/01_NAO_generation/SIAB/src_parallel/parallel_reduce.h similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_parallel/parallel_reduce.h rename to tools/01_NAO_generation/SIAB/src_parallel/parallel_reduce.h diff --git a/tools/SIAB/SimulatedAnnealing/source/src_pw/bessel_basis.cpp b/tools/01_NAO_generation/SIAB/src_pw/bessel_basis.cpp similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_pw/bessel_basis.cpp rename to tools/01_NAO_generation/SIAB/src_pw/bessel_basis.cpp diff --git a/tools/SIAB/SimulatedAnnealing/source/src_pw/bessel_basis.h b/tools/01_NAO_generation/SIAB/src_pw/bessel_basis.h similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_pw/bessel_basis.h rename to tools/01_NAO_generation/SIAB/src_pw/bessel_basis.h diff --git a/tools/SIAB/SimulatedAnnealing/source/src_pw/heapsort.cpp b/tools/01_NAO_generation/SIAB/src_pw/heapsort.cpp similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_pw/heapsort.cpp rename to tools/01_NAO_generation/SIAB/src_pw/heapsort.cpp diff --git a/tools/SIAB/SimulatedAnnealing/source/src_pw/heapsort.h b/tools/01_NAO_generation/SIAB/src_pw/heapsort.h similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_pw/heapsort.h rename to tools/01_NAO_generation/SIAB/src_pw/heapsort.h diff --git a/tools/SIAB/SimulatedAnnealing/source/src_pw/memory_calculation.cpp b/tools/01_NAO_generation/SIAB/src_pw/memory_calculation.cpp similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_pw/memory_calculation.cpp rename to tools/01_NAO_generation/SIAB/src_pw/memory_calculation.cpp diff --git a/tools/SIAB/SimulatedAnnealing/source/src_pw/memory_calculation.h b/tools/01_NAO_generation/SIAB/src_pw/memory_calculation.h similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_pw/memory_calculation.h rename to tools/01_NAO_generation/SIAB/src_pw/memory_calculation.h diff --git a/tools/SIAB/SimulatedAnnealing/source/src_pw/numerical_basis.cpp b/tools/01_NAO_generation/SIAB/src_pw/numerical_basis.cpp similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_pw/numerical_basis.cpp rename to tools/01_NAO_generation/SIAB/src_pw/numerical_basis.cpp diff --git a/tools/SIAB/SimulatedAnnealing/source/src_pw/numerical_basis.h b/tools/01_NAO_generation/SIAB/src_pw/numerical_basis.h similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_pw/numerical_basis.h rename to tools/01_NAO_generation/SIAB/src_pw/numerical_basis.h diff --git a/tools/SIAB/SimulatedAnnealing/source/src_pw/pw_basis.cpp b/tools/01_NAO_generation/SIAB/src_pw/pw_basis.cpp similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_pw/pw_basis.cpp rename to tools/01_NAO_generation/SIAB/src_pw/pw_basis.cpp diff --git a/tools/SIAB/SimulatedAnnealing/source/src_pw/pw_basis.h b/tools/01_NAO_generation/SIAB/src_pw/pw_basis.h similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_pw/pw_basis.h rename to tools/01_NAO_generation/SIAB/src_pw/pw_basis.h diff --git a/tools/SIAB/SimulatedAnnealing/source/src_pw/pw_complement.cpp b/tools/01_NAO_generation/SIAB/src_pw/pw_complement.cpp similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_pw/pw_complement.cpp rename to tools/01_NAO_generation/SIAB/src_pw/pw_complement.cpp diff --git a/tools/SIAB/SimulatedAnnealing/source/src_pw/pw_complement.h b/tools/01_NAO_generation/SIAB/src_pw/pw_complement.h similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_pw/pw_complement.h rename to tools/01_NAO_generation/SIAB/src_pw/pw_complement.h diff --git a/tools/SIAB/SimulatedAnnealing/source/src_pw/ylm_real.cpp b/tools/01_NAO_generation/SIAB/src_pw/ylm_real.cpp similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_pw/ylm_real.cpp rename to tools/01_NAO_generation/SIAB/src_pw/ylm_real.cpp diff --git a/tools/SIAB/SimulatedAnnealing/source/src_pw/ylm_real.h b/tools/01_NAO_generation/SIAB/src_pw/ylm_real.h similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_pw/ylm_real.h rename to tools/01_NAO_generation/SIAB/src_pw/ylm_real.h diff --git a/tools/SIAB/SimulatedAnnealing/source/src_spillage/Calculate_C4.cpp b/tools/01_NAO_generation/SIAB/src_spillage/Calculate_C4.cpp similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_spillage/Calculate_C4.cpp rename to tools/01_NAO_generation/SIAB/src_spillage/Calculate_C4.cpp diff --git a/tools/SIAB/SimulatedAnnealing/source/src_spillage/Calculate_C4.h b/tools/01_NAO_generation/SIAB/src_spillage/Calculate_C4.h similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_spillage/Calculate_C4.h rename to tools/01_NAO_generation/SIAB/src_spillage/Calculate_C4.h diff --git a/tools/SIAB/SimulatedAnnealing/source/src_spillage/Coefficients.cpp b/tools/01_NAO_generation/SIAB/src_spillage/Coefficients.cpp similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_spillage/Coefficients.cpp rename to tools/01_NAO_generation/SIAB/src_spillage/Coefficients.cpp diff --git a/tools/SIAB/SimulatedAnnealing/source/src_spillage/Coefficients.h b/tools/01_NAO_generation/SIAB/src_spillage/Coefficients.h similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_spillage/Coefficients.h rename to tools/01_NAO_generation/SIAB/src_spillage/Coefficients.h diff --git a/tools/SIAB/SimulatedAnnealing/source/src_spillage/Inverse_Matrix_S.cpp b/tools/01_NAO_generation/SIAB/src_spillage/Inverse_Matrix_S.cpp similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_spillage/Inverse_Matrix_S.cpp rename to tools/01_NAO_generation/SIAB/src_spillage/Inverse_Matrix_S.cpp diff --git a/tools/SIAB/SimulatedAnnealing/source/src_spillage/Inverse_Matrix_S.h b/tools/01_NAO_generation/SIAB/src_spillage/Inverse_Matrix_S.h similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_spillage/Inverse_Matrix_S.h rename to tools/01_NAO_generation/SIAB/src_spillage/Inverse_Matrix_S.h diff --git a/tools/SIAB/SimulatedAnnealing/source/src_spillage/Inverse_Matrix_S_inline.h b/tools/01_NAO_generation/SIAB/src_spillage/Inverse_Matrix_S_inline.h similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_spillage/Inverse_Matrix_S_inline.h rename to tools/01_NAO_generation/SIAB/src_spillage/Inverse_Matrix_S_inline.h diff --git a/tools/SIAB/SimulatedAnnealing/source/src_spillage/Metropolis.cpp b/tools/01_NAO_generation/SIAB/src_spillage/Metropolis.cpp similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_spillage/Metropolis.cpp rename to tools/01_NAO_generation/SIAB/src_spillage/Metropolis.cpp diff --git a/tools/SIAB/SimulatedAnnealing/source/src_spillage/Metropolis.h b/tools/01_NAO_generation/SIAB/src_spillage/Metropolis.h similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_spillage/Metropolis.h rename to tools/01_NAO_generation/SIAB/src_spillage/Metropolis.h diff --git a/tools/SIAB/SimulatedAnnealing/source/src_spillage/Metropolis_2.cpp b/tools/01_NAO_generation/SIAB/src_spillage/Metropolis_2.cpp similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_spillage/Metropolis_2.cpp rename to tools/01_NAO_generation/SIAB/src_spillage/Metropolis_2.cpp diff --git a/tools/SIAB/SimulatedAnnealing/source/src_spillage/Metropolis_Info.h b/tools/01_NAO_generation/SIAB/src_spillage/Metropolis_Info.h similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_spillage/Metropolis_Info.h rename to tools/01_NAO_generation/SIAB/src_spillage/Metropolis_Info.h diff --git a/tools/SIAB/SimulatedAnnealing/source/src_spillage/MultiZeta.cpp b/tools/01_NAO_generation/SIAB/src_spillage/MultiZeta.cpp similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_spillage/MultiZeta.cpp rename to tools/01_NAO_generation/SIAB/src_spillage/MultiZeta.cpp diff --git a/tools/SIAB/SimulatedAnnealing/source/src_spillage/MultiZeta.h b/tools/01_NAO_generation/SIAB/src_spillage/MultiZeta.h similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_spillage/MultiZeta.h rename to tools/01_NAO_generation/SIAB/src_spillage/MultiZeta.h diff --git a/tools/SIAB/SimulatedAnnealing/source/src_spillage/Orthogonal.cpp b/tools/01_NAO_generation/SIAB/src_spillage/Orthogonal.cpp similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_spillage/Orthogonal.cpp rename to tools/01_NAO_generation/SIAB/src_spillage/Orthogonal.cpp diff --git a/tools/SIAB/SimulatedAnnealing/source/src_spillage/Orthogonal.h b/tools/01_NAO_generation/SIAB/src_spillage/Orthogonal.h similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_spillage/Orthogonal.h rename to tools/01_NAO_generation/SIAB/src_spillage/Orthogonal.h diff --git a/tools/SIAB/SimulatedAnnealing/source/src_spillage/Out_Orbital.cpp b/tools/01_NAO_generation/SIAB/src_spillage/Out_Orbital.cpp similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_spillage/Out_Orbital.cpp rename to tools/01_NAO_generation/SIAB/src_spillage/Out_Orbital.cpp diff --git a/tools/SIAB/SimulatedAnnealing/source/src_spillage/Out_Orbital.h b/tools/01_NAO_generation/SIAB/src_spillage/Out_Orbital.h similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_spillage/Out_Orbital.h rename to tools/01_NAO_generation/SIAB/src_spillage/Out_Orbital.h diff --git a/tools/SIAB/SimulatedAnnealing/source/src_spillage/Plot_Psi.cpp b/tools/01_NAO_generation/SIAB/src_spillage/Plot_Psi.cpp similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_spillage/Plot_Psi.cpp rename to tools/01_NAO_generation/SIAB/src_spillage/Plot_Psi.cpp diff --git a/tools/SIAB/SimulatedAnnealing/source/src_spillage/Plot_Psi.h b/tools/01_NAO_generation/SIAB/src_spillage/Plot_Psi.h similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_spillage/Plot_Psi.h rename to tools/01_NAO_generation/SIAB/src_spillage/Plot_Psi.h diff --git a/tools/SIAB/SimulatedAnnealing/source/src_spillage/Psi_Second.cpp b/tools/01_NAO_generation/SIAB/src_spillage/Psi_Second.cpp similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_spillage/Psi_Second.cpp rename to tools/01_NAO_generation/SIAB/src_spillage/Psi_Second.cpp diff --git a/tools/SIAB/SimulatedAnnealing/source/src_spillage/Psi_Second.h b/tools/01_NAO_generation/SIAB/src_spillage/Psi_Second.h similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_spillage/Psi_Second.h rename to tools/01_NAO_generation/SIAB/src_spillage/Psi_Second.h diff --git a/tools/SIAB/SimulatedAnnealing/source/src_spillage/ReadData.cpp b/tools/01_NAO_generation/SIAB/src_spillage/ReadData.cpp similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_spillage/ReadData.cpp rename to tools/01_NAO_generation/SIAB/src_spillage/ReadData.cpp diff --git a/tools/SIAB/SimulatedAnnealing/source/src_spillage/ReadData.h b/tools/01_NAO_generation/SIAB/src_spillage/ReadData.h similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_spillage/ReadData.h rename to tools/01_NAO_generation/SIAB/src_spillage/ReadData.h diff --git a/tools/SIAB/SimulatedAnnealing/source/src_spillage/Simulated_Annealing_Orbital.h b/tools/01_NAO_generation/SIAB/src_spillage/Simulated_Annealing_Orbital.h similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_spillage/Simulated_Annealing_Orbital.h rename to tools/01_NAO_generation/SIAB/src_spillage/Simulated_Annealing_Orbital.h diff --git a/tools/SIAB/SimulatedAnnealing/source/src_spillage/SpillageStep.cpp b/tools/01_NAO_generation/SIAB/src_spillage/SpillageStep.cpp similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_spillage/SpillageStep.cpp rename to tools/01_NAO_generation/SIAB/src_spillage/SpillageStep.cpp diff --git a/tools/SIAB/SimulatedAnnealing/source/src_spillage/SpillageStep.h b/tools/01_NAO_generation/SIAB/src_spillage/SpillageStep.h similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_spillage/SpillageStep.h rename to tools/01_NAO_generation/SIAB/src_spillage/SpillageStep.h diff --git a/tools/SIAB/SimulatedAnnealing/source/src_spillage/SpillageValue.cpp b/tools/01_NAO_generation/SIAB/src_spillage/SpillageValue.cpp similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_spillage/SpillageValue.cpp rename to tools/01_NAO_generation/SIAB/src_spillage/SpillageValue.cpp diff --git a/tools/SIAB/SimulatedAnnealing/source/src_spillage/SpillageValue.h b/tools/01_NAO_generation/SIAB/src_spillage/SpillageValue.h similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_spillage/SpillageValue.h rename to tools/01_NAO_generation/SIAB/src_spillage/SpillageValue.h diff --git a/tools/SIAB/SimulatedAnnealing/source/src_spillage/Step_Data.cpp b/tools/01_NAO_generation/SIAB/src_spillage/Step_Data.cpp similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_spillage/Step_Data.cpp rename to tools/01_NAO_generation/SIAB/src_spillage/Step_Data.cpp diff --git a/tools/SIAB/SimulatedAnnealing/source/src_spillage/Step_Data.h b/tools/01_NAO_generation/SIAB/src_spillage/Step_Data.h similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_spillage/Step_Data.h rename to tools/01_NAO_generation/SIAB/src_spillage/Step_Data.h diff --git a/tools/SIAB/SimulatedAnnealing/source/src_spillage/Type_Information.cpp b/tools/01_NAO_generation/SIAB/src_spillage/Type_Information.cpp similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_spillage/Type_Information.cpp rename to tools/01_NAO_generation/SIAB/src_spillage/Type_Information.cpp diff --git a/tools/SIAB/SimulatedAnnealing/source/src_spillage/Type_Information.h b/tools/01_NAO_generation/SIAB/src_spillage/Type_Information.h similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_spillage/Type_Information.h rename to tools/01_NAO_generation/SIAB/src_spillage/Type_Information.h diff --git a/tools/SIAB/SimulatedAnnealing/source/src_spillage/common.cpp b/tools/01_NAO_generation/SIAB/src_spillage/common.cpp similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_spillage/common.cpp rename to tools/01_NAO_generation/SIAB/src_spillage/common.cpp diff --git a/tools/SIAB/SimulatedAnnealing/source/src_spillage/common.h b/tools/01_NAO_generation/SIAB/src_spillage/common.h similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_spillage/common.h rename to tools/01_NAO_generation/SIAB/src_spillage/common.h diff --git a/tools/SIAB/SimulatedAnnealing/source/src_spillage/main.cpp b/tools/01_NAO_generation/SIAB/src_spillage/main.cpp similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_spillage/main.cpp rename to tools/01_NAO_generation/SIAB/src_spillage/main.cpp diff --git a/tools/SIAB/SimulatedAnnealing/source/src_spillage/read_INPUT.cpp b/tools/01_NAO_generation/SIAB/src_spillage/read_INPUT.cpp similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_spillage/read_INPUT.cpp rename to tools/01_NAO_generation/SIAB/src_spillage/read_INPUT.cpp diff --git a/tools/SIAB/SimulatedAnnealing/source/src_spillage/read_INPUT.h b/tools/01_NAO_generation/SIAB/src_spillage/read_INPUT.h similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_spillage/read_INPUT.h rename to tools/01_NAO_generation/SIAB/src_spillage/read_INPUT.h diff --git a/tools/SIAB/SimulatedAnnealing/source/src_spillage/tools.cpp b/tools/01_NAO_generation/SIAB/src_spillage/tools.cpp similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_spillage/tools.cpp rename to tools/01_NAO_generation/SIAB/src_spillage/tools.cpp diff --git a/tools/SIAB/SimulatedAnnealing/source/src_spillage/tools.h b/tools/01_NAO_generation/SIAB/src_spillage/tools.h similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_spillage/tools.h rename to tools/01_NAO_generation/SIAB/src_spillage/tools.h diff --git a/tools/SIAB/SimulatedAnnealing/source/src_tools/Gram_Schmidt_Orth.h b/tools/01_NAO_generation/SIAB/src_tools/Gram_Schmidt_Orth.h similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_tools/Gram_Schmidt_Orth.h rename to tools/01_NAO_generation/SIAB/src_tools/Gram_Schmidt_Orth.h diff --git a/tools/SIAB/SimulatedAnnealing/source/src_tools/Gram_Schmidt_Orth_bak.cpp b/tools/01_NAO_generation/SIAB/src_tools/Gram_Schmidt_Orth_bak.cpp similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_tools/Gram_Schmidt_Orth_bak.cpp rename to tools/01_NAO_generation/SIAB/src_tools/Gram_Schmidt_Orth_bak.cpp diff --git a/tools/SIAB/SimulatedAnnealing/source/src_tools/Gram_Schmidt_Orth_bak.h b/tools/01_NAO_generation/SIAB/src_tools/Gram_Schmidt_Orth_bak.h similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_tools/Gram_Schmidt_Orth_bak.h rename to tools/01_NAO_generation/SIAB/src_tools/Gram_Schmidt_Orth_bak.h diff --git a/tools/SIAB/SimulatedAnnealing/source/src_tools/Random.h b/tools/01_NAO_generation/SIAB/src_tools/Random.h similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_tools/Random.h rename to tools/01_NAO_generation/SIAB/src_tools/Random.h diff --git a/tools/SIAB/SimulatedAnnealing/source/src_tools/Simulated_Annealing.cpp b/tools/01_NAO_generation/SIAB/src_tools/Simulated_Annealing.cpp similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_tools/Simulated_Annealing.cpp rename to tools/01_NAO_generation/SIAB/src_tools/Simulated_Annealing.cpp diff --git a/tools/SIAB/SimulatedAnnealing/source/src_tools/Simulated_Annealing.h b/tools/01_NAO_generation/SIAB/src_tools/Simulated_Annealing.h similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_tools/Simulated_Annealing.h rename to tools/01_NAO_generation/SIAB/src_tools/Simulated_Annealing.h diff --git a/tools/SIAB/SimulatedAnnealing/source/src_tools/complexarray.cpp b/tools/01_NAO_generation/SIAB/src_tools/complexarray.cpp similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_tools/complexarray.cpp rename to tools/01_NAO_generation/SIAB/src_tools/complexarray.cpp diff --git a/tools/SIAB/SimulatedAnnealing/source/src_tools/complexarray.h b/tools/01_NAO_generation/SIAB/src_tools/complexarray.h similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_tools/complexarray.h rename to tools/01_NAO_generation/SIAB/src_tools/complexarray.h diff --git a/tools/SIAB/SimulatedAnnealing/source/src_tools/complexmatrix.cpp b/tools/01_NAO_generation/SIAB/src_tools/complexmatrix.cpp similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_tools/complexmatrix.cpp rename to tools/01_NAO_generation/SIAB/src_tools/complexmatrix.cpp diff --git a/tools/SIAB/SimulatedAnnealing/source/src_tools/complexmatrix.h b/tools/01_NAO_generation/SIAB/src_tools/complexmatrix.h similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_tools/complexmatrix.h rename to tools/01_NAO_generation/SIAB/src_tools/complexmatrix.h diff --git a/tools/SIAB/SimulatedAnnealing/source/src_tools/complexmatrix_inline.h b/tools/01_NAO_generation/SIAB/src_tools/complexmatrix_inline.h similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_tools/complexmatrix_inline.h rename to tools/01_NAO_generation/SIAB/src_tools/complexmatrix_inline.h diff --git a/tools/SIAB/SimulatedAnnealing/source/src_tools/intarray.cpp b/tools/01_NAO_generation/SIAB/src_tools/intarray.cpp similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_tools/intarray.cpp rename to tools/01_NAO_generation/SIAB/src_tools/intarray.cpp diff --git a/tools/SIAB/SimulatedAnnealing/source/src_tools/intarray.h b/tools/01_NAO_generation/SIAB/src_tools/intarray.h similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_tools/intarray.h rename to tools/01_NAO_generation/SIAB/src_tools/intarray.h diff --git a/tools/SIAB/SimulatedAnnealing/source/src_tools/inverse_matrix.cpp b/tools/01_NAO_generation/SIAB/src_tools/inverse_matrix.cpp similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_tools/inverse_matrix.cpp rename to tools/01_NAO_generation/SIAB/src_tools/inverse_matrix.cpp diff --git a/tools/SIAB/SimulatedAnnealing/source/src_tools/inverse_matrix.h b/tools/01_NAO_generation/SIAB/src_tools/inverse_matrix.h similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_tools/inverse_matrix.h rename to tools/01_NAO_generation/SIAB/src_tools/inverse_matrix.h diff --git a/tools/SIAB/SimulatedAnnealing/source/src_tools/inverse_matrix_iterate.cpp b/tools/01_NAO_generation/SIAB/src_tools/inverse_matrix_iterate.cpp similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_tools/inverse_matrix_iterate.cpp rename to tools/01_NAO_generation/SIAB/src_tools/inverse_matrix_iterate.cpp diff --git a/tools/SIAB/SimulatedAnnealing/source/src_tools/inverse_matrix_iterate.h b/tools/01_NAO_generation/SIAB/src_tools/inverse_matrix_iterate.h similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_tools/inverse_matrix_iterate.h rename to tools/01_NAO_generation/SIAB/src_tools/inverse_matrix_iterate.h diff --git a/tools/SIAB/SimulatedAnnealing/source/src_tools/inverse_matrix_iterate_bak.cpp b/tools/01_NAO_generation/SIAB/src_tools/inverse_matrix_iterate_bak.cpp similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_tools/inverse_matrix_iterate_bak.cpp rename to tools/01_NAO_generation/SIAB/src_tools/inverse_matrix_iterate_bak.cpp diff --git a/tools/SIAB/SimulatedAnnealing/source/src_tools/inverse_matrix_iterate_inline.h b/tools/01_NAO_generation/SIAB/src_tools/inverse_matrix_iterate_inline.h similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_tools/inverse_matrix_iterate_inline.h rename to tools/01_NAO_generation/SIAB/src_tools/inverse_matrix_iterate_inline.h diff --git a/tools/SIAB/SimulatedAnnealing/source/src_tools/inverse_matrix_perturbe.cpp b/tools/01_NAO_generation/SIAB/src_tools/inverse_matrix_perturbe.cpp similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_tools/inverse_matrix_perturbe.cpp rename to tools/01_NAO_generation/SIAB/src_tools/inverse_matrix_perturbe.cpp diff --git a/tools/SIAB/SimulatedAnnealing/source/src_tools/inverse_matrix_perturbe.h b/tools/01_NAO_generation/SIAB/src_tools/inverse_matrix_perturbe.h similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_tools/inverse_matrix_perturbe.h rename to tools/01_NAO_generation/SIAB/src_tools/inverse_matrix_perturbe.h diff --git a/tools/SIAB/SimulatedAnnealing/source/src_tools/lapack_connector.h b/tools/01_NAO_generation/SIAB/src_tools/lapack_connector.h similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_tools/lapack_connector.h rename to tools/01_NAO_generation/SIAB/src_tools/lapack_connector.h diff --git a/tools/SIAB/SimulatedAnnealing/source/src_tools/mathzone.cpp b/tools/01_NAO_generation/SIAB/src_tools/mathzone.cpp similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_tools/mathzone.cpp rename to tools/01_NAO_generation/SIAB/src_tools/mathzone.cpp diff --git a/tools/SIAB/SimulatedAnnealing/source/src_tools/mathzone.h b/tools/01_NAO_generation/SIAB/src_tools/mathzone.h similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_tools/mathzone.h rename to tools/01_NAO_generation/SIAB/src_tools/mathzone.h diff --git a/tools/SIAB/SimulatedAnnealing/source/src_tools/matrix.cpp b/tools/01_NAO_generation/SIAB/src_tools/matrix.cpp similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_tools/matrix.cpp rename to tools/01_NAO_generation/SIAB/src_tools/matrix.cpp diff --git a/tools/SIAB/SimulatedAnnealing/source/src_tools/matrix.h b/tools/01_NAO_generation/SIAB/src_tools/matrix.h similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_tools/matrix.h rename to tools/01_NAO_generation/SIAB/src_tools/matrix.h diff --git a/tools/SIAB/SimulatedAnnealing/source/src_tools/matrix3.cpp b/tools/01_NAO_generation/SIAB/src_tools/matrix3.cpp similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_tools/matrix3.cpp rename to tools/01_NAO_generation/SIAB/src_tools/matrix3.cpp diff --git a/tools/SIAB/SimulatedAnnealing/source/src_tools/matrix3.h b/tools/01_NAO_generation/SIAB/src_tools/matrix3.h similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_tools/matrix3.h rename to tools/01_NAO_generation/SIAB/src_tools/matrix3.h diff --git a/tools/SIAB/SimulatedAnnealing/source/src_tools/realarray.cpp b/tools/01_NAO_generation/SIAB/src_tools/realarray.cpp similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_tools/realarray.cpp rename to tools/01_NAO_generation/SIAB/src_tools/realarray.cpp diff --git a/tools/SIAB/SimulatedAnnealing/source/src_tools/realarray.h b/tools/01_NAO_generation/SIAB/src_tools/realarray.h similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_tools/realarray.h rename to tools/01_NAO_generation/SIAB/src_tools/realarray.h diff --git a/tools/SIAB/SimulatedAnnealing/source/src_tools/timer.cpp b/tools/01_NAO_generation/SIAB/src_tools/timer.cpp similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_tools/timer.cpp rename to tools/01_NAO_generation/SIAB/src_tools/timer.cpp diff --git a/tools/SIAB/SimulatedAnnealing/source/src_tools/timer.h b/tools/01_NAO_generation/SIAB/src_tools/timer.h similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_tools/timer.h rename to tools/01_NAO_generation/SIAB/src_tools/timer.h diff --git a/tools/SIAB/SimulatedAnnealing/source/src_tools/vector3.h b/tools/01_NAO_generation/SIAB/src_tools/vector3.h similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_tools/vector3.h rename to tools/01_NAO_generation/SIAB/src_tools/vector3.h diff --git a/tools/SIAB/SimulatedAnnealing/source/src_unittest/src_tools/common_test.h b/tools/01_NAO_generation/SIAB/src_unittest/src_tools/common_test.h similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_unittest/src_tools/common_test.h rename to tools/01_NAO_generation/SIAB/src_unittest/src_tools/common_test.h diff --git a/tools/SIAB/SimulatedAnnealing/source/src_unittest/src_tools/inverse_matrix_iterate_unittest.h b/tools/01_NAO_generation/SIAB/src_unittest/src_tools/inverse_matrix_iterate_unittest.h similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_unittest/src_tools/inverse_matrix_iterate_unittest.h rename to tools/01_NAO_generation/SIAB/src_unittest/src_tools/inverse_matrix_iterate_unittest.h diff --git a/tools/SIAB/SimulatedAnnealing/source/src_unittest/src_tools/inverse_matrix_perturbe_unittest.h b/tools/01_NAO_generation/SIAB/src_unittest/src_tools/inverse_matrix_perturbe_unittest.h similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_unittest/src_tools/inverse_matrix_perturbe_unittest.h rename to tools/01_NAO_generation/SIAB/src_unittest/src_tools/inverse_matrix_perturbe_unittest.h diff --git a/tools/SIAB/SimulatedAnnealing/source/src_unittest/src_tools/inverse_matrix_unittest.h b/tools/01_NAO_generation/SIAB/src_unittest/src_tools/inverse_matrix_unittest.h similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_unittest/src_tools/inverse_matrix_unittest.h rename to tools/01_NAO_generation/SIAB/src_unittest/src_tools/inverse_matrix_unittest.h diff --git a/tools/SIAB/SimulatedAnnealing/source/src_unittest/src_tools/matrix_multiply.h b/tools/01_NAO_generation/SIAB/src_unittest/src_tools/matrix_multiply.h similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/src_unittest/src_tools/matrix_multiply.h rename to tools/01_NAO_generation/SIAB/src_unittest/src_tools/matrix_multiply.h diff --git a/tools/SIAB/SimulatedAnnealing/source/tests_p/INPUT b/tools/01_NAO_generation/SIAB/tests_p/INPUT similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/tests_p/INPUT rename to tools/01_NAO_generation/SIAB/tests_p/INPUT diff --git a/tools/SIAB/SimulatedAnnealing/source/tests_p/node_openmpi b/tools/01_NAO_generation/SIAB/tests_p/node_openmpi similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/tests_p/node_openmpi rename to tools/01_NAO_generation/SIAB/tests_p/node_openmpi diff --git a/tools/SIAB/SimulatedAnnealing/source/tests_p/p.sh b/tools/01_NAO_generation/SIAB/tests_p/p.sh similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/tests_p/p.sh rename to tools/01_NAO_generation/SIAB/tests_p/p.sh diff --git a/tools/SIAB/SimulatedAnnealing/source/tests_s/H-6-0.6.15.dat b/tools/01_NAO_generation/SIAB/tests_s/H-6-0.6.15.dat similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/tests_s/H-6-0.6.15.dat rename to tools/01_NAO_generation/SIAB/tests_s/H-6-0.6.15.dat diff --git a/tools/SIAB/SimulatedAnnealing/source/tests_s/INPUT b/tools/01_NAO_generation/SIAB/tests_s/INPUT similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/tests_s/INPUT rename to tools/01_NAO_generation/SIAB/tests_s/INPUT diff --git a/tools/SIAB/SimulatedAnnealing/source/tests_s/s.sh b/tools/01_NAO_generation/SIAB/tests_s/s.sh similarity index 100% rename from tools/SIAB/SimulatedAnnealing/source/tests_s/s.sh rename to tools/01_NAO_generation/SIAB/tests_s/s.sh diff --git a/tools/SIAB/PyTorchGradient/example_opt_abfs_bash/__init__.py b/tools/01_NAO_generation/abfs_bash/__init__.py similarity index 100% rename from tools/SIAB/PyTorchGradient/example_opt_abfs_bash/__init__.py rename to tools/01_NAO_generation/abfs_bash/__init__.py diff --git a/tools/opt_abfs_bash/exx.py b/tools/01_NAO_generation/abfs_bash/exx.py similarity index 100% rename from tools/opt_abfs_bash/exx.py rename to tools/01_NAO_generation/abfs_bash/exx.py diff --git a/tools/opt_abfs_bash/opt_orb.py b/tools/01_NAO_generation/abfs_bash/opt_orb.py similarity index 100% rename from tools/opt_abfs_bash/opt_orb.py rename to tools/01_NAO_generation/abfs_bash/opt_orb.py diff --git a/tools/opt_abfs_bash/read_stru.py b/tools/01_NAO_generation/abfs_bash/read_stru.py similarity index 100% rename from tools/opt_abfs_bash/read_stru.py rename to tools/01_NAO_generation/abfs_bash/read_stru.py diff --git a/tools/opt_abfs_bash/set_dimer.py b/tools/01_NAO_generation/abfs_bash/set_dimer.py similarity index 100% rename from tools/opt_abfs_bash/set_dimer.py rename to tools/01_NAO_generation/abfs_bash/set_dimer.py diff --git a/tools/SIAB/PyTorchGradient/example_opt_abfs_bash/utils.py b/tools/01_NAO_generation/abfs_bash/utils.py similarity index 100% rename from tools/SIAB/PyTorchGradient/example_opt_abfs_bash/utils.py rename to tools/01_NAO_generation/abfs_bash/utils.py diff --git a/tools/SIAB/example1_Si_SA/ORBITAL_INPUT_DZP b/tools/01_NAO_generation/examples/example1_Si_SA/ORBITAL_INPUT_DZP similarity index 100% rename from tools/SIAB/example1_Si_SA/ORBITAL_INPUT_DZP rename to tools/01_NAO_generation/examples/example1_Si_SA/ORBITAL_INPUT_DZP diff --git a/tools/SIAB/example2_Si_PTG/ORBITAL_INPUT_DZP b/tools/01_NAO_generation/examples/example2_Si_PTG/ORBITAL_INPUT_DZP similarity index 100% rename from tools/SIAB/example2_Si_PTG/ORBITAL_INPUT_DZP rename to tools/01_NAO_generation/examples/example2_Si_PTG/ORBITAL_INPUT_DZP diff --git a/tools/SIAB/example2_Si_PTG/ORBITAL_INPUT_TZDP b/tools/01_NAO_generation/examples/example2_Si_PTG/ORBITAL_INPUT_TZDP similarity index 100% rename from tools/SIAB/example2_Si_PTG/ORBITAL_INPUT_TZDP rename to tools/01_NAO_generation/examples/example2_Si_PTG/ORBITAL_INPUT_TZDP diff --git a/tools/SIAB/example3_Si_PTG_dpsi/ORBITAL_INPUT_DZP b/tools/01_NAO_generation/examples/example3_Si_PTG_dpsi/ORBITAL_INPUT_DZP similarity index 100% rename from tools/SIAB/example3_Si_PTG_dpsi/ORBITAL_INPUT_DZP rename to tools/01_NAO_generation/examples/example3_Si_PTG_dpsi/ORBITAL_INPUT_DZP diff --git a/tools/SIAB/example3_Si_PTG_dpsi/ORBITAL_INPUT_TZDP b/tools/01_NAO_generation/examples/example3_Si_PTG_dpsi/ORBITAL_INPUT_TZDP similarity index 100% rename from tools/SIAB/example3_Si_PTG_dpsi/ORBITAL_INPUT_TZDP rename to tools/01_NAO_generation/examples/example3_Si_PTG_dpsi/ORBITAL_INPUT_TZDP diff --git a/tools/SIAB/SimulatedAnnealing/example_N/N_ONCV_PBE-1.0.upf b/tools/01_NAO_generation/examples/example_N/N_ONCV_PBE-1.0.upf similarity index 100% rename from tools/SIAB/SimulatedAnnealing/example_N/N_ONCV_PBE-1.0.upf rename to tools/01_NAO_generation/examples/example_N/N_ONCV_PBE-1.0.upf diff --git a/tools/SIAB/SimulatedAnnealing/example_N/ORBITAL_INPUT b/tools/01_NAO_generation/examples/example_N/ORBITAL_INPUT similarity index 100% rename from tools/SIAB/SimulatedAnnealing/example_N/ORBITAL_INPUT rename to tools/01_NAO_generation/examples/example_N/ORBITAL_INPUT diff --git a/tools/SIAB/SimulatedAnnealing/example_N/README b/tools/01_NAO_generation/examples/example_N/README similarity index 100% rename from tools/SIAB/SimulatedAnnealing/example_N/README rename to tools/01_NAO_generation/examples/example_N/README diff --git a/tools/SIAB/SimulatedAnnealing/example_N/run_history.log b/tools/01_NAO_generation/examples/example_N/run_history.log similarity index 100% rename from tools/SIAB/SimulatedAnnealing/example_N/run_history.log rename to tools/01_NAO_generation/examples/example_N/run_history.log diff --git a/tools/SIAB/PyTorchGradient/source/IO/__init__.py b/tools/01_NAO_generation/examples/example_opt_abfs_bash/__init__.py similarity index 100% rename from tools/SIAB/PyTorchGradient/source/IO/__init__.py rename to tools/01_NAO_generation/examples/example_opt_abfs_bash/__init__.py diff --git a/tools/SIAB/PyTorchGradient/example_opt_abfs_bash/exx.py b/tools/01_NAO_generation/examples/example_opt_abfs_bash/exx.py similarity index 100% rename from tools/SIAB/PyTorchGradient/example_opt_abfs_bash/exx.py rename to tools/01_NAO_generation/examples/example_opt_abfs_bash/exx.py diff --git a/tools/SIAB/PyTorchGradient/example_opt_abfs_bash/opt_orb.py b/tools/01_NAO_generation/examples/example_opt_abfs_bash/opt_orb.py similarity index 100% rename from tools/SIAB/PyTorchGradient/example_opt_abfs_bash/opt_orb.py rename to tools/01_NAO_generation/examples/example_opt_abfs_bash/opt_orb.py diff --git a/tools/SIAB/PyTorchGradient/example_opt_abfs_bash/read_stru.py b/tools/01_NAO_generation/examples/example_opt_abfs_bash/read_stru.py similarity index 100% rename from tools/SIAB/PyTorchGradient/example_opt_abfs_bash/read_stru.py rename to tools/01_NAO_generation/examples/example_opt_abfs_bash/read_stru.py diff --git a/tools/SIAB/PyTorchGradient/example_opt_abfs_bash/set_dimer.py b/tools/01_NAO_generation/examples/example_opt_abfs_bash/set_dimer.py similarity index 100% rename from tools/SIAB/PyTorchGradient/example_opt_abfs_bash/set_dimer.py rename to tools/01_NAO_generation/examples/example_opt_abfs_bash/set_dimer.py diff --git a/tools/opt_abfs_bash/utils.py b/tools/01_NAO_generation/examples/example_opt_abfs_bash/utils.py similarity index 100% rename from tools/opt_abfs_bash/utils.py rename to tools/01_NAO_generation/examples/example_opt_abfs_bash/utils.py diff --git a/tools/SIAB/PyTorchGradient/example_opt_lcao_bash/ORBITAL_INPUT b/tools/01_NAO_generation/examples/example_opt_lcao_bash/ORBITAL_INPUT similarity index 100% rename from tools/SIAB/PyTorchGradient/example_opt_lcao_bash/ORBITAL_INPUT rename to tools/01_NAO_generation/examples/example_opt_lcao_bash/ORBITAL_INPUT diff --git a/tools/SIAB/PyTorchGradient/example_opt_lcao_bash/dis.py b/tools/01_NAO_generation/examples/example_opt_lcao_bash/dis.py similarity index 100% rename from tools/SIAB/PyTorchGradient/example_opt_lcao_bash/dis.py rename to tools/01_NAO_generation/examples/example_opt_lcao_bash/dis.py diff --git a/tools/SIAB/PyTorchGradient/example_opt_lcao_bash/generate_orbital_mixstru.sh b/tools/01_NAO_generation/examples/example_opt_lcao_bash/generate_orbital_mixstru.sh similarity index 100% rename from tools/SIAB/PyTorchGradient/example_opt_lcao_bash/generate_orbital_mixstru.sh rename to tools/01_NAO_generation/examples/example_opt_lcao_bash/generate_orbital_mixstru.sh diff --git a/tools/SIAB/PyTorchGradient/example_opt_lcao_bash/info.json b/tools/01_NAO_generation/examples/example_opt_lcao_bash/info.json similarity index 100% rename from tools/SIAB/PyTorchGradient/example_opt_lcao_bash/info.json rename to tools/01_NAO_generation/examples/example_opt_lcao_bash/info.json diff --git a/tools/SIAB/PyTorchGradient/example_opt_lcao_bash/info_linpz.json b/tools/01_NAO_generation/examples/example_opt_lcao_bash/info_linpz.json similarity index 100% rename from tools/SIAB/PyTorchGradient/example_opt_lcao_bash/info_linpz.json rename to tools/01_NAO_generation/examples/example_opt_lcao_bash/info_linpz.json diff --git a/tools/SIAB/PyTorchGradient/example_opt_lcao_bash/opt_orb.py b/tools/01_NAO_generation/examples/example_opt_lcao_bash/opt_orb.py similarity index 100% rename from tools/SIAB/PyTorchGradient/example_opt_lcao_bash/opt_orb.py rename to tools/01_NAO_generation/examples/example_opt_lcao_bash/opt_orb.py diff --git a/tools/SIAB/PyTorchGradient/example_opt_lcao_bash/opt_orb/C.dat b/tools/01_NAO_generation/examples/example_opt_lcao_bash/opt_orb/C.dat similarity index 100% rename from tools/SIAB/PyTorchGradient/example_opt_lcao_bash/opt_orb/C.dat rename to tools/01_NAO_generation/examples/example_opt_lcao_bash/opt_orb/C.dat diff --git a/tools/SIAB/PyTorchGradient/example_opt_lcao_bash/opt_orb/ORBITAL_14U.dat b/tools/01_NAO_generation/examples/example_opt_lcao_bash/opt_orb/ORBITAL_14U.dat similarity index 100% rename from tools/SIAB/PyTorchGradient/example_opt_lcao_bash/opt_orb/ORBITAL_14U.dat rename to tools/01_NAO_generation/examples/example_opt_lcao_bash/opt_orb/ORBITAL_14U.dat diff --git a/tools/SIAB/PyTorchGradient/example_opt_lcao_bash/opt_orb/ORBITAL_PLOTU.dat b/tools/01_NAO_generation/examples/example_opt_lcao_bash/opt_orb/ORBITAL_PLOTU.dat similarity index 100% rename from tools/SIAB/PyTorchGradient/example_opt_lcao_bash/opt_orb/ORBITAL_PLOTU.dat rename to tools/01_NAO_generation/examples/example_opt_lcao_bash/opt_orb/ORBITAL_PLOTU.dat diff --git a/tools/SIAB/PyTorchGradient/example_opt_lcao_bash/opt_orb/ORBITAL_RESULTS.txt b/tools/01_NAO_generation/examples/example_opt_lcao_bash/opt_orb/ORBITAL_RESULTS.txt similarity index 100% rename from tools/SIAB/PyTorchGradient/example_opt_lcao_bash/opt_orb/ORBITAL_RESULTS.txt rename to tools/01_NAO_generation/examples/example_opt_lcao_bash/opt_orb/ORBITAL_RESULTS.txt diff --git a/tools/SIAB/PyTorchGradient/example_opt_lcao_bash/opt_orb/Spillage.dat b/tools/01_NAO_generation/examples/example_opt_lcao_bash/opt_orb/Spillage.dat similarity index 100% rename from tools/SIAB/PyTorchGradient/example_opt_lcao_bash/opt_orb/Spillage.dat rename to tools/01_NAO_generation/examples/example_opt_lcao_bash/opt_orb/Spillage.dat diff --git a/tools/SIAB/PyTorchGradient/example_opt_lcao_bash/opt_orb/input.json b/tools/01_NAO_generation/examples/example_opt_lcao_bash/opt_orb/input.json similarity index 100% rename from tools/SIAB/PyTorchGradient/example_opt_lcao_bash/opt_orb/input.json rename to tools/01_NAO_generation/examples/example_opt_lcao_bash/opt_orb/input.json diff --git a/tools/SIAB/PyTorchGradient/example_opt_lcao_bash/opt_orb/job.log b/tools/01_NAO_generation/examples/example_opt_lcao_bash/opt_orb/job.log similarity index 100% rename from tools/SIAB/PyTorchGradient/example_opt_lcao_bash/opt_orb/job.log rename to tools/01_NAO_generation/examples/example_opt_lcao_bash/opt_orb/job.log diff --git a/tools/SIAB/PyTorchGradient/example_opt_lcao_bash/opt_orb/running_stdout.log b/tools/01_NAO_generation/examples/example_opt_lcao_bash/opt_orb/running_stdout.log similarity index 100% rename from tools/SIAB/PyTorchGradient/example_opt_lcao_bash/opt_orb/running_stdout.log rename to tools/01_NAO_generation/examples/example_opt_lcao_bash/opt_orb/running_stdout.log diff --git a/tools/SIAB/PyTorchGradient/example_opt_lcao_bash/opt_orb/sub.sh b/tools/01_NAO_generation/examples/example_opt_lcao_bash/opt_orb/sub.sh similarity index 100% rename from tools/SIAB/PyTorchGradient/example_opt_lcao_bash/opt_orb/sub.sh rename to tools/01_NAO_generation/examples/example_opt_lcao_bash/opt_orb/sub.sh diff --git a/tools/SIAB/PyTorchGradient/example_opt_lcao_bash/pre_run.sh b/tools/01_NAO_generation/examples/example_opt_lcao_bash/pre_run.sh similarity index 100% rename from tools/SIAB/PyTorchGradient/example_opt_lcao_bash/pre_run.sh rename to tools/01_NAO_generation/examples/example_opt_lcao_bash/pre_run.sh diff --git a/tools/SIAB/PyTorchGradient/example_opt_lcao_bash/print_file.py b/tools/01_NAO_generation/examples/example_opt_lcao_bash/print_file.py similarity index 100% rename from tools/SIAB/PyTorchGradient/example_opt_lcao_bash/print_file.py rename to tools/01_NAO_generation/examples/example_opt_lcao_bash/print_file.py diff --git a/tools/SIAB/PyTorchGradient/example_opt_lcao_bash/read_info.py b/tools/01_NAO_generation/examples/example_opt_lcao_bash/read_info.py similarity index 100% rename from tools/SIAB/PyTorchGradient/example_opt_lcao_bash/read_info.py rename to tools/01_NAO_generation/examples/example_opt_lcao_bash/read_info.py diff --git a/tools/SIAB/PyTorchGradient/example_opt_lcao_bash/utils.py b/tools/01_NAO_generation/examples/example_opt_lcao_bash/utils.py similarity index 100% rename from tools/SIAB/PyTorchGradient/example_opt_lcao_bash/utils.py rename to tools/01_NAO_generation/examples/example_opt_lcao_bash/utils.py diff --git a/tools/opt_lcao_bash/dis.py b/tools/01_NAO_generation/lcao_bash/dis.py similarity index 100% rename from tools/opt_lcao_bash/dis.py rename to tools/01_NAO_generation/lcao_bash/dis.py diff --git a/tools/opt_lcao_bash/opt_orb.py b/tools/01_NAO_generation/lcao_bash/opt_orb.py similarity index 100% rename from tools/opt_lcao_bash/opt_orb.py rename to tools/01_NAO_generation/lcao_bash/opt_orb.py diff --git a/tools/opt_lcao_bash/print_file.py b/tools/01_NAO_generation/lcao_bash/print_file.py similarity index 100% rename from tools/opt_lcao_bash/print_file.py rename to tools/01_NAO_generation/lcao_bash/print_file.py diff --git a/tools/opt_lcao_bash/read_info.py b/tools/01_NAO_generation/lcao_bash/read_info.py similarity index 100% rename from tools/opt_lcao_bash/read_info.py rename to tools/01_NAO_generation/lcao_bash/read_info.py diff --git a/tools/opt_lcao_bash/utils.py b/tools/01_NAO_generation/lcao_bash/utils.py similarity index 100% rename from tools/opt_lcao_bash/utils.py rename to tools/01_NAO_generation/lcao_bash/utils.py diff --git a/tools/SIAB/PyTorchGradient/source/__init__.py b/tools/01_NAO_generation/pytorch/IO/__init__.py similarity index 100% rename from tools/SIAB/PyTorchGradient/source/__init__.py rename to tools/01_NAO_generation/pytorch/IO/__init__.py diff --git a/tools/opt_orb_pytorch/IO/func_C.py b/tools/01_NAO_generation/pytorch/IO/func_C.py similarity index 100% rename from tools/opt_orb_pytorch/IO/func_C.py rename to tools/01_NAO_generation/pytorch/IO/func_C.py diff --git a/tools/SIAB/PyTorchGradient/source/IO/print_QSV.py b/tools/01_NAO_generation/pytorch/IO/print_QSV.py similarity index 100% rename from tools/SIAB/PyTorchGradient/source/IO/print_QSV.py rename to tools/01_NAO_generation/pytorch/IO/print_QSV.py diff --git a/tools/opt_orb_pytorch/IO/print_orbital.py b/tools/01_NAO_generation/pytorch/IO/print_orbital.py similarity index 100% rename from tools/opt_orb_pytorch/IO/print_orbital.py rename to tools/01_NAO_generation/pytorch/IO/print_orbital.py diff --git a/tools/opt_orb_pytorch/IO/read_QSV.py b/tools/01_NAO_generation/pytorch/IO/read_QSV.py similarity index 100% rename from tools/opt_orb_pytorch/IO/read_QSV.py rename to tools/01_NAO_generation/pytorch/IO/read_QSV.py diff --git a/tools/SIAB/PyTorchGradient/source/IO/read_json.py b/tools/01_NAO_generation/pytorch/IO/read_json.py similarity index 100% rename from tools/SIAB/PyTorchGradient/source/IO/read_json.py rename to tools/01_NAO_generation/pytorch/IO/read_json.py diff --git a/tools/opt_abfs_bash/__init__.py b/tools/01_NAO_generation/pytorch/__init__.py similarity index 100% rename from tools/opt_abfs_bash/__init__.py rename to tools/01_NAO_generation/pytorch/__init__.py diff --git a/tools/SIAB/PyTorchGradient/source/inverse.py b/tools/01_NAO_generation/pytorch/inverse.py similarity index 100% rename from tools/SIAB/PyTorchGradient/source/inverse.py rename to tools/01_NAO_generation/pytorch/inverse.py diff --git a/tools/opt_orb_pytorch/main.py b/tools/01_NAO_generation/pytorch/main.py similarity index 100% rename from tools/opt_orb_pytorch/main.py rename to tools/01_NAO_generation/pytorch/main.py diff --git a/tools/SIAB/PyTorchGradient/source/opt_orbital.py b/tools/01_NAO_generation/pytorch/opt_orbital.py similarity index 100% rename from tools/SIAB/PyTorchGradient/source/opt_orbital.py rename to tools/01_NAO_generation/pytorch/opt_orbital.py diff --git a/tools/SIAB/PyTorchGradient/source/opt_orbital.py_real b/tools/01_NAO_generation/pytorch/opt_orbital.py_real similarity index 100% rename from tools/SIAB/PyTorchGradient/source/opt_orbital.py_real rename to tools/01_NAO_generation/pytorch/opt_orbital.py_real diff --git a/tools/SIAB/PyTorchGradient/source/orbital.py b/tools/01_NAO_generation/pytorch/orbital.py similarity index 100% rename from tools/SIAB/PyTorchGradient/source/orbital.py rename to tools/01_NAO_generation/pytorch/orbital.py diff --git a/tools/SIAB/PyTorchGradient/source/pf.py b/tools/01_NAO_generation/pytorch/pf.py similarity index 100% rename from tools/SIAB/PyTorchGradient/source/pf.py rename to tools/01_NAO_generation/pytorch/pf.py diff --git a/tools/SIAB/PyTorchGradient/source/torch_complex.py b/tools/01_NAO_generation/pytorch/torch_complex.py similarity index 100% rename from tools/SIAB/PyTorchGradient/source/torch_complex.py rename to tools/01_NAO_generation/pytorch/torch_complex.py diff --git a/tools/SIAB/PyTorchGradient/source/unittest_inverse.py b/tools/01_NAO_generation/pytorch/unittest_inverse.py similarity index 100% rename from tools/SIAB/PyTorchGradient/source/unittest_inverse.py rename to tools/01_NAO_generation/pytorch/unittest_inverse.py diff --git a/tools/opt_orb_pytorch/util.py b/tools/01_NAO_generation/pytorch/util.py similarity index 100% rename from tools/opt_orb_pytorch/util.py rename to tools/01_NAO_generation/pytorch/util.py diff --git a/tools/opt_orb_pytorch_dpsi/IO/cal_weight.py b/tools/01_NAO_generation/pytorch_dpsi/IO/cal_weight.py similarity index 100% rename from tools/opt_orb_pytorch_dpsi/IO/cal_weight.py rename to tools/01_NAO_generation/pytorch_dpsi/IO/cal_weight.py diff --git a/tools/opt_orb_pytorch_dpsi/IO/change_info.py b/tools/01_NAO_generation/pytorch_dpsi/IO/change_info.py similarity index 100% rename from tools/opt_orb_pytorch_dpsi/IO/change_info.py rename to tools/01_NAO_generation/pytorch_dpsi/IO/change_info.py diff --git a/tools/opt_orb_pytorch_dpsi/IO/func_C.py b/tools/01_NAO_generation/pytorch_dpsi/IO/func_C.py similarity index 100% rename from tools/opt_orb_pytorch_dpsi/IO/func_C.py rename to tools/01_NAO_generation/pytorch_dpsi/IO/func_C.py diff --git a/tools/opt_orb_pytorch/IO/print_QSV.py b/tools/01_NAO_generation/pytorch_dpsi/IO/print_QSV.py similarity index 100% rename from tools/opt_orb_pytorch/IO/print_QSV.py rename to tools/01_NAO_generation/pytorch_dpsi/IO/print_QSV.py diff --git a/tools/opt_orb_pytorch_dpsi/IO/print_orbital.py b/tools/01_NAO_generation/pytorch_dpsi/IO/print_orbital.py similarity index 100% rename from tools/opt_orb_pytorch_dpsi/IO/print_orbital.py rename to tools/01_NAO_generation/pytorch_dpsi/IO/print_orbital.py diff --git a/tools/opt_orb_pytorch_dpsi/IO/read_QSV.py b/tools/01_NAO_generation/pytorch_dpsi/IO/read_QSV.py similarity index 100% rename from tools/opt_orb_pytorch_dpsi/IO/read_QSV.py rename to tools/01_NAO_generation/pytorch_dpsi/IO/read_QSV.py diff --git a/tools/opt_orb_pytorch_dpsi/IO/read_istate.py b/tools/01_NAO_generation/pytorch_dpsi/IO/read_istate.py similarity index 100% rename from tools/opt_orb_pytorch_dpsi/IO/read_istate.py rename to tools/01_NAO_generation/pytorch_dpsi/IO/read_istate.py diff --git a/tools/opt_orb_pytorch_dpsi/IO/read_json.py b/tools/01_NAO_generation/pytorch_dpsi/IO/read_json.py similarity index 100% rename from tools/opt_orb_pytorch_dpsi/IO/read_json.py rename to tools/01_NAO_generation/pytorch_dpsi/IO/read_json.py diff --git a/tools/opt_orb_pytorch_dpsi/main.py b/tools/01_NAO_generation/pytorch_dpsi/main.py similarity index 100% rename from tools/opt_orb_pytorch_dpsi/main.py rename to tools/01_NAO_generation/pytorch_dpsi/main.py diff --git a/tools/opt_orb_pytorch_dpsi/opt_orbital.py b/tools/01_NAO_generation/pytorch_dpsi/opt_orbital.py similarity index 100% rename from tools/opt_orb_pytorch_dpsi/opt_orbital.py rename to tools/01_NAO_generation/pytorch_dpsi/opt_orbital.py diff --git a/tools/opt_orb_pytorch_dpsi/orbital.py b/tools/01_NAO_generation/pytorch_dpsi/orbital.py similarity index 100% rename from tools/opt_orb_pytorch_dpsi/orbital.py rename to tools/01_NAO_generation/pytorch_dpsi/orbital.py diff --git a/tools/opt_orb_pytorch_dpsi/torch_complex_bak.py b/tools/01_NAO_generation/pytorch_dpsi/torch_complex_bak.py similarity index 100% rename from tools/opt_orb_pytorch_dpsi/torch_complex_bak.py rename to tools/01_NAO_generation/pytorch_dpsi/torch_complex_bak.py diff --git a/tools/opt_orb_pytorch_dpsi/util.py b/tools/01_NAO_generation/pytorch_dpsi/util.py similarity index 100% rename from tools/opt_orb_pytorch_dpsi/util.py rename to tools/01_NAO_generation/pytorch_dpsi/util.py diff --git a/tools/opt_orb_pytorch/IO/__init__.py b/tools/01_NAO_generation/pytorch_gradient_source/IO/__init__.py similarity index 100% rename from tools/opt_orb_pytorch/IO/__init__.py rename to tools/01_NAO_generation/pytorch_gradient_source/IO/__init__.py diff --git a/tools/SIAB/PyTorchGradient/source/IO/func_C.py b/tools/01_NAO_generation/pytorch_gradient_source/IO/func_C.py similarity index 100% rename from tools/SIAB/PyTorchGradient/source/IO/func_C.py rename to tools/01_NAO_generation/pytorch_gradient_source/IO/func_C.py diff --git a/tools/opt_orb_pytorch_dpsi/IO/print_QSV.py b/tools/01_NAO_generation/pytorch_gradient_source/IO/print_QSV.py similarity index 100% rename from tools/opt_orb_pytorch_dpsi/IO/print_QSV.py rename to tools/01_NAO_generation/pytorch_gradient_source/IO/print_QSV.py diff --git a/tools/SIAB/PyTorchGradient/source/IO/print_orbital.py b/tools/01_NAO_generation/pytorch_gradient_source/IO/print_orbital.py similarity index 100% rename from tools/SIAB/PyTorchGradient/source/IO/print_orbital.py rename to tools/01_NAO_generation/pytorch_gradient_source/IO/print_orbital.py diff --git a/tools/SIAB/PyTorchGradient/source/IO/read_QSV.py b/tools/01_NAO_generation/pytorch_gradient_source/IO/read_QSV.py similarity index 100% rename from tools/SIAB/PyTorchGradient/source/IO/read_QSV.py rename to tools/01_NAO_generation/pytorch_gradient_source/IO/read_QSV.py diff --git a/tools/opt_orb_pytorch/IO/read_json.py b/tools/01_NAO_generation/pytorch_gradient_source/IO/read_json.py similarity index 100% rename from tools/opt_orb_pytorch/IO/read_json.py rename to tools/01_NAO_generation/pytorch_gradient_source/IO/read_json.py diff --git a/tools/opt_orb_pytorch/__init__.py b/tools/01_NAO_generation/pytorch_gradient_source/__init__.py similarity index 100% rename from tools/opt_orb_pytorch/__init__.py rename to tools/01_NAO_generation/pytorch_gradient_source/__init__.py diff --git a/tools/opt_orb_pytorch/inverse.py b/tools/01_NAO_generation/pytorch_gradient_source/inverse.py similarity index 100% rename from tools/opt_orb_pytorch/inverse.py rename to tools/01_NAO_generation/pytorch_gradient_source/inverse.py diff --git a/tools/SIAB/PyTorchGradient/source/main.py b/tools/01_NAO_generation/pytorch_gradient_source/main.py similarity index 100% rename from tools/SIAB/PyTorchGradient/source/main.py rename to tools/01_NAO_generation/pytorch_gradient_source/main.py diff --git a/tools/opt_orb_pytorch/opt_orbital.py b/tools/01_NAO_generation/pytorch_gradient_source/opt_orbital.py similarity index 100% rename from tools/opt_orb_pytorch/opt_orbital.py rename to tools/01_NAO_generation/pytorch_gradient_source/opt_orbital.py diff --git a/tools/opt_orb_pytorch/opt_orbital.py_real b/tools/01_NAO_generation/pytorch_gradient_source/opt_orbital.py_real similarity index 100% rename from tools/opt_orb_pytorch/opt_orbital.py_real rename to tools/01_NAO_generation/pytorch_gradient_source/opt_orbital.py_real diff --git a/tools/opt_orb_pytorch/orbital.py b/tools/01_NAO_generation/pytorch_gradient_source/orbital.py similarity index 100% rename from tools/opt_orb_pytorch/orbital.py rename to tools/01_NAO_generation/pytorch_gradient_source/orbital.py diff --git a/tools/opt_orb_pytorch/pf.py b/tools/01_NAO_generation/pytorch_gradient_source/pf.py similarity index 100% rename from tools/opt_orb_pytorch/pf.py rename to tools/01_NAO_generation/pytorch_gradient_source/pf.py diff --git a/tools/opt_orb_pytorch/torch_complex.py b/tools/01_NAO_generation/pytorch_gradient_source/torch_complex.py similarity index 100% rename from tools/opt_orb_pytorch/torch_complex.py rename to tools/01_NAO_generation/pytorch_gradient_source/torch_complex.py diff --git a/tools/opt_orb_pytorch/unittest_inverse.py b/tools/01_NAO_generation/pytorch_gradient_source/unittest_inverse.py similarity index 100% rename from tools/opt_orb_pytorch/unittest_inverse.py rename to tools/01_NAO_generation/pytorch_gradient_source/unittest_inverse.py diff --git a/tools/SIAB/PyTorchGradient/source/util.py b/tools/01_NAO_generation/pytorch_gradient_source/util.py similarity index 100% rename from tools/SIAB/PyTorchGradient/source/util.py rename to tools/01_NAO_generation/pytorch_gradient_source/util.py diff --git a/tools/qo/README.md b/tools/01_NAO_generation/qo/README.md similarity index 100% rename from tools/qo/README.md rename to tools/01_NAO_generation/qo/README.md diff --git a/tools/qo/examples/INPUT b/tools/01_NAO_generation/qo/examples/INPUT similarity index 100% rename from tools/qo/examples/INPUT rename to tools/01_NAO_generation/qo/examples/INPUT diff --git a/tools/qo/examples/KPT b/tools/01_NAO_generation/qo/examples/KPT similarity index 100% rename from tools/qo/examples/KPT rename to tools/01_NAO_generation/qo/examples/KPT diff --git a/tools/qo/examples/STRU b/tools/01_NAO_generation/qo/examples/STRU similarity index 100% rename from tools/qo/examples/STRU rename to tools/01_NAO_generation/qo/examples/STRU diff --git a/tools/qo/examples/reference/band/INPUT b/tools/01_NAO_generation/qo/examples/reference/band/INPUT similarity index 100% rename from tools/qo/examples/reference/band/INPUT rename to tools/01_NAO_generation/qo/examples/reference/band/INPUT diff --git a/tools/qo/examples/reference/band/KPT b/tools/01_NAO_generation/qo/examples/reference/band/KPT similarity index 100% rename from tools/qo/examples/reference/band/KPT rename to tools/01_NAO_generation/qo/examples/reference/band/KPT diff --git a/tools/qo/examples/reference/band/STRU b/tools/01_NAO_generation/qo/examples/reference/band/STRU similarity index 100% rename from tools/qo/examples/reference/band/STRU rename to tools/01_NAO_generation/qo/examples/reference/band/STRU diff --git a/tools/qo/examples/reference/scf/INPUT b/tools/01_NAO_generation/qo/examples/reference/scf/INPUT similarity index 100% rename from tools/qo/examples/reference/scf/INPUT rename to tools/01_NAO_generation/qo/examples/reference/scf/INPUT diff --git a/tools/qo/examples/reference/scf/KPT b/tools/01_NAO_generation/qo/examples/reference/scf/KPT similarity index 100% rename from tools/qo/examples/reference/scf/KPT rename to tools/01_NAO_generation/qo/examples/reference/scf/KPT diff --git a/tools/qo/examples/reference/scf/STRU b/tools/01_NAO_generation/qo/examples/reference/scf/STRU similarity index 100% rename from tools/qo/examples/reference/scf/STRU rename to tools/01_NAO_generation/qo/examples/reference/scf/STRU diff --git a/tools/qo/postprocess.py b/tools/01_NAO_generation/qo/postprocess.py similarity index 100% rename from tools/qo/postprocess.py rename to tools/01_NAO_generation/qo/postprocess.py diff --git a/tools/average_pot/README b/tools/02_postprocessing/average_pot/README similarity index 100% rename from tools/average_pot/README rename to tools/02_postprocessing/average_pot/README diff --git a/tools/average_pot/aveElecStatPot.py b/tools/02_postprocessing/average_pot/aveElecStatPot.py similarity index 100% rename from tools/average_pot/aveElecStatPot.py rename to tools/02_postprocessing/average_pot/aveElecStatPot.py diff --git a/tools/plot-tools/README.md b/tools/02_postprocessing/plot-tools/README.md similarity index 100% rename from tools/plot-tools/README.md rename to tools/02_postprocessing/plot-tools/README.md diff --git a/tools/plot-tools/abacus_plot/__init__.py b/tools/02_postprocessing/plot-tools/abacus_plot/__init__.py similarity index 100% rename from tools/plot-tools/abacus_plot/__init__.py rename to tools/02_postprocessing/plot-tools/abacus_plot/__init__.py diff --git a/tools/plot-tools/abacus_plot/band.py b/tools/02_postprocessing/plot-tools/abacus_plot/band.py similarity index 100% rename from tools/plot-tools/abacus_plot/band.py rename to tools/02_postprocessing/plot-tools/abacus_plot/band.py diff --git a/tools/plot-tools/abacus_plot/dos.py b/tools/02_postprocessing/plot-tools/abacus_plot/dos.py similarity index 100% rename from tools/plot-tools/abacus_plot/dos.py rename to tools/02_postprocessing/plot-tools/abacus_plot/dos.py diff --git a/tools/plot-tools/abacus_plot/main.py b/tools/02_postprocessing/plot-tools/abacus_plot/main.py similarity index 100% rename from tools/plot-tools/abacus_plot/main.py rename to tools/02_postprocessing/plot-tools/abacus_plot/main.py diff --git a/tools/plot-tools/abacus_plot/utils.py b/tools/02_postprocessing/plot-tools/abacus_plot/utils.py similarity index 100% rename from tools/plot-tools/abacus_plot/utils.py rename to tools/02_postprocessing/plot-tools/abacus_plot/utils.py diff --git a/tools/plot-tools/cube_manipulator.py b/tools/02_postprocessing/plot-tools/cube_manipulator.py similarity index 100% rename from tools/plot-tools/cube_manipulator.py rename to tools/02_postprocessing/plot-tools/cube_manipulator.py diff --git a/tools/plot-tools/examples/Si/KLINES b/tools/02_postprocessing/plot-tools/examples/Si/KLINES similarity index 100% rename from tools/plot-tools/examples/Si/KLINES rename to tools/02_postprocessing/plot-tools/examples/Si/KLINES diff --git a/tools/plot-tools/examples/Si/PBAND1_FIG/atom_index-1/atom_index-1-$p_x$.pdf b/tools/02_postprocessing/plot-tools/examples/Si/PBAND1_FIG/atom_index-1/atom_index-1-$p_x$.pdf similarity index 100% rename from tools/plot-tools/examples/Si/PBAND1_FIG/atom_index-1/atom_index-1-$p_x$.pdf rename to tools/02_postprocessing/plot-tools/examples/Si/PBAND1_FIG/atom_index-1/atom_index-1-$p_x$.pdf diff --git a/tools/plot-tools/examples/Si/PBAND1_FIG/atom_index-1/atom_index-1-$p_y$.pdf b/tools/02_postprocessing/plot-tools/examples/Si/PBAND1_FIG/atom_index-1/atom_index-1-$p_y$.pdf similarity index 100% rename from tools/plot-tools/examples/Si/PBAND1_FIG/atom_index-1/atom_index-1-$p_y$.pdf rename to tools/02_postprocessing/plot-tools/examples/Si/PBAND1_FIG/atom_index-1/atom_index-1-$p_y$.pdf diff --git a/tools/plot-tools/examples/Si/PBANDS_1 b/tools/02_postprocessing/plot-tools/examples/Si/PBANDS_1 similarity index 100% rename from tools/plot-tools/examples/Si/PBANDS_1 rename to tools/02_postprocessing/plot-tools/examples/Si/PBANDS_1 diff --git a/tools/plot-tools/examples/Si/PDOS b/tools/02_postprocessing/plot-tools/examples/Si/PDOS similarity index 100% rename from tools/plot-tools/examples/Si/PDOS rename to tools/02_postprocessing/plot-tools/examples/Si/PDOS diff --git a/tools/plot-tools/examples/Si/README b/tools/02_postprocessing/plot-tools/examples/Si/README similarity index 100% rename from tools/plot-tools/examples/Si/README rename to tools/02_postprocessing/plot-tools/examples/Si/README diff --git a/tools/plot-tools/examples/Si/config.json b/tools/02_postprocessing/plot-tools/examples/Si/config.json similarity index 100% rename from tools/plot-tools/examples/Si/config.json rename to tools/02_postprocessing/plot-tools/examples/Si/config.json diff --git a/tools/plot-tools/examples/Si/pdos.png b/tools/02_postprocessing/plot-tools/examples/Si/pdos.png similarity index 100% rename from tools/plot-tools/examples/Si/pdos.png rename to tools/02_postprocessing/plot-tools/examples/Si/pdos.png diff --git a/tools/plot-tools/setup.py b/tools/02_postprocessing/plot-tools/setup.py similarity index 100% rename from tools/plot-tools/setup.py rename to tools/02_postprocessing/plot-tools/setup.py diff --git a/tools/rt-tddft-tools/examples/Absorpation-N2/ABACUS-INPUT b/tools/02_postprocessing/rt-tddft-tools/examples/Absorpation-N2/ABACUS-INPUT similarity index 100% rename from tools/rt-tddft-tools/examples/Absorpation-N2/ABACUS-INPUT rename to tools/02_postprocessing/rt-tddft-tools/examples/Absorpation-N2/ABACUS-INPUT diff --git a/tools/rt-tddft-tools/examples/Absorpation-N2/ABACUS-STRU b/tools/02_postprocessing/rt-tddft-tools/examples/Absorpation-N2/ABACUS-STRU similarity index 100% rename from tools/rt-tddft-tools/examples/Absorpation-N2/ABACUS-STRU rename to tools/02_postprocessing/rt-tddft-tools/examples/Absorpation-N2/ABACUS-STRU diff --git a/tools/rt-tddft-tools/examples/Absorpation-N2/Abs_plot.py b/tools/02_postprocessing/rt-tddft-tools/examples/Absorpation-N2/Abs_plot.py similarity index 100% rename from tools/rt-tddft-tools/examples/Absorpation-N2/Abs_plot.py rename to tools/02_postprocessing/rt-tddft-tools/examples/Absorpation-N2/Abs_plot.py diff --git a/tools/rt-tddft-tools/examples/Absorpation-N2/N_ONCV_PBE-1.0.upf b/tools/02_postprocessing/rt-tddft-tools/examples/Absorpation-N2/N_ONCV_PBE-1.0.upf similarity index 100% rename from tools/rt-tddft-tools/examples/Absorpation-N2/N_ONCV_PBE-1.0.upf rename to tools/02_postprocessing/rt-tddft-tools/examples/Absorpation-N2/N_ONCV_PBE-1.0.upf diff --git a/tools/rt-tddft-tools/examples/Absorpation-N2/N_gga_10au_100Ry_2s2p1d.orb b/tools/02_postprocessing/rt-tddft-tools/examples/Absorpation-N2/N_gga_10au_100Ry_2s2p1d.orb similarity index 100% rename from tools/rt-tddft-tools/examples/Absorpation-N2/N_gga_10au_100Ry_2s2p1d.orb rename to tools/02_postprocessing/rt-tddft-tools/examples/Absorpation-N2/N_gga_10au_100Ry_2s2p1d.orb diff --git a/tools/rt-tddft-tools/examples/Absorpation-N2/dipole_s1.txt b/tools/02_postprocessing/rt-tddft-tools/examples/Absorpation-N2/dipole_s1.txt similarity index 100% rename from tools/rt-tddft-tools/examples/Absorpation-N2/dipole_s1.txt rename to tools/02_postprocessing/rt-tddft-tools/examples/Absorpation-N2/dipole_s1.txt diff --git a/tools/rt-tddft-tools/examples/Absorpation-N2/efield_0.txt b/tools/02_postprocessing/rt-tddft-tools/examples/Absorpation-N2/efield_0.txt similarity index 100% rename from tools/rt-tddft-tools/examples/Absorpation-N2/efield_0.txt rename to tools/02_postprocessing/rt-tddft-tools/examples/Absorpation-N2/efield_0.txt diff --git a/tools/rt-tddft-tools/examples/Absorpation-N2/efield_1.txt b/tools/02_postprocessing/rt-tddft-tools/examples/Absorpation-N2/efield_1.txt similarity index 100% rename from tools/rt-tddft-tools/examples/Absorpation-N2/efield_1.txt rename to tools/02_postprocessing/rt-tddft-tools/examples/Absorpation-N2/efield_1.txt diff --git a/tools/rt-tddft-tools/examples/Absorpation-N2/out_spectra.dat b/tools/02_postprocessing/rt-tddft-tools/examples/Absorpation-N2/out_spectra.dat similarity index 100% rename from tools/rt-tddft-tools/examples/Absorpation-N2/out_spectra.dat rename to tools/02_postprocessing/rt-tddft-tools/examples/Absorpation-N2/out_spectra.dat diff --git a/tools/rt-tddft-tools/examples/ground-state-projection-Si/INPUT b/tools/02_postprocessing/rt-tddft-tools/examples/ground-state-projection-Si/INPUT similarity index 100% rename from tools/rt-tddft-tools/examples/ground-state-projection-Si/INPUT rename to tools/02_postprocessing/rt-tddft-tools/examples/ground-state-projection-Si/INPUT diff --git a/tools/rt-tddft-tools/examples/ground-state-projection-Si/KPT b/tools/02_postprocessing/rt-tddft-tools/examples/ground-state-projection-Si/KPT similarity index 100% rename from tools/rt-tddft-tools/examples/ground-state-projection-Si/KPT rename to tools/02_postprocessing/rt-tddft-tools/examples/ground-state-projection-Si/KPT diff --git a/tools/rt-tddft-tools/examples/ground-state-projection-Si/On1.dat b/tools/02_postprocessing/rt-tddft-tools/examples/ground-state-projection-Si/On1.dat similarity index 100% rename from tools/rt-tddft-tools/examples/ground-state-projection-Si/On1.dat rename to tools/02_postprocessing/rt-tddft-tools/examples/ground-state-projection-Si/On1.dat diff --git a/tools/rt-tddft-tools/examples/ground-state-projection-Si/STRU b/tools/02_postprocessing/rt-tddft-tools/examples/ground-state-projection-Si/STRU similarity index 100% rename from tools/rt-tddft-tools/examples/ground-state-projection-Si/STRU rename to tools/02_postprocessing/rt-tddft-tools/examples/ground-state-projection-Si/STRU diff --git a/tools/rt-tddft-tools/examples/ground-state-projection-Si/projection.py b/tools/02_postprocessing/rt-tddft-tools/examples/ground-state-projection-Si/projection.py similarity index 100% rename from tools/rt-tddft-tools/examples/ground-state-projection-Si/projection.py rename to tools/02_postprocessing/rt-tddft-tools/examples/ground-state-projection-Si/projection.py diff --git a/tools/rt-tddft-tools/overlap_generator.py b/tools/02_postprocessing/rt-tddft-tools/overlap_generator.py similarity index 100% rename from tools/rt-tddft-tools/overlap_generator.py rename to tools/02_postprocessing/rt-tddft-tools/overlap_generator.py diff --git a/tools/rt-tddft-tools/plot_absorption.py b/tools/02_postprocessing/rt-tddft-tools/plot_absorption.py similarity index 100% rename from tools/rt-tddft-tools/plot_absorption.py rename to tools/02_postprocessing/rt-tddft-tools/plot_absorption.py diff --git a/tools/rt-tddft-tools/projection.py b/tools/02_postprocessing/rt-tddft-tools/projection.py similarity index 100% rename from tools/rt-tddft-tools/projection.py rename to tools/02_postprocessing/rt-tddft-tools/projection.py diff --git a/tools/selective_dynamics/README.md b/tools/02_postprocessing/selective_dynamics/README.md similarity index 100% rename from tools/selective_dynamics/README.md rename to tools/02_postprocessing/selective_dynamics/README.md diff --git a/tools/selective_dynamics/selective_dynamics.py b/tools/02_postprocessing/selective_dynamics/selective_dynamics.py similarity index 100% rename from tools/selective_dynamics/selective_dynamics.py rename to tools/02_postprocessing/selective_dynamics/selective_dynamics.py diff --git a/tools/stm/plot.py b/tools/02_postprocessing/stm/plot.py similarity index 100% rename from tools/stm/plot.py rename to tools/02_postprocessing/stm/plot.py diff --git a/tools/stm/stm.py b/tools/02_postprocessing/stm/stm.py similarity index 100% rename from tools/stm/stm.py rename to tools/02_postprocessing/stm/stm.py diff --git a/tools/03_code_analysis/generate_include_analysis.py b/tools/03_code_analysis/generate_include_analysis.py new file mode 100644 index 00000000000..8e8d51b224b --- /dev/null +++ b/tools/03_code_analysis/generate_include_analysis.py @@ -0,0 +1,195 @@ +#!/usr/bin/env python3 +import os +import re +import sys +from collections import defaultdict + +INCLUDE_PATTERN = re.compile(r'^\s*#\s*include\s*["<]([^">]+)[">]', re.MULTILINE) + +def find_source_files(root_dir): + cpp_files = [] + h_files = [] + for dirpath, dirnames, filenames in os.walk(root_dir): + for filename in filenames: + if filename.endswith('.cpp'): + cpp_files.append(os.path.join(dirpath, filename)) + elif filename.endswith('.h'): + h_files.append(os.path.join(dirpath, filename)) + return cpp_files + h_files + +def parse_includes(filepath, include_dirs): + try: + with open(filepath, 'r', encoding='utf-8', errors='ignore') as f: + content = f.read() + except: + return [] + + includes = [] + for match in INCLUDE_PATTERN.finditer(content): + include_path = match.group(1) + includes.append(include_path) + return includes + +def resolve_include(include_name, source_file_dir, include_dirs): + for include_dir in [source_file_dir] + include_dirs: + full_path = os.path.join(include_dir, include_name) + if os.path.exists(full_path): + return os.path.normpath(full_path) + return None + +def compute_depth(filepath, include_map, visited, depth_cache, include_dirs): + if filepath in depth_cache: + return depth_cache[filepath] + if filepath in visited: + return 0 + + visited.add(filepath) + max_depth = 0 + source_dir = os.path.dirname(filepath) + + if filepath not in include_map: + depth_cache[filepath] = 0 + visited.remove(filepath) + return 0 + + for include_name in include_map[filepath]: + resolved_path = resolve_include(include_name, source_dir, include_dirs) + if resolved_path: + child_depth = compute_depth(resolved_path, include_map, visited, depth_cache, include_dirs) + max_depth = max(max_depth, child_depth + 1) + + depth_cache[filepath] = max_depth + visited.remove(filepath) + return max_depth + +def get_include_chain(filepath, include_map, include_dirs, max_depth=30): + chain = [filepath] + visited = set() + visited.add(filepath) + current = filepath + + for _ in range(max_depth): + source_dir = os.path.dirname(current) + if current not in include_map or not include_map[current]: + break + + next_include = None + max_child_depth = -1 + + for include_name in include_map[current]: + resolved_path = resolve_include(include_name, source_dir, include_dirs) + if resolved_path and resolved_path not in visited: + child_depth = 0 + temp_visited = set() + child_depth = compute_depth(resolved_path, include_map, temp_visited, {}, include_dirs) + if child_depth > max_child_depth: + max_child_depth = child_depth + next_include = resolved_path + + if next_include: + visited.add(next_include) + chain.append(next_include) + current = next_include + else: + break + + return chain + +def main(): + script_dir = os.path.dirname(os.path.abspath(__file__)) + # Script is at tools/03_code_analysis/, repo root is two levels up + repo_root = os.path.dirname(os.path.dirname(script_dir)) + root_dir = os.path.join(repo_root, 'source') + + include_dirs = [ + root_dir, + os.path.join(root_dir, 'source_base'), + os.path.join(root_dir, 'source_cell'), + os.path.join(root_dir, 'source_pw'), + os.path.join(root_dir, 'source_lcao'), + os.path.join(root_dir, 'source_basis'), + os.path.join(root_dir, 'source_esolver'), + os.path.join(root_dir, 'source_hsolver'), + os.path.join(root_dir, 'source_io'), + os.path.join(root_dir, 'source_psi'), + os.path.join(root_dir, 'source_relax'), + os.path.join(root_dir, 'source_estate'), + os.path.join(root_dir, 'source_hamilt'), + os.path.join(root_dir, 'source_main'), + os.path.join(root_dir, 'source_md'), + ] + + all_files = find_source_files(root_dir) + print(f"Found {len(all_files)} source files") + + include_map = {} + for filepath in all_files: + includes = parse_includes(filepath, include_dirs) + if includes: + include_map[filepath] = includes + + print(f"Parsed includes for {len(include_map)} files") + + depth_cache = {} + file_depths = [] + + for filepath in all_files: + visited = set() + depth = compute_depth(filepath, include_map, visited, depth_cache, include_dirs) + file_depths.append((filepath, depth)) + + file_depths.sort(key=lambda x: -x[1]) + + min_depth = 18 + deep_files = [(f, d) for f, d in file_depths if d >= min_depth] + + output = [] + output.append(f"=== Files with #include dependency depth >= {min_depth} ===") + output.append(f"Total found: {len(deep_files)} files") + output.append("") + + top_10 = deep_files[:10] + if top_10: + output.append("=" * 80) + output.append("TOP 10 deepest dependency chains (showing full include path):") + output.append("=" * 80) + output.append("") + + for filepath, depth in top_10: + chain = get_include_chain(filepath, include_map, include_dirs) + rel_path = os.path.relpath(filepath, root_dir) + output.append(f" Depth {depth}: {rel_path}") + output.append(" Include chain:") + for i, step in enumerate(chain): + prefix = " " if i == 0 else " -> " + output.append(f"{prefix}{os.path.relpath(step, root_dir)}") + output.append("") + + output.append("=" * 80) + output.append(f"Full list of all {len(deep_files)} files with depth >= {min_depth}:") + output.append("=" * 80) + output.append("") + + depth_groups = defaultdict(list) + for filepath, depth in deep_files: + depth_groups[depth].append(filepath) + + for depth in sorted(depth_groups.keys(), reverse=True): + files = sorted(depth_groups[depth]) + output.append(f" Depth {depth} ({len(files)} files):") + for filepath in files: + rel_path = os.path.relpath(filepath, root_dir) + output.append(f" {rel_path}") + output.append("") + + output_path = os.path.join(script_dir, 'deep_include_analysis.txt') + with open(output_path, 'w') as f: + f.write('\n'.join(output)) + + print(f"Analysis complete.") + print(f"Results have been generated at:") + print(f" {output_path}") + print(f"Total files with depth >= {min_depth}: {len(deep_files)}") + +if __name__ == '__main__': + main() diff --git a/tools/windows/.gitattributes b/tools/04_windows_installation/.gitattributes similarity index 100% rename from tools/windows/.gitattributes rename to tools/04_windows_installation/.gitattributes diff --git a/tools/windows/README.md b/tools/04_windows_installation/README.md similarity index 100% rename from tools/windows/README.md rename to tools/04_windows_installation/README.md diff --git a/tools/windows/install-abacus.bat b/tools/04_windows_installation/install-abacus.bat similarity index 100% rename from tools/windows/install-abacus.bat rename to tools/04_windows_installation/install-abacus.bat diff --git a/tools/windows/provision.sh b/tools/04_windows_installation/provision.sh similarity index 100% rename from tools/windows/provision.sh rename to tools/04_windows_installation/provision.sh diff --git a/tools/windows/uninstall-abacus.bat b/tools/04_windows_installation/uninstall-abacus.bat similarity index 100% rename from tools/windows/uninstall-abacus.bat rename to tools/04_windows_installation/uninstall-abacus.bat diff --git a/tools/README.md b/tools/README.md index a3ce30b1139..3be2d8f130c 100644 --- a/tools/README.md +++ b/tools/README.md @@ -1,25 +1,99 @@ -SIAB: codes to generate numerical atomic orbitals. +# ABACUS Tools -molden: generate molden style file for Multiwfn analysis. +This directory contains various auxiliary tools for ABACUS calculations. -plot-tools: band structure, dos and pdos, dipole and adsorption. +## Directory Structure -rt-tddft-tools: tools for real-time tddft. +``` +tools/ +├── README.md +│ +├── 01_NAO_generation/ # Numerical atomic orbital generation tools +│ ├── SIAB/ # Simulated Annealing method (C++) +│ ├── pytorch/ # PyTorch gradient method V1 +│ ├── pytorch_dpsi/ # PyTorch gradient method V2 (with dpsi) +│ ├── pytorch_gradient_source/ # Original PyTorch gradient implementation +│ ├── lcao_bash/ # LCAO basis set bash tools +│ ├── abfs_bash/ # ABFS basis set bash tools +│ ├── qo/ # Quasiatomic orbital (QO) generation +│ ├── Generate_Orbital_AllInOne.sh # Main orbital generation script +│ └── examples/ # Usage examples +│ +├── 02_postprocessing/ # Post-processing and visualization tools +│ ├── rt-tddft-tools/ # Real-time TDDFT analysis +│ ├── stm/ # STM image generation +│ ├── average_pot/ # Average electrostatic potential +│ ├── selective_dynamics/ # ABACUS + Phonopy phonon calculation +│ └── plot-tools/ # Band structure, DOS, dipole and absorption +│ +├── 03_code_analysis/ # Source code analysis tools +│ └── generate_include_analysis.py +│ +└── 04_windows_installation/ # Windows one-click installer via WSL2 + ├── install-abacus.bat + ├── uninstall-abacus.bat + ├── provision.sh + └── README.md +``` -average_pot: python script used to calculate and plot the average electrostatic potential. +## Quick Start -stm: generate figures related to Scanning tunneling microscope technique. +### Generate Numerical Atomic Orbitals -generate_orbital.sh: script used to generate numerical atomic orbitals (NAO). +```bash +cd 01_NAO_generation +./Generate_Orbital_AllInOne.sh ORBITAL_INPUT +``` -opt_abfs_bash: related to generating NAO basis set. +### RT-TDDFT Post-processing -opt_lcao_bash: related to generating NAO basis set. +```bash +cd 02_postprocessing/rt-tddft-tools +python plot_absorption.py --help +``` -opt_orb_pytorch: related to generating NAO basis set. +### STM Image Generation -opt_orb_pytorch_dpsi: related to generating NAO basis set. +```bash +cd 02_postprocessing/stm +python stm.py --help +``` -qo: generate quasiatomic orbital (qo). +### Average Electrostatic Potential -selective_dynamics: used to do selective dynamics with ABACUS + Phonopy. \ No newline at end of file +```bash +cd 02_postprocessing/average_pot +python aveElecStatPot.py --help +``` + +### Windows Installation + +Run as administrator: +```bash +04_windows_installation/install-abacus.bat +``` + +## Tool Descriptions + +### 01_NAO_generation/ +- **SIAB/** - Simulated Annealing method for NAO optimization (C++) +- **pytorch/** - PyTorch gradient method V1 for NAO optimization +- **pytorch_dpsi/** - PyTorch gradient method V2 with dpsi calculation +- **pytorch_gradient_source/** - Original PyTorch gradient implementation +- **lcao_bash/** - Bash tools for LCAO basis set generation +- **abfs_bash/** - Bash tools for ABFS basis set generation +- **qo/** - Quasiatomic orbital (QO) generation tool +- **examples/** - Example input files and test cases + +### 02_postprocessing/ +- **rt-tddft-tools/** - Tools for real-time time-dependent density functional theory analysis +- **stm/** - Tools for generating STM images from LDOS cube files +- **average_pot/** - Python script to calculate and plot average electrostatic potential +- **selective_dynamics/** - Tools for selective dynamics with ABACUS + Phonopy +- **plot-tools/** - Band structure, DOS, dipole and absorption plotting tools + +### 03_code_analysis/ +- **generate_include_analysis.py** - Header file dependency depth analysis tool + +### 04_windows_installation/ +- Windows one-click installer via WSL2 + conda-forge \ No newline at end of file diff --git a/tools/SIAB/README.md b/tools/SIAB/README.md deleted file mode 100644 index 6047f7677a1..00000000000 --- a/tools/SIAB/README.md +++ /dev/null @@ -1,83 +0,0 @@ -# SIAB Package Description - - -**S**ystematically - -**I**mprovable - -**A**tomic orbital - -**B**asis generator based on spillage formula - - -# HOW TO USE SIAB - -The optimization can choose one of the three minimization methods: - -- Simulated Annealing (**SA**), -- PyTorch Gradient (**PTG**), -- PyTorch Gradient with dpsi (**PTG_dpsi**). - -The executable files for the three methods are: - -- ./SimulatedAnnealing/source/SIA_s.exe, -- ./PyTorchGradient/source/main.py, -- ../opt_orb_pytorch_dpsi/main.py, - -respectively. - - -## 1. Write input file - -Firstly, write the input file, such as **ORBITAL_INPUT_DZP** in example-directories, for script **Generate_Orbital_AllInOne.sh**. -All three approachs work with the same bash script and use the same input file. -Please use **absolute path** for each file/directory in input file. - - -## 2. Set up dependence environment - -Secondly, we set up the dependence environment for ABACUS and SIAB, such as: - -```bash -$ module load hpcx/2.9.0/hpcx-intel-2019.update5 mkl/2019.update5 elpa/2019.05.002/hpcx-intel-2019.update5 -``` - -Especially for SIAB with **PyTorch Gradient** approach, we need pytorch v1.1.0. - - -### How to install pytorch: - -Take the HanHai20@USTC system for example: - -```bash -$ module load gcc/7.5.0min #optional, maybe unnecessary. -$ module load anaconda3_nompi -$ module list -Currently Loaded Modulefiles: - 1) elpa/2019.05.002/hpcx-intel-2019.update5 4) hpcx/2.9.0/hpcx-intel-2019.update5 7) libxc/4.3.4/hpcx-intel-2019.update5 - 2) gcc/7.5.0min 5) mkl/2019.update5 - 3) intel/2019.update5 6) anaconda3_nompi -$ python3 -V -Python 3.7.4 - -$ conda create -n pytorch110 python=3.7 -$ source activate pytorch110 #or: conda activate pytorch110 -$ conda install pytorch torchvision torchaudio cpuonly -c pytorch -$ source deactivate #or: conda deactivate - -$ source activate pytorch110 #or: conda activate pytorch110 -$ pip3 install --user scipy numpy -$ pip3 install --user torch_optimizer -``` - - -## 3. Run generation - -Finally, `cd` into an example folder, and run command like this: - -```bash -$ ../Generate_Orbital_AllInOne.sh ORBITAL_INPUT_DZP - or -$ bsub -q idle -n 8 -oo running.log ../Generate_Orbital_AllInOne.sh ORBITAL_INPUT_DZP -``` - diff --git a/tools/generate_orbital.sh b/tools/generate_orbital.sh deleted file mode 120000 index 40e6684d85a..00000000000 --- a/tools/generate_orbital.sh +++ /dev/null @@ -1 +0,0 @@ -SIAB/Generate_Orbital_AllInOne.sh \ No newline at end of file