Skip to content

Commit b0c58f1

Browse files
committed
warn when cg does not converge
1 parent 38a9d54 commit b0c58f1

File tree

4 files changed

+26
-0
lines changed

4 files changed

+26
-0
lines changed

include/rxmesh/matrix/cg_mat_free_attr_solver.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,11 @@ struct CGMatFreeAttrSolver : public IterativeSolver<T, Attribute<T, HandleT>>
112112

113113
this->m_iter_taken++;
114114
}
115+
RXMESH_WARN(
116+
"CGMatFreeAttrSolver::solve() did not converge after {} iterations. Residual "
117+
"= {}",
118+
this->m_iter_taken,
119+
delta_new);
115120
this->m_final_residual = delta_new;
116121
}
117122

include/rxmesh/matrix/cg_solver.h

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,14 @@ struct CGSolver : public IterativeSolver<T, DenseMatrix<T, DenseMatOrder>>
107107

108108
this->m_iter_taken++;
109109
}
110+
111+
112+
RXMESH_WARN(
113+
"CGSolver::solve() did not converge after {} iterations. Residual "
114+
"= {}",
115+
this->m_iter_taken,
116+
delta_new);
117+
110118
this->m_final_residual = delta_new;
111119
}
112120

include/rxmesh/matrix/pcg_mat_free_attr_solver.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,12 @@ struct PCGMatFreeAttrSolver : public CGMatFreeAttrSolver<T, HandleT>
119119

120120
this->m_iter_taken++;
121121
}
122+
RXMESH_WARN(
123+
"PCGMatFreeAttrSolver::solve() did not converge after {} "
124+
"iterations. Residual "
125+
"= {}",
126+
this->m_iter_taken,
127+
delta_new);
122128
this->m_final_residual = this->delta_new;
123129
}
124130

include/rxmesh/matrix/pcg_solver.h

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,13 @@ struct PCGSolver : public CGSolver<T, DenseMatOrder>
125125

126126
this->m_iter_taken++;
127127
}
128+
RXMESH_WARN(
129+
"PCGSolver::solve() did not converge after {} "
130+
"iterations. Residual "
131+
"= {}",
132+
this->m_iter_taken,
133+
delta_new);
134+
128135
this->m_final_residual = this->delta_new;
129136
}
130137

0 commit comments

Comments
 (0)