Changeset 4087cb
- Timestamp:
- Oct 15, 2013, 2:55:12 PM (12 years ago)
- 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)
- Location:
- src
- Files:
-
- 2 edited
-
base/helper.cpp (modified) (1 diff)
-
level/level_operator_fas.cpp (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/base/helper.cpp
rb4ac80 r4087cb 93 93 bool Helper::AssertVectorsEqual(const Vector& pos_1, const Vector& pos_2, const vmg_float& tol) 94 94 { 95 bool equal = (pos_1 - pos_2).Abs().IsComponentwiseLessOrEqual(tol); 95 // create factor with similar magnitude as pos1 but always greater equal 1 96 const VMG::Vector factor( abs(pos_1.X())+1, abs(pos_1.Y())+1, abs(pos_1.Z())+1); 97 const VMG::Vector temp = (pos_1 - pos_2).Abs() / factor; 98 bool equal = temp.IsComponentwiseLessOrEqual(tol); 96 99 assert(equal); 97 100 return equal; -
src/level/level_operator_fas.cpp
rb4ac80 r4087cb 81 81 82 82 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()); 84 84 sol_c_undist(*iter_c) = op_sol.Apply(sol_f, *iter_f); 85 85 } … … 88 88 89 89 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()); 91 91 rhs_c_undist(*iter_c) = op_res.Apply(*res_grid, *iter_f) + prefactor * op_pde.Apply(sol_c_undist, *iter_c); 92 92 } … … 134 134 135 135 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()); 137 137 val = sol_c.GetVal(*iter_c) - sol_old->GetVal(*iter_c); 138 138 sol_f_undist(*iter_f) += op.GetDiag() * val;
Note:
See TracChangeset
for help on using the changeset viewer.
