https://mooseframework.inl.gov
Loading...
Searching...
No Matches
XYDelaunayGenerator.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
21{
22public:
24
26
27 std::unique_ptr<MeshBase> generate() override;
28
29protected:
31 std::unique_ptr<MeshBase> & _bdy_ptr;
32
35
37 const bool _refine_bdy;
38
41
43 const bool _smooth_tri;
44
46 const bool _verify_holes;
47
49 const std::vector<std::unique_ptr<MeshBase> *> _hole_ptrs;
50
52 const std::vector<bool> _stitch_holes;
53
55 const std::vector<bool> _refine_holes;
56
58 const Real _desired_area;
59
61 const std::string _desired_area_func;
62
65
68
71
73 std::vector<Point> _interior_points;
74
77
79 const unsigned int _outer_boundary_layer_num;
80
83
85 const std::vector<Real> _holes_boundary_layer_thickness;
86
88 const std::vector<unsigned int> _holes_boundary_layer_num;
89
91 const std::vector<Real> _holes_boundary_layer_bias;
92};
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system.
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
Base class for Delaunay mesh generators applied to a surface.
Generates a triangulation in the XY plane, based on an input mesh defining the outer boundary (as wel...
const bool _smooth_tri
Whether to do Laplacian mesh smoothing on the generated triangles.
const std::vector< unsigned int > _holes_boundary_layer_num
Per-hole boundary-layer ring layer counts.
std::unique_ptr< MeshBase > & _bdy_ptr
Input mesh defining the boundary to triangulate within.
const std::vector< Real > _holes_boundary_layer_bias
Per-hole boundary-layer ring bias factors.
SubdomainID _output_subdomain_id
What subdomain_id to set on the generated triangles.
const bool _verify_holes
Whether to verify holes do not intersect boundary or each other.
const bool _refine_bdy
Whether to allow automatically refining the outer boundary.
const unsigned int _outer_boundary_layer_num
Number of element layers in the outer boundary-layer ring.
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.
const Real _desired_area
Desired (maximum) triangle area.
const Real _outer_boundary_layer_thickness
Thickness of an optional boundary-layer ring grown inward from the outer boundary.
const MooseEnum _tri_elem_type
Type of triangular elements to be generated.
const MooseEnum _algorithm
Type of algorithm used to find matching nodes (binary or exhaustive)
std::unique_ptr< MeshBase > generate() override
Generate / modify the mesh.
const std::vector< bool > _refine_holes
Whether to allow automatically refining each hole boundary.
static InputParameters validParams()
std::vector< Point > _interior_points
Desired interior node locations.
const unsigned int _add_nodes_per_boundary_segment
How many more nodes to add in each outer boundary segment.
const Real _outer_boundary_layer_bias
Bias factor for the layer thicknesses in the outer boundary-layer ring.
const std::string _desired_area_func
Desired triangle area as a (fparser-compatible) function of x,y.
const std::vector< Real > _holes_boundary_layer_thickness
Per-hole boundary-layer ring thicknesses (grown outward from each hole)
const bool _verbose_stitching
Whether mesh stitching should have verbose output.