Ignore:
Timestamp:
Apr 9, 2013, 9:45:13 AM (13 years ago)
Author:
Julian Iseringhausen <isering@…>
Children:
0bd47e
Parents:
4a709e
Message:

Work.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/comm/mpi/settings.cpp

    r4a709e re85cfd  
    9696
    9797    if (temp_grid->Global().LocalBegin().IsComponentwiseGreaterOrEqual(sol(i-1).Global().LocalBegin()) &&
    98         temp_grid->Global().LocalBegin().IsComponentwiseLessOrEqual(sol(i-1).Global().LocalEnd()) &&
    99         temp_grid->Global().LocalEnd().IsComponentwiseGreaterOrEqual(sol(i-1).Global().LocalBegin()) &&
    10098        temp_grid->Global().LocalEnd().IsComponentwiseLessOrEqual(sol(i-1).Global().LocalEnd())) {
    10199      delete temp_grid;
     
    107105  }
    108106
     107  //FIXME
    109108  for (int i=rhs.MaxLevel(); i>rhs.MinLevel(); --i) {
    110109
     
    112111    temp_grid->SetPropertiesToCoarser(rhs(i), comm.BoundaryConditions());
    113112
    114     if (temp_grid->Global().LocalBegin().IsComponentwiseGreaterOrEqual(sol(i-1).Global().LocalBegin()) &&
    115         temp_grid->Global().LocalBegin().IsComponentwiseLessOrEqual(sol(i-1).Global().LocalEnd()) &&
    116         temp_grid->Global().LocalEnd().IsComponentwiseGreaterOrEqual(sol(i-1).Global().LocalBegin()) &&
    117         temp_grid->Global().LocalEnd().IsComponentwiseLessOrEqual(sol(i-1).Global().LocalEnd())) {
     113    if (temp_grid->Global().LocalBegin().IsComponentwiseGreaterOrEqual(rhs(i-1).Global().LocalBegin()) &&
     114        temp_grid->Global().LocalEnd().IsComponentwiseLessOrEqual(rhs(i-1).Global().LocalEnd())) {
    118115      delete temp_grid;
    119116      coarser_grids.insert(std::make_pair(&rhs(i), &rhs(i-1)));
     
    132129    temp_grid->SetPropertiesToFiner(sol(i), comm.BoundaryConditions());
    133130
    134     if (temp_grid->Global().LocalBegin() == sol(i+1).Global().LocalBegin() &&
    135         temp_grid->Global().LocalEnd() == sol(i+1).Global().LocalEnd()) {
     131    if (temp_grid->Global().LocalBegin().IsComponentwiseGreaterOrEqual(sol(i+1).Global().LocalBegin()) &&
     132        temp_grid->Global().LocalEnd().IsComponentwiseLessOrEqual(sol(i+1).Global().LocalEnd())) {
    136133      delete temp_grid;
    137134      finer_grids.insert(std::make_pair(&sol(i), &sol(i+1)));
     
    147144    temp_grid->SetPropertiesToFiner(rhs(i), comm.BoundaryConditions());
    148145
    149     if (temp_grid->Global().LocalBegin() == rhs(i+1).Global().LocalBegin() &&
    150         temp_grid->Global().LocalEnd() == rhs(i+1).Global().LocalEnd()) {
     146    if (temp_grid->Global().LocalBegin().IsComponentwiseGreaterOrEqual(rhs(i+1).Global().LocalBegin()) &&
     147        temp_grid->Global().LocalEnd().IsComponentwiseLessOrEqual(rhs(i+1).Global().LocalEnd())) {
    151148      delete temp_grid;
    152149      finer_grids.insert(std::make_pair(&rhs(i), &rhs(i+1)));
     
    281278{
    282279  MPI_Comm comm = CommunicatorGlobal(grid_old);
    283   bool dt_is_new = true;
    284280
    285281  // Insert into map
     
    287283      datatypes_global.insert(std::make_pair(VMG::MPI::KeyUnsorted(grid_old, grid_new, direction), VMG::MPI::DatatypesGlobal()));
    288284  VMG::MPI::DatatypesGlobal& dt_global = insert_result.first->second;
    289   dt_is_new = insert_result.second;
     285  bool dt_is_new = insert_result.second;
    290286
    291287
     
    336332          dt_global.Receive().push_back(VMG::MPI::Datatype(grid_new.Local().SizeTotal(),
    337333              end - begin,
    338               begin - grid_new.Global().LocalBegin() + grid_new.Global().GlobalBegin() + offset_new,
     334              begin - grid_new.Global().LocalBegin() + offset_new,
    339335              i, 0, 0, true));
    340336        }
     
    370366          dt_global.Send().push_back(VMG::MPI::Datatype(grid_old.Local().SizeTotal(),
    371367              end - begin,
    372               begin - grid_old.Global().LocalBegin() + grid_old.Global().GlobalBegin() + offset_old,
     368              begin - grid_old.Global().LocalBegin() + offset_old,
    373369              i, 0, 0, true));
    374370        }
Note: See TracChangeset for help on using the changeset viewer.