3 #include "GeneralUserObject.h" 4 #include <unordered_map> 19 virtual void execute()
override;
29 int getExtraIntegerScore(libMesh::Elem * elem)
const;
36 void reversePolishNotation(
const std::vector<std::string> & expression);
44 bool belongsToCluster(libMesh::Elem * base_element, libMesh::Elem * neighbor_elem);
50 void resetExtraInteger();
56 void initializeUserObjects();
59 const ExtraElementIDName & _id_name;
62 libMesh::MeshBase & _mesh;
65 unsigned int _extra_integer_index;
68 std::unordered_map<std::string, const ClusteringUserObjectBase *> _clustering_user_objects;
71 std::vector<std::string> _output_stack;
74 static std::unordered_map<std::string, int> _precedence;
76 static constexpr
int NOT_VISITED = -1;
77 static constexpr std::string_view _left_parenthesis =
"(";
78 static constexpr std::string_view _right_parenthesis =
")";
Definition: BooleanComboClusteringUserObject.h:13
Definition: ClusteringUserObjectBase.h:8
static InputParameters validParams()
Definition: BooleanComboClusteringUserObject.C:10
virtual void execute() override
Definition: BooleanComboClusteringUserObject.C:137
virtual void initialize() override
Definition: BooleanComboClusteringUserObject.h:20
virtual void finalize() override
Definition: BooleanComboClusteringUserObject.h:21
BooleanComboClusteringUserObject(const InputParameters ¶meters)
Definition: BooleanComboClusteringUserObject.C:21