www.mooseframework.org
ElementDeletionGeneratorBase.h
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://www.mooseframework.org
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 // Forward declarations
16 
17 template <>
19 
28 {
29 public:
31 
32  std::unique_ptr<MeshBase> generate() override;
33 
34 protected:
35  std::unique_ptr<MeshBase> & _input;
36 
41  virtual bool shouldDelete(const Elem * elem) = 0;
42 
44  const bool _assign_boundary;
45 
47  const BoundaryName _boundary_name;
48 };
49 
InputParameters validParams< ElementDeletionGeneratorBase >()
This class deletes elements from the mesh data structure after it has been generated or read but befo...
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
const bool _assign_boundary
Assign a boundary name to the cut surface?
const InputParameters & parameters() const
Get the parameters of the object.
Definition: MooseObject.h:65
ElementDeletionGeneratorBase(const InputParameters &parameters)
std::unique_ptr< MeshBase > & _input
std::unique_ptr< MeshBase > generate() override
Generate / modify the mesh.
virtual bool shouldDelete(const Elem *elem)=0
Method that returns a Boolean indicating whether an element should be removed from the mesh...
const BoundaryName _boundary_name
Name of the boundary name to assign to the cut surface.
MeshGenerators are objects that can modify or add to an existing mesh.
Definition: MeshGenerator.h:30