https://mooseframework.inl.gov
SurfaceDelaunayGeneratorBase.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 
18 {
19 public:
21 
23 
24  virtual std::unique_ptr<MeshBase> generate() override = 0;
25 
26 protected:
32  Point elemNormal(const Elem & elem);
33 
40  Point meshNormal2D(const MeshBase & mesh);
41 
50  Real meshNormalDeviation2D(const MeshBase & mesh, const Point & global_norm);
51 
53  const bool _use_auto_area_func;
54 
57 
60 
62  const unsigned int _auto_area_function_num_points;
63 
66 
69 
71  const bool _verbose;
72 };
Real meshNormalDeviation2D(const MeshBase &mesh, const Point &global_norm)
Calculate the maximum deviation of the normal vectors in a given mesh from a global average normal ve...
Base class for Delaunay mesh generators applied to a surface.
const InputParameters & parameters() const
Get the parameters of the object.
Definition: MooseBase.h:131
MeshBase & mesh
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
Point meshNormal2D(const MeshBase &mesh)
Calculate the average normal vector of a 2D mesh based on the normal vectors of its elements using th...
virtual std::unique_ptr< MeshBase > generate() override=0
Generate / modify the mesh.
const bool _use_auto_area_func
Whether to use automatic desired area function.
const bool _verbose
Whether the generator should be verbose.
const unsigned int _auto_area_function_num_points
Maximum number of points to use for the inverse distance interpolation for automatic area function...
const Real _auto_area_func_default_size_dist
Background size&#39;s effective distance for automatic desired area function.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const Real _max_angle_deviation
Max angle deviation from the global average normal vector in the input mesh.
const Real _auto_area_function_power
Power of the polynomial used in the inverse distance interpolation for automatic area function...
const Real _auto_area_func_default_size
Background size for automatic desired area function.
SurfaceDelaunayGeneratorBase(const InputParameters &parameters)
MeshGenerators are objects that can modify or add to an existing mesh.
Definition: MeshGenerator.h:33
Point elemNormal(const Elem &elem)
Calculate the normal vector of a 2D element based the first three vertices.