2 #include <libmesh/coupling_matrix.h> 18 CPPUNIT_TEST(testSimpleAPI);
20 CPPUNIT_TEST(testIteratorAPI);
22 CPPUNIT_TEST_SUITE_END();
39 CPPUNIT_ASSERT_EQUAL(cm01,
true);
43 for (
unsigned i=0; i<2; ++i)
44 for (
unsigned j=0; j<2; ++j)
47 bool cmrij = cmr(i,j);
48 CPPUNIT_ASSERT_EQUAL(cmij, cmrij);
49 CPPUNIT_ASSERT_EQUAL(cmij, (i != j));
54 for (
unsigned i=0; i<8; ++i)
55 for (
unsigned j=0; j<8; ++j)
58 bool cmrij = cmr(i,j);
59 CPPUNIT_ASSERT_EQUAL(cmij, cmrij);
60 CPPUNIT_ASSERT_EQUAL(cmij,
false);
64 for (
unsigned i=6; i>0; --i)
66 const unsigned int pi = i + (i > 4);
67 for (
unsigned j=0; j<6; ++j)
69 const unsigned int pj = j + (j > 3);
76 for (
unsigned i=0; i<8; ++i)
77 for (
unsigned j=0; j<8; ++j)
80 bool cmrij = cmr(i,j);
81 CPPUNIT_ASSERT_EQUAL(cmij, cmrij);
82 if ((i != 0) && (i != 5) && (j != 4) && (j != 7))
84 CPPUNIT_ASSERT_EQUAL(cmij,
true);
88 CPPUNIT_ASSERT_EQUAL(cmij,
false);
93 for (
unsigned k=0; k<8; ++k)
101 for (
unsigned i=0; i<8; ++i)
102 for (
unsigned j=0; j<8; ++j)
105 bool cmrij = cmr(i,j);
106 CPPUNIT_ASSERT_EQUAL(cmij, cmrij);
107 if ((i != 0) && (i != 3) && (i != 5) &&
108 (j != 0) && (j != 4) && (j != 7))
110 CPPUNIT_ASSERT_EQUAL(cmij,
true);
114 CPPUNIT_ASSERT_EQUAL(cmij,
false);
126 for (
unsigned i=6; i>0; --i)
128 const unsigned int pi = i + (i > 4);
129 for (
unsigned j=0; j<6; ++j)
131 const unsigned int pj = j + (j > 3);
140 for (
unsigned k=0; k<8; ++k)
148 const unsigned int ivals[] = {1,2,4,6,7};
149 const unsigned int non_ivals[] = {0,3,5};
150 const unsigned int jvals[] = {1,2,3,5,6};
153 const unsigned int isize =
sizeof(
unsigned int);
155 for (
unsigned int pi = 0;
pi !=
sizeof(non_ivals)/isize; ++
pi)
157 unsigned int i = non_ivals[
pi];
159 CPPUNIT_ASSERT(ccr.
begin() == ccr.
end());
162 for (
unsigned int pi = 0;
pi !=
sizeof(ivals)/isize; ++
pi)
164 unsigned int i = ivals[
pi];
169 for (
unsigned int pj = 0; pj !=
sizeof(jvals)/isize; ++pj)
171 CPPUNIT_ASSERT(ccr_it != ccr.
end());
172 CPPUNIT_ASSERT_EQUAL(static_cast<unsigned int>(*ccr_it), jvals[pj]);
176 CPPUNIT_ASSERT(ccr_it == ccr.
end());
void resize(const std::size_t n)
Resizes the matrix and initializes all entries to be 0.
This proxy class acts like a container of indices from a single coupling row.
The libMesh namespace provides an interface to certain functionality in the library.
CPPUNIT_TEST_SUITE_REGISTRATION(CouplingMatrixTest)
const_iterator end() const
const_iterator begin() const
void ErrorVector unsigned int
This class defines a coupling matrix.