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 
22 {
23 public:
25 
27 
28  std::unique_ptr<MeshBase> generate() override;
29 
30 protected:
31  std::unique_ptr<MeshBase> & _input;
32 
37  virtual bool shouldDelete(const Elem * elem) = 0;
38 
40  const bool _assign_boundary;
41 
43  const bool _delete_exteriors;
44 
46  const BoundaryName _boundary_name;
47 };
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 _delete_exteriors
Delete elements whose interior parents are slated for deletion?
const bool _assign_boundary
Assign a boundary name to the cut surface?
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 InputParameters & parameters() const
Get the parameters of the object.
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:32