Fixed a bug in the l1-GS smoother with OpenMP.

This commit is contained in:
kolev1 2012-09-25 21:23:47 +00:00
parent 8531b1213c
commit 2469fbf2f4
2 changed files with 4 additions and 4 deletions

View File

@ -3270,7 +3270,7 @@ HYPRE_Int hypre_ParCSRComputeL1NormsThreads(hypre_ParCSRMatrix *A,
}
#ifdef HYPRE_USING_OPENMP
#pragma omp parallel for private(i,ii,j,k,ns,ne,rest,size,diag) HYPRE_SMP_SCHEDULE
#pragma omp parallel for private(i,ii,j,k,ns,ne,rest,size,diag,cf_diag) HYPRE_SMP_SCHEDULE
#endif
for (k = 0; k < num_threads; k++)
{
@ -3350,7 +3350,7 @@ HYPRE_Int hypre_ParCSRComputeL1NormsThreads(hypre_ParCSRMatrix *A,
{
ii = A_diag_J[j];
if ((ii == i || ii < ns || ii >= ne) &&
(cf_diag == cf_marker_offd[A_offd_J[j]]))
(cf_diag == cf_marker[A_diag_J[j]]))
l1_norm[i] += fabs(A_diag_data[j]);
}
/* Add the CF l1 norm of the offd part of the ith row */
@ -3412,7 +3412,7 @@ HYPRE_Int hypre_ParCSRComputeL1NormsThreads(hypre_ParCSRMatrix *A,
{
ii = A_diag_J[j];
if ((ii == i || ii < ns || ii >= ne) &&
(cf_diag == cf_marker_offd[A_offd_J[j]]))
(cf_diag == cf_marker[A_diag_J[j]]))
{
if (ii == i)
{

View File

@ -513,7 +513,7 @@ hypre_BoomerAMGSetup( void *amg_vdata,
* using threading */
for (j = 0; j < 4; j++)
{
if (grid_relax_type[j] ==3 || grid_relax_type[j] == 6)
if (grid_relax_type[j] == 3 || grid_relax_type[j] == 6 || grid_relax_type[j] == 8)
{
Ztemp = hypre_ParVectorCreate(hypre_ParCSRMatrixComm(A_array[0]),
hypre_ParCSRMatrixGlobalNumRows(A_array[0]),