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