52 const std::string & formulation =
"kinematic")
54 auto params =
_app->getActionFactory().getValidParams(
"ContactAction");
55 params.set<std::string>(
"task") =
"add_constraint";
56 params.set<std::string>(
"registered_identifier") =
"Contact/*";
57 params.set<std::vector<BoundaryName>>(
"primary") = {
"primary"};
58 params.set<std::vector<BoundaryName>>(
"secondary") = {
"secondary"};
61 params.set_attributes(
"formulation",
false);
62 params.set<
MooseEnum>(
"formulation") = formulation;
65 switch (ghost_whole_interface)
70 params.set_attributes(
"ghost_whole_interface",
false);
71 params.set<
bool>(
"ghost_whole_interface") =
false;
74 params.set_attributes(
"ghost_whole_interface",
false);
75 params.set<
bool>(
"ghost_whole_interface") =
true;
79 auto action =
_app->getActionFactory().create(
"ContactAction",
"Contact/test", params);
80 return std::dynamic_pointer_cast<ContactAction>(action);
89 action->addRelationshipManagers(Moose::RelationshipManagerType::GEOMETRIC);
91 const auto & relationship_managers =
_app->relationshipManagers();
92 ASSERT_EQ(relationship_managers.size(), 1);
94 auto & rm = **relationship_managers.begin();
95 EXPECT_EQ(rm.type(),
"GhostPrimaryFace");
96 EXPECT_TRUE(rm.isType(Moose::RelationshipManagerType::GEOMETRIC));
97 EXPECT_TRUE(rm.isType(Moose::RelationshipManagerType::ALGEBRAIC));
98 EXPECT_EQ(rm.attachGeometricEarly(), !enabled);
99 EXPECT_EQ(rm.getInfo(), enabled ?
"GhostPrimaryFace" :
"GhostPrimaryFace (disabled)");