https://mooseframework.inl.gov
XYTriangleBoundaryLayerGenerator.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 
19 {
20 public:
22 
24 
25  std::unique_ptr<MeshBase> generate() override;
26 
27 protected:
29  std::unique_ptr<MeshBase> & _input;
30 
33 
35  const unsigned int _num_layers;
36 
39 
42 
44  const std::vector<BoundaryName> _boundary_names;
45 
47  const BoundaryName _interface_name;
48 
50  const BoundaryName _surface_name;
51 
53  const SubdomainName _subdomain_name;
54 
57 
60 
62  const bool _keep_input;
63 };
const std::vector< BoundaryName > _boundary_names
Optional subset of boundary names on the input mesh that define the seed boundary.
const Real _layer_bias
Bias factor for the thickness of each layer.
const InputParameters & parameters() const
Get the parameters of the object.
Definition: MooseBase.h:131
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
const BoundaryName _interface_name
Optional boundary name for the interface between the generated boundary layer and the input mesh...
const unsigned int _num_layers
Number of element layers in the boundary layer.
enum XYTriangleBoundaryLayerGenerator::BoundaryLayerDirection _boundary_layer_direction
const Real _thickness
The total thickness of the boundary layer to be created.
const MooseEnum _tri_elem_type
Triangular element type for the boundary layer.
BoundaryLayerDirection
Whether the boundary layer is grown outward or inward with respect to the input boundary.
const bool _keep_input
Whether to keep the input mesh in the final output (stitched to the boundary layer) ...
This is a "smart" enum class intended to replace many of the shortcomings in the C++ enum type It sho...
Definition: MooseEnum.h:54
std::unique_ptr< MeshBase > & _input
Input mesh defining the boundary on which to grow the boundary layer.
std::unique_ptr< MeshBase > generate() override
Generate / modify the mesh.
const SubdomainName _subdomain_name
Optional subdomain name for the generated boundary layer.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const BoundaryName _surface_name
Optional boundary name for the outer surface of the generated boundary layer.
const SubdomainID _output_subdomain_id
Optional subdomain id for the generated boundary layer.
Generate a 2D layered mesh that represents a conformal boundary layer along the boundary of an input ...
XYTriangleBoundaryLayerGenerator(const InputParameters &parameters)
MeshGenerators are objects that can modify or add to an existing mesh.
Definition: MeshGenerator.h:33