Changeset dfed1c for src/smoother/gs.cpp


Ignore:
Timestamp:
Nov 22, 2011, 9:22:10 PM (14 years ago)
Author:
Julian Iseringhausen <isering@…>
Children:
facba0
Parents:
66f24d
Message:

Major vmg update.

git-svn-id: https://svn.version.fz-juelich.de/scafacos/trunk@1136 5161e1c8-67bf-11de-9fd5-51895aff932f

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/smoother/gs.cpp

    r66f24d rdfed1c  
    2424void GaussSeidel::Compute(Grid& sol, Grid& rhs)
    2525{
    26 #ifdef DEBUG
     26#ifdef DEBUG_MATRIX_CHECKS
    2727  sol.IsConsistent();
    2828  rhs.IsConsistent();
     
    3030#endif
    3131
    32   int i,j,k;
     32  Grid::iterator grid_iter;
     33  Stencil::iterator stencil_iter;
    3334  vmg_float temp;
    3435
     
    3738  const vmg_float diag_inv = 1.0 / A.GetDiag();
    3839
    39   for (i=rhs.Local().Begin().X(); i<rhs.Local().End().X(); i++)
    40     for (j=rhs.Local().Begin().Y(); j<rhs.Local().End().Y(); j++)
    41       for (k=rhs.Local().Begin().Z(); k<rhs.Local().End().Z(); k++) {
     40  for (grid_iter = rhs.Iterators().Local().Begin(); grid_iter != rhs.Iterators().Local().End(); ++grid_iter) {
    4241
    43         temp = prefactor_inv * rhs.GetCorrectedVal(i, j, k);
     42    temp = prefactor_inv * rhs.GetCorrectedVal(*grid_iter);
    4443
    45         for (Stencil::iterator iter=A.begin(); iter!=A.end(); iter++) {
     44    for (stencil_iter=A.begin(); stencil_iter!=A.end(); ++stencil_iter)
     45      temp -= stencil_iter->Val() * sol.GetVal(*grid_iter + stencil_iter->Disp());
    4646
    47           assert(i+iter->m >= 0 && i+iter->m < sol.Local().SizeTotal().X());
    48           assert(j+iter->n >= 0 && j+iter->n < sol.Local().SizeTotal().Y());
    49           assert(k+iter->o >= 0 && k+iter->o < sol.Local().SizeTotal().Z());
     47    sol(*grid_iter) = temp * diag_inv;
    5048
    51           temp -= iter->val * sol.GetVal(i+iter->m, j+iter->n, k+iter->o);
    52 
    53         }
    54 
    55         sol(i, j, k) = temp * diag_inv;
    56 
    57       }
     49  }
    5850}
Note: See TracChangeset for help on using the changeset viewer.