Skip to content

Commit afd9b08

Browse files
authored
Fix rt-tddft crash (#6410)
* Add files via upload * Add files via upload
1 parent a52361b commit afd9b08

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

source/source_lcao/module_rt/velocity_op.cpp

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -295,7 +295,11 @@ void Velocity_op<TR>::calculate_vcomm_r()
295295
std::complex<double>* tmp_c[3] = {nullptr, nullptr, nullptr};
296296
for (int i = 0; i < 3; i++)
297297
{
298-
tmp_c[i] = this->current_term[i]->find_matrix(iat1, iat2, R_vector[0], R_vector[1], R_vector[2])->get_pointer();
298+
hamilt::BaseMatrix<std::complex<double>>* matrix_ptr = this->current_term[i]->find_matrix(iat1, iat2, R_vector[0], R_vector[1], R_vector[2]);
299+
if (matrix_ptr != nullptr)
300+
{
301+
tmp_c[i] = matrix_ptr->get_pointer();
302+
}
299303
}
300304
// if not found , skip this pair of atoms
301305
if (tmp_c[0] != nullptr)
@@ -432,7 +436,11 @@ void Velocity_op<TR>::calculate_grad_term()
432436
std::complex<double>* tmp_c[3] = {nullptr, nullptr, nullptr};
433437
for (int i = 0; i < 3; i++)
434438
{
435-
tmp_c[i] = this->current_term[i]->find_matrix(iat1, iat2, R_index2)->get_pointer();
439+
hamilt::BaseMatrix<std::complex<double>>* matrix_ptr = this->current_term[i]->find_matrix(iat1, iat2, R_index2);
440+
if (matrix_ptr != nullptr)
441+
{
442+
tmp_c[i] = matrix_ptr->get_pointer();
443+
}
436444
}
437445
if (tmp_c[0] != nullptr)
438446
{

0 commit comments

Comments
 (0)