A base class for mesh generators that Use a parsed expression to assign new subdomain id(s)
std::unique_ptr< MeshBase > generate() override
Generate / modify the mesh.
std::unique_ptr< MeshBase > & _input
mesh to set the subdomains on
const std::string _function
function expression
virtual void setBlockName(std::unique_ptr< MeshBase > &)
usingFunctionParserUtilsMembers(false)
static InputParameters validParams()
std::vector< unsigned int > _eeid_indices
Indices of the extra element ids used in the parsed expression.
const std::vector< ExtraElementIDName > _eeid_names
Names of the extra element ids used in the parsed expression.
void functionInitialize(const std::string &function_expression)
Initialize the function parser object.
std::vector< subdomain_id_type > _excluded_ids
A list of excluded subdomain ids that will not be changed even if they are in the combinatorial geome...
virtual void assignElemSubdomainID(Elem *elem)=0
SymFunctionPtr _func_F
function parser object describing the combinatorial geometry