26 Teuchos::RCP<const Thyra::VectorSpaceBase<double> > xSpace =
27 Thyra::defaultSpmdVectorSpace<double>(N);
28 auto x = Thyra::createMember(xSpace);
29 auto xNext = Thyra::createMember(xSpace);
30 auto eVec = Thyra::createMember(xSpace);
32 auto tol = Tempus::numericalTol<double>();
35 Thyra::assign(x.ptr(), 0.0);
36 Thyra::assign(xNext.ptr(), 0.0);
37 Thyra::assign(eVec.ptr(), 0.0);
38 double rmsNorm = eNorm->computeWRMSNorm(x, xNext, eVec);
39 TEST_FLOATING_EQUALITY(rmsNorm, 0.0, 1.0e-12);
41 Thyra::assign(x.ptr(), 1.0);
42 Thyra::assign(xNext.ptr(), 1.0 + tol);
43 Thyra::assign(eVec.ptr(), tol);
44 rmsNorm = eNorm->computeWRMSNorm(x, xNext, eVec);
45 TEST_FLOATING_EQUALITY(rmsNorm, 1.0 / std::sqrt(N), 1.0e-12);
52 Teuchos::RCP<const Thyra::VectorSpaceBase<double> > xSpace =
53 Thyra::defaultSpmdVectorSpace<double>(3);
54 auto x = Thyra::createMember(xSpace);
56 auto tol = Tempus::numericalTol<double>();
59 Thyra::assign(x.ptr(), 0.0);
60 double norm = eNorm->errorNorm(x);
61 TEST_FLOATING_EQUALITY(norm, tol, 1.0e-12);
63 Thyra::assign(x.ptr(), 1.0);
64 norm = eNorm->errorNorm(x);
65 TEST_FLOATING_EQUALITY(norm, 1.0 / (2.0 * tol), 1.0e-12);