https://mooseframework.inl.gov
XYZDelaunayGenerator.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 
20 {
21 public:
23 
25 
26  std::unique_ptr<MeshBase> generate() override;
27 
28 protected:
30  std::unique_ptr<MeshBase> & _bdy_ptr;
31 
34 
37 
39  const bool _smooth_tri;
40 
42  const std::vector<std::unique_ptr<MeshBase> *> _hole_ptrs;
43 
45  const std::vector<bool> _stitch_holes;
46 
49 
52 
54  const bool _verbose_stitching;
55 };
const Real _desired_volume
Desired volume of output tetrahedra.
const bool _convert_holes_for_stitching
Whether to convert 3D hole meshes with non-TRI3 surface elements into all-TET4 meshes.
XYZDelaunayGenerator(const InputParameters &parameters)
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
std::unique_ptr< MeshBase > generate() override
Generate / modify the mesh.
const bool _verbose_stitching
Whether mesh stitching should have verbose output.
const MooseEnum _algorithm
Type of algorithm used to find matching nodes (binary or exhaustive)
This is a "smart" enum class intended to replace many of the shortcomings in the C++ enum type It sho...
Definition: MooseEnum.h:33
static InputParameters validParams()
const bool _smooth_tri
Whether to do Laplacian mesh smoothing on the generated triangles.
const std::vector< std::unique_ptr< MeshBase > * > _hole_ptrs
Holds pointers to the pointers to input meshes defining holes.
const std::vector< bool > _stitch_holes
Whether to stitch to the mesh defining each hole.
Generates a tetrahedral mesh, based on an input mesh defining the outer boundary and an optional set ...
std::unique_ptr< MeshBase > & _bdy_ptr
Input mesh defining the boundary to triangulate within.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const InputParameters & parameters() const
Get the parameters of the object.
MeshGenerators are objects that can modify or add to an existing mesh.
Definition: MeshGenerator.h:32
SubdomainID _output_subdomain_id
What subdomain_id to set on the generated tetrahedra.