Skip to content

Commit 950e2d4

Browse files
author
Andreas Henrik Frederiksen
committed
Restore vertex default and pin legacy mortar baselines
1 parent 1202766 commit 950e2d4

7 files changed

Lines changed: 17 additions & 12 deletions

File tree

framework/src/constraints/MortarInterfaceWarehouse.C

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@ namespace
1919
{
2020
struct ParsedMortarTriangulationOptions
2121
{
22-
MortarSegmentTriangulationMode mode = MortarSegmentTriangulationMode::centroid;
23-
std::string canonical_name = "centroid";
22+
MortarSegmentTriangulationMode mode = MortarSegmentTriangulationMode::vertex;
23+
std::string canonical_name = "vertex";
2424
};
2525

2626
ParsedMortarTriangulationOptions

framework/src/constraints/MortarSegmentHelper.C

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,11 @@
1010
#include "MooseError.h"
1111

1212
#include "libmesh/int_range.h"
13+
#if defined(LIBMESH_HAVE_TRIANGLE) || defined(LIBMESH_HAVE_POLY2TRI)
1314
#include "libmesh/replicated_mesh.h"
1415
#include "libmesh/mesh_triangle_interface.h"
1516
#include "libmesh/poly2tri_triangulator.h"
17+
#endif
1618

1719
#include <algorithm>
1820
#include <array>

framework/src/interfaces/MortarConsumerInterface.C

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ MortarConsumerInterface::validParams()
9797
#else
9898
"vertex centroid ear_clipping",
9999
#endif
100-
"centroid");
100+
"vertex");
101101
triangulation.addDocumentation(
102102
"vertex",
103103
"Triangulate clipped 3D mortar polygons by forming a fan from an existing polygon vertex.");
@@ -115,8 +115,7 @@ MortarConsumerInterface::validParams()
115115
params.addParam<MooseEnum>(
116116
"triangulation",
117117
triangulation,
118-
"Strategy used to triangulate clipped 3D mortar polygons into mortar segments. The default "
119-
"is 'centroid' to preserve the legacy 3D mortar segmentation behavior.");
118+
"Strategy used to triangulate clipped 3D mortar polygons into mortar segments.");
120119
params.addParam<bool>(
121120
"triangulate_triangles",
122121
false,

modules/contact/doc/content/syntax/Contact/index.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,7 @@ In addition, face/face contact using a mortar method can also be specified using
2828

2929
For 3D mortar contact, the triangulation of clipped overlap polygons can be selected with the
3030
`triangulation` parameter. The `triangulate_triangles` parameter controls whether polygons that
31-
are already triangles are left intact or centroid-subdivided again. By default, clipped polygons
32-
use centroid triangulation and already-triangular polygons are left intact.
31+
are already triangles are left intact or centroid-subdivided again.
3332

3433
## Constructed Objects
3534

modules/contact/src/actions/ContactAction.C

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -241,7 +241,7 @@ ContactAction::validParams()
241241
#else
242242
"vertex centroid ear_clipping",
243243
#endif
244-
"centroid");
244+
"vertex");
245245
triangulation.addDocumentation(
246246
"vertex",
247247
"Triangulate clipped 3D mortar polygons by forming a fan from an existing polygon vertex.");
@@ -259,8 +259,7 @@ ContactAction::validParams()
259259
params.addParam<MooseEnum>(
260260
"triangulation",
261261
triangulation,
262-
"Strategy used to triangulate clipped 3D mortar polygons into mortar segments. The default "
263-
"is 'centroid' to preserve the legacy 3D mortar segmentation behavior.");
262+
"Strategy used to triangulate clipped 3D mortar polygons into mortar segments.");
264263
params.addParam<bool>(
265264
"triangulate_triangles",
266265
false,

test/tests/mortar/3d-periodic/tests

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
type = 'Exodiff'
66
input = 'periodic.i'
77
exodiff = 'periodic_out.e'
8+
# Preserve the historical solution baseline while the default triangulation is vertex.
9+
cli_args = 'Constraints/ev/triangulation=centroid'
810
requirement = 'We shall be able to enforce periodic boundary conditions on 3d domains using mortar constraints.'
911
abs_zero = 1e-08
1012
map = False

test/tests/mortar/continuity-3d-non-conforming/tests

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,9 @@
55
type = 'Exodiff'
66
input = 'continuity_sphere_hex.i'
77
exodiff = 'continuity_sphere_hex8_out.e'
8-
cli_args = 'Outputs/file_base=continuity_sphere_hex8_out'
8+
# Preserve the historical solution baseline while the default triangulation is vertex.
9+
cli_args = 'Outputs/file_base=continuity_sphere_hex8_out '
10+
'Constraints/mortar/triangulation=centroid'
911
requirement = 'The system shall be able to produce the expected result for a solution continuity '
1012
'test case using the mortar method on a HEX8 mesh with curved geometry, e.g. the '
1113
'primal variable values across the mortar interface shall be the same.'
@@ -152,7 +154,9 @@
152154
type = 'Exodiff'
153155
input = 'continuity_penalty_sphere_hex.i'
154156
exodiff = 'continuity_penalty_sphere_hex8_out.e'
155-
cli_args = 'Outputs/file_base=continuity_penalty_sphere_hex8_out'
157+
# Preserve the historical solution baseline while the default triangulation is vertex.
158+
cli_args = 'Outputs/file_base=continuity_penalty_sphere_hex8_out '
159+
'Constraints/mortar/triangulation=centroid'
156160
requirement = 'The system shall be able to produce the expected result for a solution continuity '
157161
'test case using the penalty-based mortar method on a HEX8 mesh with curved '
158162
'geometry, e.g. the primal variable values across the mortar interface shall be '

0 commit comments

Comments
 (0)