https://mooseframework.inl.gov
Loading...
Searching...
No Matches
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{
21public:
23
25
26 std::unique_ptr<MeshBase> generate() override;
27
28protected:
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.
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system.
MeshGenerators are objects that can modify or add to an existing mesh.
const InputParameters & parameters() const
Get the parameters of the object.
Definition MooseBase.h:131
MeshGenerator for adding an extra element integer uses a parsed expression.
unsigned int _extra_elem_id
index of the extra elem id
const std::vector< ExtraElementIDName > _eeid_names
Names of the extra element ids used in the parsed expression.
const std::string & _elem_id_name
extra elem id name
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
SymFunctionPtr _func_F
function parser object describing the combinatorial geometry
std::unique_ptr< MeshBase > generate() override
Generate / modify the mesh.
const std::string _function
function expression