libMesh
Public Member Functions | Protected Types | Protected Attributes | List of all members
RealVectorValueTest Class Reference
Inheritance diagram for RealVectorValueTest:
[legend]

Public Member Functions

 RealVectorValueTest ()
 
 CPPUNIT_TEST_SUITE (RealVectorValueTest)
 
VECTORVALUETEST CPPUNIT_TEST_SUITE_END ()
 
virtual void setUp ()
 
virtual void tearDown ()
 
void testValue ()
 
void testZero ()
 
void testNorm ()
 
void testNormSq ()
 
void testEquality ()
 
void testInEquality ()
 
void testAssignment ()
 
void testScalarInit ()
 
void testScalarMult ()
 
void testScalarDiv ()
 
void testScalarMultAssign ()
 
void testScalarDivAssign ()
 
void testVectorAdd ()
 
void testVectorAddScaled ()
 
void testVectorSub ()
 
void testVectorMult ()
 
void testVectorAddAssign ()
 
void testVectorSubAssign ()
 
void testValueBase ()
 
void testZeroBase ()
 
void testIsZero ()
 
void testSolidAngle ()
 
void testCircumcenter ()
 
void testNormBase ()
 
void testNormSqBase ()
 
void testEqualityBase ()
 
void testInEqualityBase ()
 
void testAssignmentBase ()
 
void testScalarMultBase ()
 
void testScalarDivBase ()
 
void testScalarMultAssignBase ()
 
void testScalarDivAssignBase ()
 
void testVectorAddBase ()
 
void testVectorAddScaledBase ()
 
void testVectorSubBase ()
 
void testVectorMultBase ()
 
void testVectorAddAssignBase ()
 
void testVectorSubAssignBase ()
 
void testReplaceAlgebraicType ()
 

Protected Types

typedef VectorValue< Real > ::value_type T
 

Protected Attributes

std::string libmesh_suite_name
 

Detailed Description

Definition at line 14 of file vector_value_test.C.

Member Typedef Documentation

◆ T

typedef VectorValue< Real > ::value_type TypeVectorTestBase< VectorValue< Real > >::T
protectedinherited

Definition at line 66 of file type_vector_test.h.

Constructor & Destructor Documentation

◆ RealVectorValueTest()

RealVectorValueTest::RealVectorValueTest ( )
inline

Definition at line 16 of file vector_value_test.C.

References libMesh::PerfLog::summarized_logs_enabled(), and unitlog.

16  :
19  this->libmesh_suite_name = "TypeVectorTest";
20  else
21  this->libmesh_suite_name = "RealVectorValueTest";
22  }
bool summarized_logs_enabled()
Definition: perf_log.h:210
libMesh::PerfLog * unitlog
Definition: driver.C:220

Member Function Documentation

◆ CPPUNIT_TEST_SUITE()

RealVectorValueTest::CPPUNIT_TEST_SUITE ( RealVectorValueTest  )

◆ CPPUNIT_TEST_SUITE_END()

VECTORVALUETEST RealVectorValueTest::CPPUNIT_TEST_SUITE_END ( )

◆ setUp()

virtual void TypeVectorTestBase< VectorValue< Real > >::setUp ( )
inlinevirtualinherited

Definition at line 76 of file type_vector_test.h.

77  {
78  m_1_1_1 = std::make_unique<DerivedClass>(1);
79  m_n1_1_n1 = std::make_unique<DerivedClass>(-1);
80 
81 #if LIBMESH_DIM > 1
82  (*m_1_1_1)(1) = 1;
83  (*m_n1_1_n1)(1) = 1;
84 #endif
85 #if LIBMESH_DIM > 2
86  (*m_1_1_1)(2) = 1;
87  (*m_n1_1_n1)(2) = -1;
88 #endif
89 
90 
91  basem_1_1_1 = m_1_1_1.get();
92  basem_n1_1_n1 = m_n1_1_n1.get();
93  }
std::unique_ptr< VectorValue< Real > > m_1_1_1
std::unique_ptr< VectorValue< Real > > m_n1_1_n1

◆ tearDown()

virtual void TypeVectorTestBase< VectorValue< Real > >::tearDown ( )
inlinevirtualinherited

Definition at line 95 of file type_vector_test.h.

95 {}

◆ testAssignment()

void TypeVectorTestBase< VectorValue< Real > >::testAssignment ( )
inlineinherited

Definition at line 166 of file type_vector_test.h.

167  {
168  LOG_UNIT_TEST;
169 
170  DerivedClass avector {*basem_1_1_1};
171 
172  for (int i = 0; i != LIBMESH_DIM; ++i)
173  CPPUNIT_ASSERT_EQUAL( T(1), (avector)(i) );
174  }
VectorValue< Real > ::value_type T

◆ testAssignmentBase()

void TypeVectorTestBase< VectorValue< Real > >::testAssignmentBase ( )
inlineinherited

Definition at line 452 of file type_vector_test.h.

453  {
454  LOG_UNIT_TEST;
455 
456  TypeVector<T> avector = (*basem_1_1_1);
457 
458  for (int i = 0; i != LIBMESH_DIM; ++i)
459  CPPUNIT_ASSERT_EQUAL( T(1), (avector)(i) );
460  }
This class defines a vector in LIBMESH_DIM dimensional space of type T.
Definition: tensor_tools.h:34
VectorValue< Real > ::value_type T

◆ testCircumcenter()

void TypeVectorTestBase< VectorValue< Real > >::testCircumcenter ( )
inlineinherited

Definition at line 395 of file type_vector_test.h.

396  {
397  LOG_UNIT_TEST;
398 
399  const DerivedClass origin(0), e_x(1);
400  DerivedClass twoone(2); twoone(1) = 1;
401 
402  auto cc1 = circumcenter(origin, e_x, twoone);
403  LIBMESH_ASSERT_NUMBERS_EQUAL(cc1(0), 0.5, TOLERANCE*TOLERANCE);
404  LIBMESH_ASSERT_NUMBERS_EQUAL(cc1(1), 1.5, TOLERANCE*TOLERANCE);
405 
406 #if LIBMESH_DIM > 2
407  LIBMESH_ASSERT_NUMBERS_EQUAL(cc1(2), 0, TOLERANCE*TOLERANCE);
408  const DerivedClass twozeroone(2,0,1);
409  auto cc2 = circumcenter(origin, e_x, twozeroone);
410  LIBMESH_ASSERT_NUMBERS_EQUAL(cc2(0), 0.5, TOLERANCE*TOLERANCE);
411  LIBMESH_ASSERT_NUMBERS_EQUAL(cc2(1), 0, TOLERANCE*TOLERANCE);
412  LIBMESH_ASSERT_NUMBERS_EQUAL(cc2(2), 1.5, TOLERANCE*TOLERANCE);
413  auto cc3 = circumcenter(e_x, twoone, twozeroone);
414  LIBMESH_ASSERT_NUMBERS_EQUAL(cc3(0), Real(5)/3, TOLERANCE*TOLERANCE);
415  LIBMESH_ASSERT_NUMBERS_EQUAL(cc3(1), Real(1)/3, TOLERANCE*TOLERANCE);
416  LIBMESH_ASSERT_NUMBERS_EQUAL(cc3(2), Real(1)/3, TOLERANCE*TOLERANCE);
417 #endif
418  }
static constexpr Real TOLERANCE
TypeVector< T > circumcenter(const TypeVector< T > &p0, const TypeVector< T > &p1, const TypeVector< T > &p2)
Definition: type_vector.h:1080
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real

◆ testEquality()

void TypeVectorTestBase< VectorValue< Real > >::testEquality ( )
inlineinherited

Definition at line 146 of file type_vector_test.h.

147  {
148  LOG_UNIT_TEST;
149 
150  CPPUNIT_ASSERT( (*m_1_1_1) == (*m_1_1_1) );
151 #if LIBMESH_DIM > 1
152  CPPUNIT_ASSERT( !((*m_1_1_1) == (*m_n1_1_n1)) );
153 #endif
154  }
std::unique_ptr< VectorValue< Real > > m_1_1_1
std::unique_ptr< VectorValue< Real > > m_n1_1_n1

◆ testEqualityBase()

void TypeVectorTestBase< VectorValue< Real > >::testEqualityBase ( )
inlineinherited

Definition at line 434 of file type_vector_test.h.

435  {
436  LOG_UNIT_TEST;
437 
438  CPPUNIT_ASSERT( (*basem_1_1_1) == (*basem_1_1_1) );
439  CPPUNIT_ASSERT( !((*basem_1_1_1) == (*basem_n1_1_n1)) );
440  CPPUNIT_ASSERT( relative_fuzzy_equals(*basem_1_1_1, *basem_1_1_1) );
441  }
bool relative_fuzzy_equals(const T &var1, const T2 &var2, const Real tol=TOLERANCE *TOLERANCE)
Function to check whether two variables are equal within a relative tolerance.
Definition: fuzzy_equals.h:78

◆ testInEquality()

void TypeVectorTestBase< VectorValue< Real > >::testInEquality ( )
inlineinherited

Definition at line 156 of file type_vector_test.h.

157  {
158  LOG_UNIT_TEST;
159 
160  CPPUNIT_ASSERT( !((*m_1_1_1) != (*m_1_1_1)) );
161 #if LIBMESH_DIM > 1
162  CPPUNIT_ASSERT( (*m_1_1_1) != (*m_n1_1_n1) );
163 #endif
164  }
std::unique_ptr< VectorValue< Real > > m_1_1_1
std::unique_ptr< VectorValue< Real > > m_n1_1_n1

◆ testInEqualityBase()

void TypeVectorTestBase< VectorValue< Real > >::testInEqualityBase ( )
inlineinherited

Definition at line 443 of file type_vector_test.h.

444  {
445  LOG_UNIT_TEST;
446 
447  CPPUNIT_ASSERT( !((*basem_1_1_1) != (*basem_1_1_1)) );
448  CPPUNIT_ASSERT( (*basem_1_1_1) != (*basem_n1_1_n1) );
449  CPPUNIT_ASSERT( !relative_fuzzy_equals(*basem_1_1_1, *basem_n1_1_n1) );
450  }
bool relative_fuzzy_equals(const T &var1, const T2 &var2, const Real tol=TOLERANCE *TOLERANCE)
Function to check whether two variables are equal within a relative tolerance.
Definition: fuzzy_equals.h:78

◆ testIsZero()

void TypeVectorTestBase< VectorValue< Real > >::testIsZero ( )
inlineinherited

Definition at line 325 of file type_vector_test.h.

326  {
327  LOG_UNIT_TEST;
328 
329  {
330 #if LIBMESH_DIM > 2
331  DerivedClass avector(0,0,0);
332 #elif LIBMESH_DIM > 1
333  DerivedClass avector(0,0);
334 #else
335  DerivedClass avector(0);
336 #endif
337  CPPUNIT_ASSERT(avector.is_zero());
338  }
339  {
340 #if LIBMESH_DIM > 2
341  DerivedClass avector(1,1,1);
342 #elif LIBMESH_DIM > 1
343  DerivedClass avector(1,1);
344 #else
345  DerivedClass avector(1);
346 #endif
347  CPPUNIT_ASSERT(!avector.is_zero());
348  }
349  }

◆ testNorm()

void TypeVectorTestBase< VectorValue< Real > >::testNorm ( )
inlineinherited

Definition at line 132 of file type_vector_test.h.

133  {
134  LOG_UNIT_TEST;
135 
136  LIBMESH_ASSERT_FP_EQUAL(m_1_1_1->norm() , std::sqrt(Real(LIBMESH_DIM)) , TOLERANCE*TOLERANCE );
137  }
static constexpr Real TOLERANCE
std::unique_ptr< VectorValue< Real > > m_1_1_1
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real

◆ testNormBase()

void TypeVectorTestBase< VectorValue< Real > >::testNormBase ( )
inlineinherited

Definition at line 420 of file type_vector_test.h.

421  {
422  LOG_UNIT_TEST;
423 
424  LIBMESH_ASSERT_FP_EQUAL( std::sqrt(Real(LIBMESH_DIM)) , basem_1_1_1->norm() , TOLERANCE*TOLERANCE );
425  }
static constexpr Real TOLERANCE
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real

◆ testNormSq()

void TypeVectorTestBase< VectorValue< Real > >::testNormSq ( )
inlineinherited

Definition at line 139 of file type_vector_test.h.

140  {
141  LOG_UNIT_TEST;
142 
143  LIBMESH_ASSERT_FP_EQUAL(m_1_1_1->norm_sq() , Real(LIBMESH_DIM) , TOLERANCE*TOLERANCE );
144  }
static constexpr Real TOLERANCE
std::unique_ptr< VectorValue< Real > > m_1_1_1
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real

◆ testNormSqBase()

void TypeVectorTestBase< VectorValue< Real > >::testNormSqBase ( )
inlineinherited

Definition at line 427 of file type_vector_test.h.

428  {
429  LOG_UNIT_TEST;
430 
431  LIBMESH_ASSERT_FP_EQUAL( Real(LIBMESH_DIM) , basem_1_1_1->norm_sq() , TOLERANCE*TOLERANCE );
432  }
static constexpr Real TOLERANCE
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real

◆ testReplaceAlgebraicType()

void TypeVectorTestBase< VectorValue< Real > >::testReplaceAlgebraicType ( )
inlineinherited

Definition at line 568 of file type_vector_test.h.

569  {
570 #ifdef LIBMESH_HAVE_METAPHYSICL
571  typedef typename MetaPhysicL::ReplaceAlgebraicType<
572  std::vector<TypeVector<double>>,
574  typename MetaPhysicL::ValueType<std::vector<TypeVector<double>>>::type>::type>::type
575  ReplacedType;
576  constexpr bool assertion =
577  std::is_same<ReplacedType, std::vector<TensorValue<double>>>::value;
578  CPPUNIT_ASSERT(assertion);
579 #endif
580  }
static const bool value
Definition: xdr_io.C:55

◆ testScalarDiv()

void TypeVectorTestBase< VectorValue< Real > >::testScalarDiv ( )
inlineinherited

Definition at line 202 of file type_vector_test.h.

203  {
204  LOG_UNIT_TEST;
205 
206  for (int i = 0; i != LIBMESH_DIM; ++i)
207  LIBMESH_ASSERT_NUMBERS_EQUAL( 1/Real(5) , ((*m_1_1_1)/5.0)(i) , TOLERANCE*TOLERANCE );
208  }
static constexpr Real TOLERANCE
std::unique_ptr< VectorValue< Real > > m_1_1_1
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real

◆ testScalarDivAssign()

void TypeVectorTestBase< VectorValue< Real > >::testScalarDivAssign ( )
inlineinherited

Definition at line 221 of file type_vector_test.h.

222  {
223  LOG_UNIT_TEST;
224 
225  DerivedClass avector {*basem_1_1_1};
226  avector/=5.0;
227 
228  for (int i = 0; i != LIBMESH_DIM; ++i)
229  LIBMESH_ASSERT_NUMBERS_EQUAL( 1/Real(5) , avector(i) , TOLERANCE*TOLERANCE );
230  }
static constexpr Real TOLERANCE
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real

◆ testScalarDivAssignBase()

void TypeVectorTestBase< VectorValue< Real > >::testScalarDivAssignBase ( )
inlineinherited

Definition at line 489 of file type_vector_test.h.

490  {
491  LOG_UNIT_TEST;
492 
493  TypeVector<T> avector(*m_1_1_1);
494  avector/=5.0;
495 
496  for (int i = 0; i != LIBMESH_DIM; ++i)
497  LIBMESH_ASSERT_NUMBERS_EQUAL( 1/Real(5) , avector(i) , TOLERANCE*TOLERANCE );
498  }
static constexpr Real TOLERANCE
std::unique_ptr< VectorValue< Real > > m_1_1_1
This class defines a vector in LIBMESH_DIM dimensional space of type T.
Definition: tensor_tools.h:34
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real

◆ testScalarDivBase()

void TypeVectorTestBase< VectorValue< Real > >::testScalarDivBase ( )
inlineinherited

Definition at line 470 of file type_vector_test.h.

471  {
472  LOG_UNIT_TEST;
473 
474  for (int i = 0; i != LIBMESH_DIM; ++i)
475  LIBMESH_ASSERT_NUMBERS_EQUAL( 1/Real(5) , ((*basem_1_1_1)/5.0)(i) , TOLERANCE*TOLERANCE );
476  }
static constexpr Real TOLERANCE
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real

◆ testScalarInit()

void TypeVectorTestBase< VectorValue< Real > >::testScalarInit ( )
inlineinherited

Definition at line 176 of file type_vector_test.h.

177  {
178  LOG_UNIT_TEST;
179 
180  DerivedClass avector = 0;
181  for (int i = 0; i != LIBMESH_DIM; ++i)
182  LIBMESH_ASSERT_NUMBERS_EQUAL( 0.0 , avector(i) , TOLERANCE*TOLERANCE );
183 
184  DerivedClass bvector = 2.0;
185  LIBMESH_ASSERT_NUMBERS_EQUAL( 2.0 , bvector(0) , TOLERANCE*TOLERANCE );
186  for (int i = 1; i != LIBMESH_DIM; ++i)
187  LIBMESH_ASSERT_NUMBERS_EQUAL( 0.0 , bvector(i) , TOLERANCE*TOLERANCE );
188  }
static constexpr Real TOLERANCE

◆ testScalarMult()

void TypeVectorTestBase< VectorValue< Real > >::testScalarMult ( )
inlineinherited

Definition at line 190 of file type_vector_test.h.

191  {
192  LOG_UNIT_TEST;
193 
194  for (int i = 0; i != LIBMESH_DIM; ++i)
195  {
196  LIBMESH_ASSERT_NUMBERS_EQUAL( 5.0 , ((*m_1_1_1)*5.0)(i) , TOLERANCE*TOLERANCE );
197  LIBMESH_ASSERT_NUMBERS_EQUAL( 5.0 , outer_product(*m_1_1_1,5.0)(i) , TOLERANCE*TOLERANCE );
198  LIBMESH_ASSERT_NUMBERS_EQUAL( 5.0 , outer_product(5.0,*m_1_1_1)(i) , TOLERANCE*TOLERANCE );
199  }
200  }
TypeTensor< typename CompareTypes< T, T2 >::supertype > outer_product(const TypeVector< T > &a, const TypeVector< T2 > &b)
Definition: type_tensor.h:1441
static constexpr Real TOLERANCE
std::unique_ptr< VectorValue< Real > > m_1_1_1

◆ testScalarMultAssign()

void TypeVectorTestBase< VectorValue< Real > >::testScalarMultAssign ( )
inlineinherited

Definition at line 210 of file type_vector_test.h.

211  {
212  LOG_UNIT_TEST;
213 
214  DerivedClass avector {*basem_1_1_1};
215  avector*=5.0;
216 
217  for (int i = 0; i != LIBMESH_DIM; ++i)
218  LIBMESH_ASSERT_NUMBERS_EQUAL( 5.0 , avector(i) , TOLERANCE*TOLERANCE );
219  }
static constexpr Real TOLERANCE

◆ testScalarMultAssignBase()

void TypeVectorTestBase< VectorValue< Real > >::testScalarMultAssignBase ( )
inlineinherited

Definition at line 478 of file type_vector_test.h.

479  {
480  LOG_UNIT_TEST;
481 
482  TypeVector<T> avector(*m_1_1_1);
483  avector*=5.0;
484 
485  for (int i = 0; i != LIBMESH_DIM; ++i)
486  LIBMESH_ASSERT_NUMBERS_EQUAL( 5.0 , avector(i) , TOLERANCE*TOLERANCE );
487  }
static constexpr Real TOLERANCE
std::unique_ptr< VectorValue< Real > > m_1_1_1
This class defines a vector in LIBMESH_DIM dimensional space of type T.
Definition: tensor_tools.h:34

◆ testScalarMultBase()

void TypeVectorTestBase< VectorValue< Real > >::testScalarMultBase ( )
inlineinherited

Definition at line 462 of file type_vector_test.h.

463  {
464  LOG_UNIT_TEST;
465 
466  for (int i = 0; i != LIBMESH_DIM; ++i)
467  LIBMESH_ASSERT_NUMBERS_EQUAL( 5.0 , ((*basem_1_1_1)*5.0)(i) , TOLERANCE*TOLERANCE );
468  }
static constexpr Real TOLERANCE

◆ testSolidAngle()

void TypeVectorTestBase< VectorValue< Real > >::testSolidAngle ( )
inlineinherited

Definition at line 351 of file type_vector_test.h.

352  {
353  LOG_UNIT_TEST;
354 
355  const DerivedClass xvec(1.3);
356  LIBMESH_ASSERT_NUMBERS_EQUAL( solid_angle(xvec, xvec, xvec), 0, TOLERANCE*TOLERANCE );
357 
358 #if LIBMESH_DIM > 1
359  // This is ambiguous with --enable-complex builds? We really need
360  // to make the vector-from-scalar constructor explicit.
361  // const DerivedClass yvec(0.,2.7),
362  // xydiag(3.1,3.1),
363  // xypdiag(.8,-.8);
364 
365  DerivedClass yvec, xydiag, xypdiag;
366  yvec(1) = 2.7;
367  xydiag(0) = 3.1; xydiag(1) = 3.1;
368  xypdiag(0) = 0.8; xypdiag(1) = -.8;
369 
370  // Yeah, nothing subtends a non-zero solid angle in 2D either.
371  LIBMESH_ASSERT_NUMBERS_EQUAL( solid_angle(xvec, xvec, yvec), 0, TOLERANCE*TOLERANCE );
372  LIBMESH_ASSERT_NUMBERS_EQUAL( solid_angle(xvec, yvec, xydiag), 0, TOLERANCE*TOLERANCE );
373 #endif
374 
375 #if LIBMESH_DIM > 2
376  const DerivedClass zvec(0.,0.,1.1),
377  xzdiag(0.,.7,.7);
378  LIBMESH_ASSERT_NUMBERS_EQUAL(solid_angle(xydiag, yvec, zvec),
380  LIBMESH_ASSERT_NUMBERS_EQUAL(solid_angle(xvec, yvec, xzdiag),
382  LIBMESH_ASSERT_NUMBERS_EQUAL(solid_angle(xypdiag, xydiag, zvec),
384 
385  // Icosahedron coordinates are a nice analytic test
386  const Real golden = (1 + std::sqrt(Real(5)))/2;
387  const DerivedClass icosa1(1., golden, 0.),
388  icosa2(-1., golden, 0.),
389  icosa3(0., 1., golden);
390  LIBMESH_ASSERT_NUMBERS_EQUAL(solid_angle(icosa1, icosa2, icosa3),
392 #endif
393  }
T solid_angle(const TypeVector< T > &v01, const TypeVector< T > &v02, const TypeVector< T > &v03)
Definition: type_vector.h:1054
static constexpr Real TOLERANCE
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const Real pi
.
Definition: libmesh.h:292

◆ testValue()

void TypeVectorTestBase< VectorValue< Real > >::testValue ( )
inlineinherited

Definition at line 97 of file type_vector_test.h.

98  {
99  LOG_UNIT_TEST;
100 
101  CPPUNIT_ASSERT_EQUAL( T(1), (*m_1_1_1)(0));
102  CPPUNIT_ASSERT_EQUAL( T(-1), (*m_n1_1_n1)(0));
103 
104 #if LIBMESH_DIM > 1
105  CPPUNIT_ASSERT_EQUAL( T(1), (*m_1_1_1)(1));
106  CPPUNIT_ASSERT_EQUAL( T(1) , (*m_n1_1_n1)(1));
107 #endif
108 
109 #if LIBMESH_DIM > 2
110  CPPUNIT_ASSERT_EQUAL( T(1), (*m_1_1_1)(2));
111  CPPUNIT_ASSERT_EQUAL( T(-1), (*m_n1_1_n1)(2));
112 #endif
113  }
std::unique_ptr< VectorValue< Real > > m_1_1_1
std::unique_ptr< VectorValue< Real > > m_n1_1_n1
VectorValue< Real > ::value_type T

◆ testValueBase()

void TypeVectorTestBase< VectorValue< Real > >::testValueBase ( )
inlineinherited

Definition at line 300 of file type_vector_test.h.

301  {
302  LOG_UNIT_TEST;
303 
304  for (int i = 0; i != LIBMESH_DIM; ++i)
305  CPPUNIT_ASSERT_EQUAL( T(1), (*basem_1_1_1)(i));
306 
307  CPPUNIT_ASSERT_EQUAL( T(-1), (*basem_n1_1_n1)(0));
308  if (LIBMESH_DIM > 1)
309  CPPUNIT_ASSERT_EQUAL( T(1 ), (*basem_n1_1_n1)(1));
310  if (LIBMESH_DIM > 2)
311  CPPUNIT_ASSERT_EQUAL( T(-1), (*basem_n1_1_n1)(2));
312  }
VectorValue< Real > ::value_type T

◆ testVectorAdd()

void TypeVectorTestBase< VectorValue< Real > >::testVectorAdd ( )
inlineinherited

Definition at line 232 of file type_vector_test.h.

233  {
234  LOG_UNIT_TEST;
235 
236  LIBMESH_ASSERT_NUMBERS_EQUAL( 0.0 , ((*m_1_1_1)+(*m_n1_1_n1))(0) , TOLERANCE*TOLERANCE );
237  if (LIBMESH_DIM > 1)
238  LIBMESH_ASSERT_NUMBERS_EQUAL( 2.0 , ((*m_1_1_1)+(*m_n1_1_n1))(1) , TOLERANCE*TOLERANCE );
239  if (LIBMESH_DIM > 2)
240  LIBMESH_ASSERT_NUMBERS_EQUAL( 0.0 , ((*m_1_1_1)+(*m_n1_1_n1))(2) , TOLERANCE*TOLERANCE );
241  }
static constexpr Real TOLERANCE
std::unique_ptr< VectorValue< Real > > m_1_1_1
std::unique_ptr< VectorValue< Real > > m_n1_1_n1

◆ testVectorAddAssign()

void TypeVectorTestBase< VectorValue< Real > >::testVectorAddAssign ( )
inlineinherited

Definition at line 275 of file type_vector_test.h.

276  {
277  LOG_UNIT_TEST;
278 
279  DerivedClass avector {*basem_1_1_1};
280  avector+=(*m_1_1_1);
281 
282  for (int i = 0; i != LIBMESH_DIM; ++i)
283  LIBMESH_ASSERT_NUMBERS_EQUAL( 2.0 , avector(i) , TOLERANCE*TOLERANCE );
284  }
static constexpr Real TOLERANCE

◆ testVectorAddAssignBase()

void TypeVectorTestBase< VectorValue< Real > >::testVectorAddAssignBase ( )
inlineinherited

Definition at line 543 of file type_vector_test.h.

544  {
545  LOG_UNIT_TEST;
546 
547  TypeVector<T> avector(*m_1_1_1);
548  avector+=(*basem_1_1_1);
549 
550  for (int i = 0; i != LIBMESH_DIM; ++i)
551  LIBMESH_ASSERT_NUMBERS_EQUAL( 2.0 , avector(i) , TOLERANCE*TOLERANCE );
552  }
static constexpr Real TOLERANCE
std::unique_ptr< VectorValue< Real > > m_1_1_1
This class defines a vector in LIBMESH_DIM dimensional space of type T.
Definition: tensor_tools.h:34

◆ testVectorAddBase()

void TypeVectorTestBase< VectorValue< Real > >::testVectorAddBase ( )
inlineinherited

Definition at line 500 of file type_vector_test.h.

501  {
502  LOG_UNIT_TEST;
503 
504  LIBMESH_ASSERT_NUMBERS_EQUAL( 0.0 , ((*basem_1_1_1)+(*basem_n1_1_n1))(0) , TOLERANCE*TOLERANCE );
505  if (LIBMESH_DIM > 1)
506  LIBMESH_ASSERT_NUMBERS_EQUAL( 2.0 , ((*basem_1_1_1)+(*basem_n1_1_n1))(1) , TOLERANCE*TOLERANCE );
507  if (LIBMESH_DIM > 2)
508  LIBMESH_ASSERT_NUMBERS_EQUAL( 0.0 , ((*basem_1_1_1)+(*basem_n1_1_n1))(2) , TOLERANCE*TOLERANCE );
509  }
static constexpr Real TOLERANCE

◆ testVectorAddScaled()

void TypeVectorTestBase< VectorValue< Real > >::testVectorAddScaled ( )
inlineinherited

Definition at line 243 of file type_vector_test.h.

244  {
245  LOG_UNIT_TEST;
246 
247  DerivedClass avector {*basem_1_1_1};
248  avector.add_scaled((*m_1_1_1),0.5);
249 
250  for (int i = 0; i != LIBMESH_DIM; ++i)
251  LIBMESH_ASSERT_NUMBERS_EQUAL( 1.5 , avector(i) , TOLERANCE*TOLERANCE );
252  }
static constexpr Real TOLERANCE
std::unique_ptr< VectorValue< Real > > m_1_1_1

◆ testVectorAddScaledBase()

void TypeVectorTestBase< VectorValue< Real > >::testVectorAddScaledBase ( )
inlineinherited

Definition at line 511 of file type_vector_test.h.

512  {
513  LOG_UNIT_TEST;
514 
515  TypeVector<T> avector(*m_1_1_1);
516  avector.add_scaled((*basem_1_1_1),0.5);
517 
518  for (int i = 0; i != LIBMESH_DIM; ++i)
519  LIBMESH_ASSERT_NUMBERS_EQUAL( 1.5 , avector(i) , TOLERANCE*TOLERANCE );
520  }
static constexpr Real TOLERANCE
std::unique_ptr< VectorValue< Real > > m_1_1_1
This class defines a vector in LIBMESH_DIM dimensional space of type T.
Definition: tensor_tools.h:34

◆ testVectorMult()

void TypeVectorTestBase< VectorValue< Real > >::testVectorMult ( )
inlineinherited

Definition at line 265 of file type_vector_test.h.

266  {
267  LOG_UNIT_TEST;
268 
269  if (LIBMESH_DIM == 2)
270  LIBMESH_ASSERT_NUMBERS_EQUAL( 0.0 , (*m_1_1_1)*(*m_n1_1_n1) , TOLERANCE*TOLERANCE );
271  else
272  LIBMESH_ASSERT_NUMBERS_EQUAL( -1.0 , (*m_1_1_1)*(*m_n1_1_n1) , TOLERANCE*TOLERANCE );
273  }
static constexpr Real TOLERANCE
std::unique_ptr< VectorValue< Real > > m_1_1_1
std::unique_ptr< VectorValue< Real > > m_n1_1_n1

◆ testVectorMultBase()

void TypeVectorTestBase< VectorValue< Real > >::testVectorMultBase ( )
inlineinherited

Definition at line 533 of file type_vector_test.h.

534  {
535  LOG_UNIT_TEST;
536 
537  if (LIBMESH_DIM == 2)
538  LIBMESH_ASSERT_NUMBERS_EQUAL( 0.0 , (*basem_1_1_1)*(*basem_n1_1_n1) , TOLERANCE*TOLERANCE );
539  else
540  LIBMESH_ASSERT_NUMBERS_EQUAL( -1.0 , (*basem_1_1_1)*(*basem_n1_1_n1) , TOLERANCE*TOLERANCE );
541  }
static constexpr Real TOLERANCE

◆ testVectorSub()

void TypeVectorTestBase< VectorValue< Real > >::testVectorSub ( )
inlineinherited

Definition at line 254 of file type_vector_test.h.

255  {
256  LOG_UNIT_TEST;
257 
258  LIBMESH_ASSERT_NUMBERS_EQUAL( 2.0 , ((*m_1_1_1)-(*m_n1_1_n1))(0) , TOLERANCE*TOLERANCE );
259  if (LIBMESH_DIM > 1)
260  LIBMESH_ASSERT_NUMBERS_EQUAL( 0.0 , ((*m_1_1_1)-(*m_n1_1_n1))(1) , TOLERANCE*TOLERANCE );
261  if (LIBMESH_DIM > 2)
262  LIBMESH_ASSERT_NUMBERS_EQUAL( 2.0 , ((*m_1_1_1)-(*m_n1_1_n1))(2) , TOLERANCE*TOLERANCE );
263  }
static constexpr Real TOLERANCE
std::unique_ptr< VectorValue< Real > > m_1_1_1
std::unique_ptr< VectorValue< Real > > m_n1_1_n1

◆ testVectorSubAssign()

void TypeVectorTestBase< VectorValue< Real > >::testVectorSubAssign ( )
inlineinherited

Definition at line 286 of file type_vector_test.h.

287  {
288  LOG_UNIT_TEST;
289 
290  DerivedClass avector {*basem_1_1_1};
291  avector-=(*m_n1_1_n1);
292 
293  LIBMESH_ASSERT_NUMBERS_EQUAL( 2.0 , avector(0) , TOLERANCE*TOLERANCE );
294  if (LIBMESH_DIM > 1)
295  LIBMESH_ASSERT_NUMBERS_EQUAL( 0.0 , avector(1) , TOLERANCE*TOLERANCE );
296  if (LIBMESH_DIM > 2)
297  LIBMESH_ASSERT_NUMBERS_EQUAL( 2.0 , avector(2) , TOLERANCE*TOLERANCE );
298  }
static constexpr Real TOLERANCE

◆ testVectorSubAssignBase()

void TypeVectorTestBase< VectorValue< Real > >::testVectorSubAssignBase ( )
inlineinherited

Definition at line 554 of file type_vector_test.h.

555  {
556  LOG_UNIT_TEST;
557 
558  TypeVector<T> avector(*m_1_1_1);
559  avector-=(*basem_n1_1_n1);
560 
561  LIBMESH_ASSERT_NUMBERS_EQUAL( 2.0 , avector(0) , TOLERANCE*TOLERANCE );
562  if (LIBMESH_DIM > 1)
563  LIBMESH_ASSERT_NUMBERS_EQUAL( 0.0 , avector(1) , TOLERANCE*TOLERANCE );
564  if (LIBMESH_DIM > 2)
565  LIBMESH_ASSERT_NUMBERS_EQUAL( 2.0 , avector(2) , TOLERANCE*TOLERANCE );
566  }
static constexpr Real TOLERANCE
std::unique_ptr< VectorValue< Real > > m_1_1_1
This class defines a vector in LIBMESH_DIM dimensional space of type T.
Definition: tensor_tools.h:34

◆ testVectorSubBase()

void TypeVectorTestBase< VectorValue< Real > >::testVectorSubBase ( )
inlineinherited

Definition at line 522 of file type_vector_test.h.

523  {
524  LOG_UNIT_TEST;
525 
526  LIBMESH_ASSERT_NUMBERS_EQUAL( 2.0 , ((*basem_1_1_1)-(*basem_n1_1_n1))(0) , TOLERANCE*TOLERANCE );
527  if (LIBMESH_DIM > 1)
528  LIBMESH_ASSERT_NUMBERS_EQUAL( 0.0 , ((*basem_1_1_1)-(*basem_n1_1_n1))(1) , TOLERANCE*TOLERANCE );
529  if (LIBMESH_DIM > 2)
530  LIBMESH_ASSERT_NUMBERS_EQUAL( 2.0 , ((*basem_1_1_1)-(*basem_n1_1_n1))(2) , TOLERANCE*TOLERANCE );
531  }
static constexpr Real TOLERANCE

◆ testZero()

void TypeVectorTestBase< VectorValue< Real > >::testZero ( )
inlineinherited

Definition at line 115 of file type_vector_test.h.

116  {
117  LOG_UNIT_TEST;
118 
119 #if LIBMESH_DIM > 2
120  DerivedClass avector(1,1,1);
121 #elif LIBMESH_DIM > 1
122  DerivedClass avector(1,1);
123 #else
124  DerivedClass avector(1);
125 #endif
126  avector.zero();
127 
128  for (int i = 0; i != LIBMESH_DIM; ++i)
129  CPPUNIT_ASSERT_EQUAL( T(0), avector(i));
130  }
VectorValue< Real > ::value_type T

◆ testZeroBase()

void TypeVectorTestBase< VectorValue< Real > >::testZeroBase ( )
inlineinherited

Definition at line 314 of file type_vector_test.h.

315  {
316  LOG_UNIT_TEST;
317 
318  TypeVector<T> avector((*basem_1_1_1));
319  avector.zero();
320 
321  for (int i = 0; i != LIBMESH_DIM; ++i)
322  CPPUNIT_ASSERT_EQUAL( T(0), avector(i));
323  }
This class defines a vector in LIBMESH_DIM dimensional space of type T.
Definition: tensor_tools.h:34
VectorValue< Real > ::value_type T

Member Data Documentation

◆ libmesh_suite_name

std::string TypeVectorTestBase< VectorValue< Real > >::libmesh_suite_name
protectedinherited

Definition at line 68 of file type_vector_test.h.


The documentation for this class was generated from the following file: