Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
596f086
refactor(onsite_proj): split init/init_proj/read_abacus_orb into onsi…
Aug 28, 2026
faa2835
refactor(onsite_proj): split tabulate_atomic/overlap_proj_psi/cal_occ…
Aug 28, 2026
af7d964
refactor(onsite_proj): split force/stress wrappers into onsite_proj_f…
Aug 28, 2026
b0e11ed
Refactor: split cal_becp from onsite_proj_tools.cpp into onsite_proj_…
Aug 28, 2026
b94211b
Refactor: split dbecp/save_vkb/revert_vkb/transfer_gcar from onsite_p…
Aug 28, 2026
5c2f88f
Refactor: split force/stress methods from onsite_proj_tools.cpp
Aug 28, 2026
58e1918
Refactor: split fs_nonlocal_tools.cpp by functionality
Aug 28, 2026
6bbe759
docs(agents): add incremental verification rule for multi-step refactors
Aug 28, 2026
6f6c4b4
Refactor: split to_wannier90_lcao.cpp by functionality
Aug 28, 2026
17caf30
Refactor: split xc_grad.cpp by functionality
Aug 28, 2026
6cb9a36
Refactor: extract gradcorr_prepare_rho from gradcorr (step 1/3)
Aug 28, 2026
ffd95df
Refactor: extract gradcorr_xc_kernel from gradcorr (step 2/3)
Aug 28, 2026
daf7987
Refactor: extract gradcorr_assemble_vxc from gradcorr (step 3/3)
Aug 28, 2026
2671b50
Replace raw new/delete with std::vector in gradcorr
Aug 28, 2026
4ac7322
fix: add GPU method-level explicit instantiation for split template f…
Aug 28, 2026
3d6ab78
Replace raw new/delete with std::vector in module_xc
Aug 28, 2026
3be4c87
split to_wannier90_pw.cpp (1/4): extract IO cal_Mmn/cal_Amn/out_unk t…
Aug 28, 2026
9e19466
split to_wannier90_pw.cpp (2/4): extract setup gen_radial/produce_tri…
Aug 28, 2026
3ade4b0
split to_wannier90_pw.cpp (3/4): extract overlap unkdotkb/unkdotW_A t…
Aug 28, 2026
7363757
split symm_basic.cpp (1/4): extract atom_ordering_new/test_atom_order…
Aug 28, 2026
c74c237
split symm_basic.cpp (2/4): extract matrigen/setgroup to symm_basic_s…
Aug 28, 2026
fb333bc
split symm_basic.cpp (3/4): extract subgroup/pointgroup to symm_basic…
Aug 28, 2026
4b5191b
split symm_basic.cpp (4/4): finalize base file, remove unused formatt…
Aug 28, 2026
617fbc0
split numerical_basis.cpp (1/2): extract output_overlap+cal_overlap_Q…
Aug 28, 2026
0062be6
split numerical_basis.cpp (2/2): extract output_info+output_k+output_…
Aug 28, 2026
3de07b1
Refactor xc_grad pipeline: pack stage arguments into internal structs
Aug 29, 2026
516208e
Rename module_wannier wannier90 naming to w90
Aug 29, 2026
9770499
update AGENTS.md
Aug 29, 2026
5c22c64
Use std::vector for toW90 member arrays
Aug 29, 2026
e3f1340
Clean up naming and allocations in to_w90_lcao_setup
Aug 29, 2026
966a050
Use std::vector and unique_ptr in FR_overlap
Aug 29, 2026
385e5d5
Replace raw new with std::vector in to_w90_pw_setup
Aug 29, 2026
b7fbf3c
Clean up allocations and formatting in to_w90_pw_io
Aug 29, 2026
5323ead
Replace raw new with std::vector in to_w90_pw_overlap
Aug 29, 2026
7a838ec
Own unk_inLcao via unique_ptr in to_w90_lcao_pw
Aug 29, 2026
7dbdb6b
Own psi_initer_ and psi rebuild via unique_ptr transfer
Aug 29, 2026
47985f8
Pass nspin explicitly to toW90 and drop redundant __MPI guard
Aug 29, 2026
c0f14be
Pass nbands, nqx, dq and npol explicitly to toW90
Aug 29, 2026
c2dd552
Drop redundant __MPI guards around internally-guarded wrappers
Aug 29, 2026
b839503
Move __MPI guards inside Parallel_Common bcast functions
Aug 29, 2026
9511c8b
Fix uninitialized radial_c pointer in toW90_PW trial orbital setup
Aug 29, 2026
bdf8241
Loosen stress threshold of 15_KP_HSE_SOC_symm to 15 kbar
Aug 29, 2026
a4de076
Print EXX stress in LCAO PARTS OF STRESS breakdown
Aug 29, 2026
0a6a9ca
Add navigation header comments to split xc_grad translation units
Aug 29, 2026
f1528c3
Trim copied include blocks in split xc_grad translation units
Aug 29, 2026
a9fab63
Fix Makefile build: register new sources and resolve VPATH conflicts
Aug 29, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,10 @@ rules. Read the complete governance document before making or reviewing changes:
is required.
- Report the exact verification performed. Do not claim completion without
fresh test or check output.
- For multi-step refactors (e.g., splitting a large `.cpp` into several
files), build and commit after each step rather than batching all changes
before verification. This keeps the blast radius small when a step
surfaces a missing include or instantiation error.
- Prefer `std::vector` over raw `new`/`delete` for dynamic arrays; before
converting class members, confirm no external code consumes them as raw
pointers (e.g., `std::vector<bool>` has no `.data()`), and use
Expand Down Expand Up @@ -106,6 +110,8 @@ rules. Read the complete governance document before making or reviewing changes:
python3 tools/03_code_analysis/agent_governance_check.py --staged
python3 tools/03_code_analysis/agent_governance_check.py --base upstream/develop --head HEAD --format text
pre-commit run abacus-agent-governance --all-files
# Score changed C++ files for quality debt (pass line is 60):
python3 tools/03_code_analysis/code_quality_score.py $(git diff --name-only upstream/develop...HEAD | grep -E '\.(cpp|h)$')
```

The repository text files have been normalized to LF once. Day-to-day line
Expand Down
3 changes: 2 additions & 1 deletion generate_build_info.sh
Original file line number Diff line number Diff line change
Expand Up @@ -257,7 +257,8 @@ if [ "${USE_CUDA}" == "ON" ]; then
fi
# --- Final File Generation ---

INPUT_FILE="source_io/build_info.h.in"
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
INPUT_FILE="${SCRIPT_DIR}/source/source_io/build_info.h.in"

# Use sed to replace all placeholders with detected values
# Note the use of different delimiters (#) for paths to avoid conflicts with /
Expand Down
22 changes: 17 additions & 5 deletions source/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,10 @@ OBJ_DIR = $(BUILD_DIR)/obj
BIN_DIR = $(BUILD_DIR)/bin
BUILD_INFO_DIR = $(BUILD_DIR)/source_io

# The first rule in this file only generates build_info.h, so make would
# stop after generating that header unless the default goal is set here.
.DEFAULT_GOAL := abacus

include $(ABACUS_ROOT)Makefile.vars

#==========================
Expand Down Expand Up @@ -252,18 +256,25 @@ ${OBJ_DIR}/parse_args.o: $(ABACUS_ROOT)source_io/parse_args.cpp $(BUILD_INFO_DIR
@mkdir -p $(dir $@)
${CXX} ${OPTS} ${OPTS_MPI} -c ${HONG} $< -o $@

# Explicit rule: source_cell/module_symmetry and source_estate/module_charge
# both contain a symm_rho.cpp. VPATH resolves symm_rho.o to the source_cell
# one (listed first), so the Symmetry_rho implementation needs an explicit
# object name to be compiled from the correct source.
${OBJ_DIR}/symm_rho_charge.o: $(ABACUS_ROOT)source_estate/module_charge/symm_rho.cpp
@mkdir -p $(dir $@)
${CXX} ${OPTS} ${OPTS_MPI} -c ${HONG} $< -o $@

###### END of ABACUS INFO PART ######

#==========================
# MAKING OPTIONS
#==========================
abacus:
@ if [ ! -d $(OBJ_DIR) ]; then mkdir $(OBJ_DIR); fi
@ if [ ! -d $(BIN_DIR) ]; then mkdir $(BIN_DIR); fi
@ $(MAKE) $(BIN_DIR)/${VERSION}.$(suffix)
@ mkdir -p $(OBJ_DIR) $(BIN_DIR)
@ $(MAKE) -f $(firstword $(MAKEFILE_LIST)) $(BIN_DIR)/${VERSION}.$(suffix)

test:
@ $(MAKE) abacus
@ $(MAKE) -f $(firstword $(MAKEFILE_LIST)) abacus
@ cd $(ABACUS_ROOT)../tests/integrate/;sh Autotest.sh -a $(realpath $(BIN_DIR))/ABACUS.mpi -n $(TESTNP)

pw $(BIN_DIR)/${VERSION}-PW.x:
Expand All @@ -280,7 +291,8 @@ $(BIN_DIR)/${VERSION}.$(suffix) : ${FP_OBJS} ${PDIAG_OBJS} ${HEADERS}
#==========================
# Note: The specific rule for parse_args.o above is more precise.
# This generic rule will apply to all other .cpp files.
${OBJ_DIR}/%.o:$(realpath $(BIN_DIR))%.cpp
${OBJ_DIR}/%.o:%.cpp
@ mkdir -p $(dir $@)
${CXX} ${OPTS} ${OPTS_MPI} -c ${HONG} $< -o $@

.PHONY:clean test
Expand Down
Loading
Loading