40 {
42
43 MOFEM_LOG(
"EP", Sev::inform) <<
"Testing Monitor postProcess";
44
46 char reaction_block_name[255] = "FIX_ALL";
48 PETSC_NULLPTR);
50 reaction_block_name, 255, PETSC_NULLPTR);
51
53 case 14:
54
57 }
58 break;
59 case 15:
60 if (ts_t > 0.0) {
61
62
65 SETERRQ(
67 "Atom test 15 failed: reaction moment does not match expected "
68 "value. Got [%3.6e], expected [0.25].",
70 }
71 }
72 break;
73 case 16:
74 if (ts_t > 0.0) {
75
76
77
79 1e-4) {
82 "Atom test 16 failed: reaction force does not match expected "
83 "value. Got [%3.6e, %3.6e, %3.6e], expected [-25.4149, 0.0, "
84 "0.0].",
88 }
89 }
90 break;
91 case 17:
92 if (ts_t > 0.0) {
93 if (std::abs(*
gEnergy - 1.27096) > 1e-5) {
96 "Atom test 17 failed: strain energy does not match expected "
97 "value. Got %3.6e, expected 1.27096.",
99 }
100 }
101 break;
102 case 18:
103 if (ts_step == 7) {
107 "Atom test 18 failed: load factor does not match expected "
108 "value. Got %3.6e, expected 16.093.",
110 }
111 }
112 break;
113 case 19:
114 if (ts_t > 0.0) {
117 SETERRQ(
119 "Atom test 19 failed: reaction force does not match expected "
120 "value. Got [%3.6e], expected [2.016e1].",
122 }
123 }
124 break;
125 case 20:
126 if (ts_t > 0.0) {
127
128
129
130 const double expected_reaction = -(160.0 / 3.0) * ts_t;
132 if (!(std::abs(reaction - expected_reaction) <= 1e-7)) {
135 "Atom test 20 failed: Cook clamp reaction does not balance "
136 "the applied traction. Got %.12g, expected %.12g.",
137 reaction, expected_reaction);
138 }
140 "Cook cantilever reaction balance passed at time %g", ts_t);
141 }
142 break;
143 default:
144 break;
145 }
146
148 }
#define MOFEM_LOG_SYNCHRONISE(comm)
Synchronise "SYNC" channel.
#define MOFEM_LOG_C(channel, severity, format,...)
PetscErrorCode PetscOptionsGetString(PetscOptions *, const char pre[], const char name[], char str[], size_t size, PetscBool *set)
MoFEMErrorCode checkExternalStrain(std::array< double, 3 > point, std::string str, PetscInt atom_test)