https://mooseframework.inl.gov
SurfaceSubdomainsFromAllNormalsGenerator.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 
13 
20 {
21 public:
23 
25 
26  std::unique_ptr<MeshBase> generate() override;
27 
28 protected:
29  void actOnElem(Elem * const elem,
30  const Point & normal,
31  const subdomain_id_type & sub_id,
32  MeshBase & mesh) override;
33 
35  std::map<SubdomainID, RealVectorValue> _subdomain_to_normal_map;
37  std::map<SubdomainID, Elem *> _subdomain_to_starting_elem;
41 };
const InputParameters & parameters() const
Get the parameters of the object.
Definition: MooseBase.h:131
MeshBase & mesh
std::unique_ptr< MeshBase > generate() override
Generate / modify the mesh.
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
SurfaceSubdomainsFromAllNormalsGenerator(const InputParameters &parameters)
std::map< SubdomainID, Elem * > _subdomain_to_starting_elem
Map from subdomain IDs to a pointer to the element where the subdomain-paiting started.
void actOnElem(Elem *const elem, const Point &normal, const subdomain_id_type &sub_id, MeshBase &mesh) override
Action to perform when flooding.
std::map< SubdomainID, RealVectorValue > _subdomain_to_normal_map
Map from subdomain IDs to the normals of the corresponding boundaries.
This class will add subdomains to the entire mesh based on unique normals.
const bool _contiguous_assignments_only
Whether to only use the flood algorithm to group elements, without looking for the previously created...