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
24
26
27int main (int argc, char* argv[])
28{
29 Util::Initialize(argc, argv);
30
31 int failed = 0;
32
33 Util::globalprefix = " │ ";
34
35
36 #define MODELTEST(TYPE) \
37 Util::Test::Message(#TYPE); \
38 { \
39 int subfailed = 0; \
40 subfailed += Util::Test::SubMessage("ArithmeticTest", TYPE::ArithmeticTest<TYPE>(true)); \
41 subfailed += Util::Test::SubMessage("DerivativeTest1", TYPE::DerivativeTest1<TYPE>(true)); \
42 subfailed += Util::Test::SubMessage("DerivativeTest2", TYPE::DerivativeTest2<TYPE>(true)); \
43 if (TYPE::kinvar == Model::Solid::KinematicVariable::F) \
44 { \
45 subfailed += Util::Test::SubMessage("MaterialFrameIndifference", TYPE::MaterialFrameIndifference<TYPE>(true)); \
46 } \
47 failed += Util::Test::SubFinalMessage(subfailed); \
48 }
60
61
62 Util::Test::Message("Set::Matrix4");
63 {
64 int subfailed = 0;
66 subfailed += Util::Test::SubMessage("2D - Full", test_2d_full.SymmetryTest(0));
68 subfailed += Util::Test::SubMessage("3D - Full", test_3d_full.SymmetryTest(0));
70 subfailed += Util::Test::SubMessage("3D - MajorMinor", test_3d_majorminor.SymmetryTest(0));
71 failed += Util::Test::SubFinalMessage(subfailed);
72 }
73
74 Util::Test::Message("Numeric::Interpolator<Linear>");
75 {
76 int subfailed = 0;
78 subfailed += Util::Test::SubMessage("Match",test.Match(0));
79 failed += Util::Test::SubFinalMessage(subfailed);
80 }
81
82 Util::Test::Message("Numeric::Stencil test");
83 {
84 int subfailed = 0;
86 test.Define(32);
87 // first order
88 subfailed += Util::Test::SubMessage("1-0-0",test.Derivative<1,0,0>(0));
89 subfailed += Util::Test::SubMessage("0-1-0",test.Derivative<0,1,0>(0));
90 // second order
91 subfailed += Util::Test::SubMessage("2-0-0",test.Derivative<2,0,0>(0));
92 subfailed += Util::Test::SubMessage("0-2-0",test.Derivative<0,2,0>(0));
93 subfailed += Util::Test::SubMessage("0-0-1",test.Derivative<0,2,0>(0));
94 subfailed += Util::Test::SubMessage("1-1-0",test.Derivative<1,1,0>(0));
95 // fourth order
96 subfailed += Util::Test::SubMessage("3-1-0",test.Derivative<3,1,0>(0));
97 subfailed += Util::Test::SubMessage("1-3-0",test.Derivative<1,3,0>(0));
98 subfailed += Util::Test::SubMessage("2-2-0",test.Derivative<2,2,0>(0));
99 subfailed += Util::Test::SubMessage("4-0-0",test.Derivative<4,0,0>(0));
100 subfailed += Util::Test::SubMessage("0-4-0",test.Derivative<0,4,0>(0));
101#if AMREX_SPACEDIM>2
102 // first order
103 subfailed += Util::Test::SubMessage("0-0-1",test.Derivative<0,0,1>(0));
104 // second order
105 subfailed += Util::Test::SubMessage("0-0-2",test.Derivative<0,0,2>(0));
106 subfailed += Util::Test::SubMessage("1-0-1",test.Derivative<1,0,1>(0));
107 subfailed += Util::Test::SubMessage("0-1-1",test.Derivative<0,1,1>(0));
108 // fourth order
109 subfailed += Util::Test::SubMessage("0-0-4",test.Derivative<0,0,4>(0));
110 subfailed += Util::Test::SubMessage("0-1-3",test.Derivative<0,1,3>(0));
111 subfailed += Util::Test::SubMessage("0-3-1",test.Derivative<0,3,1>(0));
112 subfailed += Util::Test::SubMessage("3-0-1",test.Derivative<3,0,1>(0));
113 subfailed += Util::Test::SubMessage("1-0-3",test.Derivative<1,0,3>(0));
114 subfailed += Util::Test::SubMessage("0-2-2",test.Derivative<0,2,2>(0));
115 subfailed += Util::Test::SubMessage("2-0-2",test.Derivative<2,0,2>(0));
116 subfailed += Util::Test::SubMessage("2-1-1",test.Derivative<2,1,1>(0));
117 subfailed += Util::Test::SubMessage("1-2-1",test.Derivative<1,2,1>(0));
118 subfailed += Util::Test::SubMessage("1-1-2",test.Derivative<1,1,2>(0));
119#endif
120 failed += Util::Test::SubFinalMessage(subfailed);
121 }
122
123 Util::Test::Message("Solver::Nonlocal::Riemann::Roe test");
124 {
125 int subfailed = 0;
127 failed += Util::Test::SubFinalMessage(subfailed);
128 }
129
131 Util::Message(INFO,failed," tests failed");
132
134 return failed;
135}
#define INFO
Definition Util.H:20
Isotropic implements the following elastic model.
Definition Laplacian.H:26
static int Test()
Definition Roe.H:236
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:342
int SubMessage(std::string testname, int failed)
Definition Util.cpp:369
int SubFinalMessage(int failed)
Definition Util.cpp:390
std::string globalprefix
Definition Util.cpp:20
void Finalize()
Definition Util.cpp:158
void Initialize()
Definition Util.cpp:128
void Message(std::string file, std::string func, int line, Args const &... args)
Definition Util.H:141
int main(int argc, char *argv[])
Definition test.cc:27
#define MODELTEST(TYPE)