Ignore:
Timestamp:
Oct 15, 2013, 2:55:12 PM (12 years ago)
Author:
Frederik Heber <heber@…>
Children:
fb3b4c
Parents:
b4ac80
git-author:
Frederik Heber <heber@…> (08/30/13 20:45:35)
git-committer:
Frederik Heber <heber@…> (10/15/13 14:55:12)
Message:

Increased numerical tolerance of assert in LevelOperatorFAS::Restrict().

  • modified VMG::Vector::IsComponentWise..(), e.g. ..LessOr..() to accept equality within interval of width tol.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/level/level_operator_fas.cpp

    rb4ac80 r4087cb  
    8181
    8282  for (iter_f=bounds_f.Begin(), iter_c=bounds_c.Begin(); iter_c!=bounds_c.End(); iter_f+=2, ++iter_c) {
    83     Helper::AssertVectorsEqual(sol_c_undist.GetSpatialPos(*iter_c), sol_f.GetSpatialPos(*iter_f), 4.0 * std::numeric_limits<vmg_float>::epsilon());
     83    Helper::AssertVectorsEqual(sol_c_undist.GetSpatialPos(*iter_c), sol_f.GetSpatialPos(*iter_f), 1e6 * std::numeric_limits<vmg_float>::epsilon());
    8484    sol_c_undist(*iter_c) = op_sol.Apply(sol_f, *iter_f);
    8585  }
     
    8888
    8989  for (iter_f=bounds_f.Begin(), iter_c=bounds_c.Begin(); iter_c!=bounds_c.End(); iter_f+=2, ++iter_c) {
    90     Helper::AssertVectorsEqual(rhs_c_undist.GetSpatialPos(*iter_c), (*res_grid).GetSpatialPos(*iter_f), 4.0 * std::numeric_limits<vmg_float>::epsilon());
     90    Helper::AssertVectorsEqual(rhs_c_undist.GetSpatialPos(*iter_c), (*res_grid).GetSpatialPos(*iter_f), 1e6 * std::numeric_limits<vmg_float>::epsilon());
    9191    rhs_c_undist(*iter_c) = op_res.Apply(*res_grid, *iter_f) + prefactor * op_pde.Apply(sol_c_undist, *iter_c);
    9292  }
     
    134134
    135135  for (iter_f=bounds_f.Begin(), iter_c=bounds_c.Begin(); iter_c!=bounds_c.End(); iter_f+=2, ++iter_c) {
    136     Helper::AssertVectorsEqual(sol_c.GetSpatialPos(*iter_c), sol_f_undist.GetSpatialPos(*iter_f), 4.0 * std::numeric_limits<vmg_float>::epsilon());
     136    Helper::AssertVectorsEqual(sol_c.GetSpatialPos(*iter_c), sol_f_undist.GetSpatialPos(*iter_f), 1e6 * std::numeric_limits<vmg_float>::epsilon());
    137137    val = sol_c.GetVal(*iter_c) - sol_old->GetVal(*iter_c);
    138138    sol_f_undist(*iter_f) += op.GetDiag() * val;
Note: See TracChangeset for help on using the changeset viewer.