https://mooseframework.inl.gov
ManifoldSubdomainGenerator.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 #include "MooseEnum.h"
14 
15 class TriangleManifold;
16 
22 {
23 public:
26 
29 
31  std::unique_ptr<MeshBase> generate() override;
32 
33 protected:
35  std::unique_ptr<MeshBase> & _input;
36 
38  std::unique_ptr<MeshBase> & _manifold;
39 
42 
45 
47  const bool _has_restriction;
48 
51 };
const Real _surface_tolerance
Absolute tolerance used by the manifold classifier; choose relative to geometry scale/noise.
const InputParameters & parameters() const
Get the parameters of the object.
Definition: MooseBase.h:131
const MooseEnum _location
Whether to tag the interior or exterior of the STL manifold.
MeshGenerator for defining a subdomain based on whether element vertex averages lie within a closed m...
const subdomain_id_type _block_id
Target subdomain identifier to assign.
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
ManifoldSubdomainGenerator(const InputParameters &parameters)
Construct the mesh generator from user input.
std::unique_ptr< MeshBase > & _input
Input mesh to modify in place.
static InputParameters validParams()
Declare the input parameters for STL-based subdomain assignment.
This is a "smart" enum class intended to replace many of the shortcomings in the C++ enum type It sho...
Definition: MooseEnum.h:54
const bool _has_restriction
Whether retagging is limited to a subset of existing subdomains.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
std::unique_ptr< MeshBase > & _manifold
Surface mesh that defines the closed manifold.
Utility for querying point containment against a closed triangulated surface mesh.
std::unique_ptr< MeshBase > generate() override
Apply STL-based subdomain tagging using element vertex averages as the query points.
MeshGenerators are objects that can modify or add to an existing mesh.
Definition: MeshGenerator.h:33