https://mooseframework.inl.gov
ParsedExtraElementIDGenerator.h
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://mooseframework.inl.gov
3 //*
4 //* All rights reserved, see COPYRIGHT for full restrictions
5 //* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6 //*
7 //* Licensed under LGPL 2.1, please see LICENSE for details
8 //* https://www.gnu.org/licenses/lgpl-2.1.html
9 
10 #pragma once
11 
12 #include "MeshGenerator.h"
13 
14 #include "FunctionParserUtils.h"
15 
20 {
21 public:
23 
25 
26  std::unique_ptr<MeshBase> generate() override;
27 
28 protected:
30  std::unique_ptr<MeshBase> & _input;
31 
33  const std::string _function;
34 
36  const std::vector<ExtraElementIDName> _eeid_names;
37 
39  const std::string & _elem_id_name;
40 
42  unsigned int _extra_elem_id;
43 
45  std::vector<unsigned int> _eeid_indices;
46 
49 
51 };
std::shared_ptr< SymFunction > SymFunctionPtr
Shorthand for an smart pointer to an autodiff function parser object.
unsigned int _extra_elem_id
index of the extra elem id
ParsedExtraElementIDGenerator(const InputParameters &parameters)
SymFunctionPtr _func_F
function parser object describing the combinatorial geometry
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
std::unique_ptr< MeshBase > generate() override
Generate / modify the mesh.
const std::string _function
function expression
std::vector< unsigned int > _eeid_indices
Indices of the extra element ids used in the parsed expression.
std::unique_ptr< MeshBase > & _input
mesh to add the subdomain to
const std::string & _elem_id_name
extra elem id name
MeshGenerator for adding an extra element integer uses a parsed expression.
const std::vector< ExtraElementIDName > _eeid_names
Names of the extra element ids used in the parsed expression.
const InputParameters & parameters() const
Get the parameters of the object.
MeshGenerators are objects that can modify or add to an existing mesh.
Definition: MeshGenerator.h:32