Alamo
test.cc
Go to the documentation of this file.
1#include <stdlib.h>
2
3#include "Util/Util.H"
4
6#include "Test/Set/Matrix4.H"
7
8#include "Operator/Elastic.H"
9
12
25
27
28int main (int argc, char* argv[])
29{
30 Util::Initialize(argc, argv);
31
32 int failed = 0;
33
34 Util::globalprefix = " │ ";
35
36
37 #define MODELTEST(TYPE) \
38 Util::Test::Message(#TYPE); \
39 { \
40 int subfailed = 0; \
41 subfailed += Util::Test::SubMessage("ArithmeticTest", TYPE::ArithmeticTest<TYPE>(true)); \
42 subfailed += Util::Test::SubMessage("DerivativeTest1", TYPE::DerivativeTest1<TYPE>(true)); \
43 subfailed += Util::Test::SubMessage("DerivativeTest2", TYPE::DerivativeTest2<TYPE>(true)); \
44 if (TYPE::kinvar == Model::Solid::KinematicVariable::F) \
45 { \
46 subfailed += Util::Test::SubMessage("MaterialFrameIndifference", TYPE::MaterialFrameIndifference<TYPE>(true)); \
47 } \
48 failed += Util::Test::SubFinalMessage(subfailed); \
49 }
62
63
64 Util::Test::Message("Set::Matrix4");
65 {
66 int subfailed = 0;
68 subfailed += Util::Test::SubMessage("2D - Full", test_2d_full.SymmetryTest(0));
70 subfailed += Util::Test::SubMessage("3D - Full", test_3d_full.SymmetryTest(0));
72 subfailed += Util::Test::SubMessage("3D - MajorMinor", test_3d_majorminor.SymmetryTest(0));
73 failed += Util::Test::SubFinalMessage(subfailed);
74 }
75
76 Util::Test::Message("Numeric::Interpolator<Linear>");
77 {
78 int subfailed = 0;
80 subfailed += Util::Test::SubMessage("Match",test.Match(0));
81 failed += Util::Test::SubFinalMessage(subfailed);
82 }
83
84 Util::Test::Message("Numeric::Stencil test");
85 {
86 int subfailed = 0;
88 test.Define(32);
89 // first order
90 subfailed += Util::Test::SubMessage("1-0-0",test.Derivative<1,0,0>(0));
91 subfailed += Util::Test::SubMessage("0-1-0",test.Derivative<0,1,0>(0));
92 // second order
93 subfailed += Util::Test::SubMessage("2-0-0",test.Derivative<2,0,0>(0));
94 subfailed += Util::Test::SubMessage("0-2-0",test.Derivative<0,2,0>(0));
95 subfailed += Util::Test::SubMessage("0-0-1",test.Derivative<0,2,0>(0));
96 subfailed += Util::Test::SubMessage("1-1-0",test.Derivative<1,1,0>(0));
97 // fourth order
98 subfailed += Util::Test::SubMessage("3-1-0",test.Derivative<3,1,0>(0));
99 subfailed += Util::Test::SubMessage("1-3-0",test.Derivative<1,3,0>(0));
100 subfailed += Util::Test::SubMessage("2-2-0",test.Derivative<2,2,0>(0));
101 subfailed += Util::Test::SubMessage("4-0-0",test.Derivative<4,0,0>(0));
102 subfailed += Util::Test::SubMessage("0-4-0",test.Derivative<0,4,0>(0));
103#if AMREX_SPACEDIM>2
104 // first order
105 subfailed += Util::Test::SubMessage("0-0-1",test.Derivative<0,0,1>(0));
106 // second order
107 subfailed += Util::Test::SubMessage("0-0-2",test.Derivative<0,0,2>(0));
108 subfailed += Util::Test::SubMessage("1-0-1",test.Derivative<1,0,1>(0));
109 subfailed += Util::Test::SubMessage("0-1-1",test.Derivative<0,1,1>(0));
110 // fourth order
111 subfailed += Util::Test::SubMessage("0-0-4",test.Derivative<0,0,4>(0));
112 subfailed += Util::Test::SubMessage("0-1-3",test.Derivative<0,1,3>(0));
113 subfailed += Util::Test::SubMessage("0-3-1",test.Derivative<0,3,1>(0));
114 subfailed += Util::Test::SubMessage("3-0-1",test.Derivative<3,0,1>(0));
115 subfailed += Util::Test::SubMessage("1-0-3",test.Derivative<1,0,3>(0));
116 subfailed += Util::Test::SubMessage("0-2-2",test.Derivative<0,2,2>(0));
117 subfailed += Util::Test::SubMessage("2-0-2",test.Derivative<2,0,2>(0));
118 subfailed += Util::Test::SubMessage("2-1-1",test.Derivative<2,1,1>(0));
119 subfailed += Util::Test::SubMessage("1-2-1",test.Derivative<1,2,1>(0));
120 subfailed += Util::Test::SubMessage("1-1-2",test.Derivative<1,1,2>(0));
121#endif
122 failed += Util::Test::SubFinalMessage(subfailed);
123 }
124
125 Util::Test::Message("Solver::Nonlocal::Riemann::Roe test");
126 {
127 int subfailed = 0;
129 failed += Util::Test::SubFinalMessage(subfailed);
130 }
131
133 Util::Message(INFO,failed," tests failed");
134
136 return failed;
137}
#define INFO
Definition Util.H:21
Isotropic implements the following elastic model.
Definition Laplacian.H:26
static int Test()
Definition Roe.H:255
bool Derivative(int verbose, std::string plotfile="")
Definition Stencil.H:58
void Define(amrex::IntVect _ncells)
Definition Stencil.H:22
int SymmetryTest(int)
Definition Matrix4.H:10
int Message(std::string testname)
Definition Util.cpp:226
int SubMessage(std::string testname, int failed)
Definition Util.cpp:253
int SubFinalMessage(int failed)
Definition Util.cpp:274
std::string globalprefix
Definition Util.cpp:21
void Finalize()
Definition Util.cpp:159
void Initialize()
Definition Util.cpp:129
void Message(std::string file, std::string func, int line, Args const &... args)
Definition Util.H:126
int main(int argc, char *argv[])
Definition test.cc:28
#define MODELTEST(TYPE)