Loading [MathJax]/extensions/tex2jax.js
libMesh
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
Public Member Functions | Protected Types | Protected Attributes | List of all members
ComplexVectorValueTest Class Reference
Inheritance diagram for ComplexVectorValueTest:
[legend]

Public Member Functions

 ComplexVectorValueTest ()
 
 LIBMESH_CPPUNIT_TEST_SUITE (NumberVectorValueTest)
 
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 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< Complex > ::value_type T
 

Protected Attributes

std::string libmesh_suite_name
 

Detailed Description

Definition at line 45 of file vector_value_test.C.

Member Typedef Documentation

◆ T

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

Definition at line 64 of file type_vector_test.h.

Constructor & Destructor Documentation

◆ ComplexVectorValueTest()

ComplexVectorValueTest::ComplexVectorValueTest ( )
inline

Definition at line 47 of file vector_value_test.C.

47  :
49  this->libmesh_suite_name = "ComplexVectorValueTest";
50  }

Member Function Documentation

◆ CPPUNIT_TEST_SUITE_END()

VECTORVALUETEST ComplexVectorValueTest::CPPUNIT_TEST_SUITE_END ( )

◆ LIBMESH_CPPUNIT_TEST_SUITE()

ComplexVectorValueTest::LIBMESH_CPPUNIT_TEST_SUITE ( NumberVectorValueTest  )

◆ setUp()

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

Definition at line 74 of file type_vector_test.h.

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

◆ tearDown()

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

Definition at line 93 of file type_vector_test.h.

93 {}

◆ testAssignment()

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

Definition at line 164 of file type_vector_test.h.

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

◆ testAssignmentBase()

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

Definition at line 425 of file type_vector_test.h.

426  {
427  LOG_UNIT_TEST;
428 
429  TypeVector<T> avector = (*basem_1_1_1);
430 
431  for (int i = 0; i != LIBMESH_DIM; ++i)
432  CPPUNIT_ASSERT_EQUAL( T(1), (avector)(i) );
433  }
This class defines a vector in LIBMESH_DIM dimensional space of type T.
Definition: tensor_tools.h:34
VectorValue< Complex > ::value_type T

◆ testEquality()

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

Definition at line 144 of file type_vector_test.h.

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

◆ testEqualityBase()

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

Definition at line 407 of file type_vector_test.h.

408  {
409  LOG_UNIT_TEST;
410 
411  CPPUNIT_ASSERT( (*basem_1_1_1) == (*basem_1_1_1) );
412  CPPUNIT_ASSERT( !((*basem_1_1_1) == (*basem_n1_1_n1)) );
413  CPPUNIT_ASSERT( relative_fuzzy_equals(*basem_1_1_1, *basem_1_1_1) );
414  }
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< Complex > >::testInEquality ( )
inlineinherited

Definition at line 154 of file type_vector_test.h.

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

◆ testInEqualityBase()

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

Definition at line 416 of file type_vector_test.h.

417  {
418  LOG_UNIT_TEST;
419 
420  CPPUNIT_ASSERT( !((*basem_1_1_1) != (*basem_1_1_1)) );
421  CPPUNIT_ASSERT( (*basem_1_1_1) != (*basem_n1_1_n1) );
422  CPPUNIT_ASSERT( !relative_fuzzy_equals(*basem_1_1_1, *basem_n1_1_n1) );
423  }
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< Complex > >::testIsZero ( )
inlineinherited

Definition at line 323 of file type_vector_test.h.

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

◆ testNorm()

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

Definition at line 130 of file type_vector_test.h.

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

◆ testNormBase()

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

Definition at line 393 of file type_vector_test.h.

394  {
395  LOG_UNIT_TEST;
396 
397  LIBMESH_ASSERT_FP_EQUAL( std::sqrt(Real(LIBMESH_DIM)) , basem_1_1_1->norm() , TOLERANCE*TOLERANCE );
398  }
static constexpr Real TOLERANCE
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real

◆ testNormSq()

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

Definition at line 137 of file type_vector_test.h.

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

◆ testNormSqBase()

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

Definition at line 400 of file type_vector_test.h.

401  {
402  LOG_UNIT_TEST;
403 
404  LIBMESH_ASSERT_FP_EQUAL( Real(LIBMESH_DIM) , basem_1_1_1->norm_sq() , TOLERANCE*TOLERANCE );
405  }
static constexpr Real TOLERANCE
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real

◆ testReplaceAlgebraicType()

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

Definition at line 541 of file type_vector_test.h.

542  {
543 #ifdef LIBMESH_HAVE_METAPHYSICL
544  typedef typename MetaPhysicL::ReplaceAlgebraicType<
545  std::vector<TypeVector<double>>,
547  typename MetaPhysicL::ValueType<std::vector<TypeVector<double>>>::type>::type>::type
548  ReplacedType;
549  constexpr bool assertion =
550  std::is_same<ReplacedType, std::vector<TensorValue<double>>>::value;
551  CPPUNIT_ASSERT(assertion);
552 #endif
553  }
static const bool value
Definition: xdr_io.C:54

◆ testScalarDiv()

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

Definition at line 200 of file type_vector_test.h.

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

◆ testScalarDivAssign()

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

Definition at line 219 of file type_vector_test.h.

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

◆ testScalarDivAssignBase()

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

Definition at line 462 of file type_vector_test.h.

463  {
464  LOG_UNIT_TEST;
465 
466  TypeVector<T> avector(*m_1_1_1);
467  avector/=5.0;
468 
469  for (int i = 0; i != LIBMESH_DIM; ++i)
470  LIBMESH_ASSERT_NUMBERS_EQUAL( 1/Real(5) , avector(i) , TOLERANCE*TOLERANCE );
471  }
static constexpr Real TOLERANCE
std::unique_ptr< VectorValue< Complex > > 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< Complex > >::testScalarDivBase ( )
inlineinherited

Definition at line 443 of file type_vector_test.h.

444  {
445  LOG_UNIT_TEST;
446 
447  for (int i = 0; i != LIBMESH_DIM; ++i)
448  LIBMESH_ASSERT_NUMBERS_EQUAL( 1/Real(5) , ((*basem_1_1_1)/5.0)(i) , TOLERANCE*TOLERANCE );
449  }
static constexpr Real TOLERANCE
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real

◆ testScalarInit()

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

Definition at line 174 of file type_vector_test.h.

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

◆ testScalarMult()

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

Definition at line 188 of file type_vector_test.h.

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

◆ testScalarMultAssign()

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

Definition at line 208 of file type_vector_test.h.

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

◆ testScalarMultAssignBase()

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

Definition at line 451 of file type_vector_test.h.

452  {
453  LOG_UNIT_TEST;
454 
455  TypeVector<T> avector(*m_1_1_1);
456  avector*=5.0;
457 
458  for (int i = 0; i != LIBMESH_DIM; ++i)
459  LIBMESH_ASSERT_NUMBERS_EQUAL( 5.0 , avector(i) , TOLERANCE*TOLERANCE );
460  }
static constexpr Real TOLERANCE
std::unique_ptr< VectorValue< Complex > > 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< Complex > >::testScalarMultBase ( )
inlineinherited

Definition at line 435 of file type_vector_test.h.

436  {
437  LOG_UNIT_TEST;
438 
439  for (int i = 0; i != LIBMESH_DIM; ++i)
440  LIBMESH_ASSERT_NUMBERS_EQUAL( 5.0 , ((*basem_1_1_1)*5.0)(i) , TOLERANCE*TOLERANCE );
441  }
static constexpr Real TOLERANCE

◆ testSolidAngle()

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

Definition at line 349 of file type_vector_test.h.

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

◆ testValue()

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

Definition at line 95 of file type_vector_test.h.

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

◆ testValueBase()

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

Definition at line 298 of file type_vector_test.h.

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

◆ testVectorAdd()

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

Definition at line 230 of file type_vector_test.h.

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

◆ testVectorAddAssign()

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

Definition at line 273 of file type_vector_test.h.

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

◆ testVectorAddAssignBase()

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

Definition at line 516 of file type_vector_test.h.

517  {
518  LOG_UNIT_TEST;
519 
520  TypeVector<T> avector(*m_1_1_1);
521  avector+=(*basem_1_1_1);
522 
523  for (int i = 0; i != LIBMESH_DIM; ++i)
524  LIBMESH_ASSERT_NUMBERS_EQUAL( 2.0 , avector(i) , TOLERANCE*TOLERANCE );
525  }
static constexpr Real TOLERANCE
std::unique_ptr< VectorValue< Complex > > 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< Complex > >::testVectorAddBase ( )
inlineinherited

Definition at line 473 of file type_vector_test.h.

474  {
475  LOG_UNIT_TEST;
476 
477  LIBMESH_ASSERT_NUMBERS_EQUAL( 0.0 , ((*basem_1_1_1)+(*basem_n1_1_n1))(0) , TOLERANCE*TOLERANCE );
478  if (LIBMESH_DIM > 1)
479  LIBMESH_ASSERT_NUMBERS_EQUAL( 2.0 , ((*basem_1_1_1)+(*basem_n1_1_n1))(1) , TOLERANCE*TOLERANCE );
480  if (LIBMESH_DIM > 2)
481  LIBMESH_ASSERT_NUMBERS_EQUAL( 0.0 , ((*basem_1_1_1)+(*basem_n1_1_n1))(2) , TOLERANCE*TOLERANCE );
482  }
static constexpr Real TOLERANCE

◆ testVectorAddScaled()

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

Definition at line 241 of file type_vector_test.h.

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

◆ testVectorAddScaledBase()

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

Definition at line 484 of file type_vector_test.h.

485  {
486  LOG_UNIT_TEST;
487 
488  TypeVector<T> avector(*m_1_1_1);
489  avector.add_scaled((*basem_1_1_1),0.5);
490 
491  for (int i = 0; i != LIBMESH_DIM; ++i)
492  LIBMESH_ASSERT_NUMBERS_EQUAL( 1.5 , avector(i) , TOLERANCE*TOLERANCE );
493  }
static constexpr Real TOLERANCE
std::unique_ptr< VectorValue< Complex > > 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< Complex > >::testVectorMult ( )
inlineinherited

Definition at line 263 of file type_vector_test.h.

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

◆ testVectorMultBase()

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

Definition at line 506 of file type_vector_test.h.

507  {
508  LOG_UNIT_TEST;
509 
510  if (LIBMESH_DIM == 2)
511  LIBMESH_ASSERT_NUMBERS_EQUAL( 0.0 , (*basem_1_1_1)*(*basem_n1_1_n1) , TOLERANCE*TOLERANCE );
512  else
513  LIBMESH_ASSERT_NUMBERS_EQUAL( -1.0 , (*basem_1_1_1)*(*basem_n1_1_n1) , TOLERANCE*TOLERANCE );
514  }
static constexpr Real TOLERANCE

◆ testVectorSub()

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

Definition at line 252 of file type_vector_test.h.

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

◆ testVectorSubAssign()

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

Definition at line 284 of file type_vector_test.h.

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

◆ testVectorSubAssignBase()

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

Definition at line 527 of file type_vector_test.h.

528  {
529  LOG_UNIT_TEST;
530 
531  TypeVector<T> avector(*m_1_1_1);
532  avector-=(*basem_n1_1_n1);
533 
534  LIBMESH_ASSERT_NUMBERS_EQUAL( 2.0 , avector(0) , TOLERANCE*TOLERANCE );
535  if (LIBMESH_DIM > 1)
536  LIBMESH_ASSERT_NUMBERS_EQUAL( 0.0 , avector(1) , TOLERANCE*TOLERANCE );
537  if (LIBMESH_DIM > 2)
538  LIBMESH_ASSERT_NUMBERS_EQUAL( 2.0 , avector(2) , TOLERANCE*TOLERANCE );
539  }
static constexpr Real TOLERANCE
std::unique_ptr< VectorValue< Complex > > 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< Complex > >::testVectorSubBase ( )
inlineinherited

Definition at line 495 of file type_vector_test.h.

496  {
497  LOG_UNIT_TEST;
498 
499  LIBMESH_ASSERT_NUMBERS_EQUAL( 2.0 , ((*basem_1_1_1)-(*basem_n1_1_n1))(0) , TOLERANCE*TOLERANCE );
500  if (LIBMESH_DIM > 1)
501  LIBMESH_ASSERT_NUMBERS_EQUAL( 0.0 , ((*basem_1_1_1)-(*basem_n1_1_n1))(1) , TOLERANCE*TOLERANCE );
502  if (LIBMESH_DIM > 2)
503  LIBMESH_ASSERT_NUMBERS_EQUAL( 2.0 , ((*basem_1_1_1)-(*basem_n1_1_n1))(2) , TOLERANCE*TOLERANCE );
504  }
static constexpr Real TOLERANCE

◆ testZero()

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

Definition at line 113 of file type_vector_test.h.

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

◆ testZeroBase()

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

Definition at line 312 of file type_vector_test.h.

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

Member Data Documentation

◆ libmesh_suite_name

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

Definition at line 66 of file type_vector_test.h.


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