v0.14.0
Enumerations | Functions
MortarCtestFunctions Namespace Reference

Enumerations

enum  contact_tests {
  EIGHT_CUBE = 1, T_INTERFACE = 2, PUNCH_TOP_AND_MID = 3, PUNCH_TOP_ONLY = 4,
  PUNCH_TOP_ONLY_ALM = 5, SMILING_FACE = 6, SMILING_FACE_CONVECT = 7, WAVE_2D = 8,
  WAVE_2D_ALM = 9, NIGNT_HERTZ_2D = 10, NIGNT_WAVE_2D = 11, NIGNT_HERTZ_3D = 12,
  LAST_TEST
}
 

Functions

MoFEMErrorCode get_night_hertz_2D_results (int ss, double &exp_energy, double &expected_contact_area, int &exp_nb_gauss_pts)
 
MoFEMErrorCode get_night_hertz_3D_results (int ss, double &exp_energy, double &expected_contact_area, int &exp_nb_gauss_pts)
 
MoFEMErrorCode get_night_wave_2D_results (int ss, double &exp_energy, double &expected_contact_area, int &exp_nb_gauss_pts)
 
MoFEMErrorCode check_tests (int ss, int test_num, double &expected_energy, double &expected_contact_area, int &expected_nb_gauss_pts)
 

Enumeration Type Documentation

◆ contact_tests

Enumerator
EIGHT_CUBE 
T_INTERFACE 
PUNCH_TOP_AND_MID 
PUNCH_TOP_ONLY 
PUNCH_TOP_ONLY_ALM 
SMILING_FACE 
SMILING_FACE_CONVECT 
WAVE_2D 
WAVE_2D_ALM 
NIGNT_HERTZ_2D 
NIGNT_WAVE_2D 
NIGNT_HERTZ_3D 
LAST_TEST 
Examples
simple_contact.cpp.

Definition at line 24 of file MortarCtestFunctions.hpp.

24  {
25  EIGHT_CUBE = 1,
26  T_INTERFACE = 2,
28  PUNCH_TOP_ONLY = 4,
30  SMILING_FACE = 6,
32  WAVE_2D = 8,
33  WAVE_2D_ALM = 9,
34  NIGNT_HERTZ_2D = 10,
35  NIGNT_WAVE_2D = 11,
36  NIGNT_HERTZ_3D = 12,
37  LAST_TEST
38 };

Function Documentation

◆ check_tests()

MoFEMErrorCode MortarCtestFunctions::check_tests ( int  ss,
int  test_num,
double expected_energy,
double expected_contact_area,
int &  expected_nb_gauss_pts 
)
Examples
mortar_contact.cpp.

Definition at line 229 of file MortarCtestFunctions.hpp.

231  {
233 
234  if (test_num) {
235 
236  switch (test_num) {
237  case EIGHT_CUBE:
238  expected_energy = 3.0e-04;
239  expected_contact_area = 2.999995061;
240  expected_nb_gauss_pts = 5718;
241  break;
242  case T_INTERFACE:
243  expected_energy = 3.0e-04;
244  expected_contact_area = 1.749997733;
245  expected_nb_gauss_pts = 2046;
246  break;
247  case PUNCH_TOP_AND_MID:
248  expected_energy = 7.8125e-05;
249  expected_contact_area = 0.062499557;
250  expected_nb_gauss_pts = 3408;
251  break;
252  case PUNCH_TOP_ONLY:
253  expected_energy = 2.4110e-05;
254  expected_contact_area = 0.062499557;
255  expected_nb_gauss_pts = 3408;
256  break;
257  case PUNCH_TOP_ONLY_ALM:
258  expected_energy = 2.4104e-05;
259  expected_contact_area = 0.062499557;
260  expected_nb_gauss_pts = 3408;
261  break;
262  case SMILING_FACE:
263  expected_energy = 7.5944e-04;
264  expected_contact_area = 2.727269391;
265  expected_nb_gauss_pts = 1020;
266  break;
268  expected_energy = 7.2982e-04;
269  expected_contact_area = 2.230868859;
270  expected_nb_gauss_pts = 794;
271  break;
272  case WAVE_2D:
273  expected_energy = 0.008537863;
274  expected_contact_area = 0.125;
275  expected_nb_gauss_pts = 384;
276  break;
277  case WAVE_2D_ALM:
278  expected_energy = 0.008538894;
279  expected_contact_area = 0.125;
280  expected_nb_gauss_pts = 384;
281  break;
282  case NIGNT_HERTZ_2D:
284  ss, expected_energy, expected_contact_area, expected_nb_gauss_pts);
285  break;
286  case NIGNT_WAVE_2D:
288  ss, expected_energy, expected_contact_area, expected_nb_gauss_pts);
289  break;
290  case NIGNT_HERTZ_3D:
292  ss, expected_energy, expected_contact_area, expected_nb_gauss_pts);
293  break;
294  default:
295  SETERRQ1(PETSC_COMM_SELF, MOFEM_ATOM_TEST_INVALID,
296  "Unknown test number %d", test_num);
297  }
298  }
300 }

◆ get_night_hertz_2D_results()

MoFEMErrorCode MortarCtestFunctions::get_night_hertz_2D_results ( int  ss,
double exp_energy,
double expected_contact_area,
int &  exp_nb_gauss_pts 
)

Definition at line 40 of file MortarCtestFunctions.hpp.

42  {
44  switch (ss) {
45  case 0:
46  exp_energy = 1.6140e-08;
47  expected_contact_area = 0.001342793;
48  exp_nb_gauss_pts = 4230;
49  break;
50  case 1:
51  exp_energy = 5.9959e-08;
52  expected_contact_area = 0.001860186;
53  exp_nb_gauss_pts = 5876;
54  break;
55  case 2:
56  exp_energy = 1.2880e-07;
57  expected_contact_area = 0.002319399;
58  exp_nb_gauss_pts = 7356;
59  break;
60  case 3:
61  exp_energy = 2.2131e-07;
62  expected_contact_area = 0.002683898;
63  exp_nb_gauss_pts = 8550;
64  break;
65  case 4:
66  exp_energy = 3.3642e-07;
67  expected_contact_area = 0.002929756;
68  exp_nb_gauss_pts = 9360;
69  break;
70  case 5:
71  exp_energy = 4.7351e-07;
72  expected_contact_area = 0.003192519;
73  exp_nb_gauss_pts = 10220;
74  break;
75  case 6:
76  exp_energy = 6.3188e-07;
77  expected_contact_area = 0.003467593;
78  exp_nb_gauss_pts = 11110;
79  break;
80  case 7:
81  exp_energy = 8.1095e-07;
82  expected_contact_area = 0.003689629;
83  exp_nb_gauss_pts = 11840;
84  break;
85  case 8:
86  exp_energy = 1.0103e-06;
87  expected_contact_area = 0.003906358;
88  exp_nb_gauss_pts = 12935;
89  break;
90  case 9:
91  exp_energy = 1.2296e-06;
92  expected_contact_area = 0.004150522;
93  exp_nb_gauss_pts = 13788;
94  break;
95  default:
96  SETERRQ(PETSC_COMM_SELF, MOFEM_ATOM_TEST_INVALID,
97  "Too many steps for Test NIGNT_HERTZ_2D");
98  }
99 
101 };

◆ get_night_hertz_3D_results()

MoFEMErrorCode MortarCtestFunctions::get_night_hertz_3D_results ( int  ss,
double exp_energy,
double expected_contact_area,
int &  exp_nb_gauss_pts 
)

Definition at line 103 of file MortarCtestFunctions.hpp.

105  {
107  switch (ss) {
108  case 0:
109  exp_energy = 2.4921e-07;
110  expected_contact_area = 0.037387570;
111  exp_nb_gauss_pts = 11554;
112  break;
113  case 1:
114  exp_energy = 8.5849e-07;
115  expected_contact_area = 0.053806117;
116  exp_nb_gauss_pts = 14912;
117  break;
118  case 2:
119  exp_energy = 1.7168e-06;
120  expected_contact_area = 0.072368224;
121  exp_nb_gauss_pts = 17395;
122  break;
123  case 3:
124  exp_energy = 2.6893e-06;
125  expected_contact_area = 0.075171507;
126  exp_nb_gauss_pts = 19006;
127  break;
128  case 4:
129  exp_energy = 3.9262e-06;
130  expected_contact_area = 0.080084399;
131  exp_nb_gauss_pts = 20744;
132  break;
133  case 5:
134  exp_energy = 5.4079e-06;
135  expected_contact_area = 0.084318672;
136  exp_nb_gauss_pts = 22342;
137  break;
138  case 6:
139  exp_energy = 7.1375e-06;
140  expected_contact_area = 0.087477064;
141  exp_nb_gauss_pts = 23951;
142  break;
143  case 7:
144  exp_energy = 9.0959e-06;
145  expected_contact_area = 0.088494524;
146  exp_nb_gauss_pts = 24764;
147  break;
148  case 8:
149  exp_energy = 1.1310e-05;
150  expected_contact_area = 0.091510940;
151  exp_nb_gauss_pts = 26403;
152  break;
153  case 9:
154  exp_energy = 1.3771e-05;
155  expected_contact_area = 0.095836947;
156  exp_nb_gauss_pts = 27461;
157  break;
158  default:
159  SETERRQ(PETSC_COMM_SELF, MOFEM_ATOM_TEST_INVALID,
160  "Too many steps for Test NIGNT_HERTZ_2D");
161  }
162 
164 };

◆ get_night_wave_2D_results()

MoFEMErrorCode MortarCtestFunctions::get_night_wave_2D_results ( int  ss,
double exp_energy,
double expected_contact_area,
int &  exp_nb_gauss_pts 
)

Definition at line 166 of file MortarCtestFunctions.hpp.

168  {
170  switch (ss) {
171  case 0:
172  exp_energy = 1.7327e-04;
173  expected_contact_area = 0.015624916;
174  exp_nb_gauss_pts = 768;
175  break;
176  case 1:
177  exp_energy = 6.1650e-04;
178  expected_contact_area = 0.025471946;
179  exp_nb_gauss_pts = 1288;
180  break;
181  case 2:
182  exp_energy = 1.2469e-03;
183  expected_contact_area = 0.031249908;
184  exp_nb_gauss_pts = 1578;
185  break;
186  case 3:
187  exp_energy = 2.0878e-03;
188  expected_contact_area = 0.031249908;
189  exp_nb_gauss_pts = 1578;
190  break;
191  case 4:
192  exp_energy = 3.1689e-03;
193  expected_contact_area = 0.031249929;
194  exp_nb_gauss_pts = 1600;
195  break;
196  case 5:
197  exp_energy = 4.4035e-03;
198  expected_contact_area = 0.039604827;
199  exp_nb_gauss_pts = 2013;
200  break;
201  case 6:
202  exp_energy = 5.7279e-03;
203  expected_contact_area = 0.042453153;
204  exp_nb_gauss_pts = 2153;
205  break;
206  case 7:
207  exp_energy = 7.1716e-03;
208  expected_contact_area = 0.046874962;
209  exp_nb_gauss_pts = 2370;
210  break;
211  case 8:
212  exp_energy = 8.7560e-03;
213  expected_contact_area = 0.046874962;
214  exp_nb_gauss_pts = 2370;
215  break;
216  case 9:
217  exp_energy = 1.0527e-02;
218  expected_contact_area = 0.046874962;
219  exp_nb_gauss_pts = 2370;
220  break;
221  default:
222  SETERRQ(PETSC_COMM_SELF, MOFEM_ATOM_TEST_INVALID,
223  "Too many steps for Test NIGNT_HERTZ_2D");
224  }
225 
227 };
MortarCtestFunctions::LAST_TEST
@ LAST_TEST
Definition: MortarCtestFunctions.hpp:37
MortarCtestFunctions::PUNCH_TOP_AND_MID
@ PUNCH_TOP_AND_MID
Definition: MortarCtestFunctions.hpp:27
MortarCtestFunctions::get_night_wave_2D_results
MoFEMErrorCode get_night_wave_2D_results(int ss, double &exp_energy, double &expected_contact_area, int &exp_nb_gauss_pts)
Definition: MortarCtestFunctions.hpp:166
MortarCtestFunctions::WAVE_2D_ALM
@ WAVE_2D_ALM
Definition: MortarCtestFunctions.hpp:33
MortarCtestFunctions::SMILING_FACE
@ SMILING_FACE
Definition: MortarCtestFunctions.hpp:30
CHKERR
#define CHKERR
Inline error check.
Definition: definitions.h:535
MortarCtestFunctions::T_INTERFACE
@ T_INTERFACE
Definition: MortarCtestFunctions.hpp:26
MortarCtestFunctions::get_night_hertz_2D_results
MoFEMErrorCode get_night_hertz_2D_results(int ss, double &exp_energy, double &expected_contact_area, int &exp_nb_gauss_pts)
Definition: MortarCtestFunctions.hpp:40
MortarCtestFunctions::PUNCH_TOP_ONLY_ALM
@ PUNCH_TOP_ONLY_ALM
Definition: MortarCtestFunctions.hpp:29
MortarCtestFunctions::NIGNT_WAVE_2D
@ NIGNT_WAVE_2D
Definition: MortarCtestFunctions.hpp:35
MortarCtestFunctions::WAVE_2D
@ WAVE_2D
Definition: MortarCtestFunctions.hpp:32
MortarCtestFunctions::NIGNT_HERTZ_3D
@ NIGNT_HERTZ_3D
Definition: MortarCtestFunctions.hpp:36
MortarCtestFunctions::EIGHT_CUBE
@ EIGHT_CUBE
Definition: MortarCtestFunctions.hpp:25
MortarCtestFunctions::get_night_hertz_3D_results
MoFEMErrorCode get_night_hertz_3D_results(int ss, double &exp_energy, double &expected_contact_area, int &exp_nb_gauss_pts)
Definition: MortarCtestFunctions.hpp:103
MOFEM_ATOM_TEST_INVALID
@ MOFEM_ATOM_TEST_INVALID
Definition: definitions.h:40
MortarCtestFunctions::SMILING_FACE_CONVECT
@ SMILING_FACE_CONVECT
Definition: MortarCtestFunctions.hpp:31
MoFEMFunctionReturn
#define MoFEMFunctionReturn(a)
Last executable line of each PETSc function used for error handling. Replaces return()
Definition: definitions.h:416
MortarCtestFunctions::PUNCH_TOP_ONLY
@ PUNCH_TOP_ONLY
Definition: MortarCtestFunctions.hpp:28
MortarCtestFunctions::NIGNT_HERTZ_2D
@ NIGNT_HERTZ_2D
Definition: MortarCtestFunctions.hpp:34
MoFEMFunctionBegin
#define MoFEMFunctionBegin
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
Definition: definitions.h:346