https://mooseframework.inl.gov
BreakMeshByBlockGeneratorBase.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 
18 {
19 public:
21 
23 
24 protected:
26  std::string _file_name;
28  std::string _interface_name;
29 
32 
36  void checkInputParameter();
37 
40  void findBoundaryNameAndInd(MeshBase & mesh,
41  const subdomain_id_type & /*primaryBlockID*/,
42  const subdomain_id_type & /*secondaryBlockID*/,
43  std::string & /*boundaryName*/,
44  boundary_id_type & /*boundaryID*/,
45  BoundaryInfo & /*boundary_info*/);
46 
47  std::set<std::pair<std::string, BoundaryID>> _bName_bID_set;
48 
50  BoundaryID findFreeBoundaryId(MeshBase & mesh);
51 
52 private:
54  std::string generateBoundaryName(MeshBase & mesh,
55  const subdomain_id_type & /*primaryBlockID*/,
56  const subdomain_id_type & /*secondaryBlockID*/);
57 
59  void mapBoundaryIdAndBoundaryName(boundary_id_type & /*boundaryID*/,
60  const std::string & /*boundaryName*/);
61 };
void findBoundaryNameAndInd(MeshBase &mesh, const subdomain_id_type &, const subdomain_id_type &, std::string &, boundary_id_type &, BoundaryInfo &)
given the primary and secondary blocks this method return the appropriate boundary id and name ...
std::string _file_name
the file_name from whence this mesh came
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
int8_t boundary_id_type
std::string _interface_name
the name of the new interface
boundary_id_type BoundaryID
std::set< std::pair< std::string, BoundaryID > > _bName_bID_set
bool _split_interface
the flag to split the interface by block
void checkInputParameter()
check that if split_interface==true interface_id and interface_name are not set by the user...
BreakMeshByBlockGeneratorBase(const InputParameters &parameters)
void mapBoundaryIdAndBoundaryName(boundary_id_type &, const std::string &)
this method save the boundary name/id pair
const InputParameters & parameters() const
Get the parameters of the object.
BoundaryID findFreeBoundaryId(MeshBase &mesh)
this method finds the first free boundary id
std::string generateBoundaryName(MeshBase &mesh, const subdomain_id_type &, const subdomain_id_type &)
this method generate the boundary name by assembling subdomain names
MeshGenerators are objects that can modify or add to an existing mesh.
Definition: MeshGenerator.h:32