From d40a6805ada9b930fa629ccb617a8d5cd1e3d008 Mon Sep 17 00:00:00 2001 From: jiebin chen Date: Mon, 8 Jun 2026 16:55:02 +0000 Subject: [PATCH] fix(debug): remove incorrect assert for nullptr in Overlap and EKinetic constructors Remove assert(this->SR != nullptr) in Overlap constructor and assert(this->hsk != nullptr) in EKinetic constructor. These pointers can be nullptr in normal operation (e.g., for force calculation), so the assert was incorrectly triggering when DEBUG_INFO=ON. Fixes #7021 --- source/source_lcao/module_operator_lcao/ekinetic.cpp | 1 - source/source_lcao/module_operator_lcao/overlap.cpp | 1 - 2 files changed, 2 deletions(-) diff --git a/source/source_lcao/module_operator_lcao/ekinetic.cpp b/source/source_lcao/module_operator_lcao/ekinetic.cpp index 3c50fa29993..993b7d1ea2d 100644 --- a/source/source_lcao/module_operator_lcao/ekinetic.cpp +++ b/source/source_lcao/module_operator_lcao/ekinetic.cpp @@ -22,7 +22,6 @@ hamilt::EKinetic>::EKinetic( this->ucell = ucell_in; #ifdef __DEBUG assert(this->ucell != nullptr); - assert(this->hsk != nullptr); #endif // initialize HR to allocate sparse Ekinetic matrix memory // Only initialize if hR_in is not nullptr (for force calculation, hR_in can be nullptr) diff --git a/source/source_lcao/module_operator_lcao/overlap.cpp b/source/source_lcao/module_operator_lcao/overlap.cpp index 5355d0f14dd..023b909fa5e 100644 --- a/source/source_lcao/module_operator_lcao/overlap.cpp +++ b/source/source_lcao/module_operator_lcao/overlap.cpp @@ -106,7 +106,6 @@ hamilt::Overlap>::Overlap(HS_Matrix_K* hsk_in, this->SR = SR_in; #ifdef __DEBUG assert(this->ucell != nullptr); - assert(this->SR != nullptr); #endif // Initialize SR to allocate sparse overlap matrix memory. // Only initialize if SR_in is not nullptr (for force calculation, SR_in can be nullptr).