https://mooseframework.inl.gov
SmoothMeshGenerator.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 #include "MooseEnum.h"
14 
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 _iterations;
36 
39 
42 
45 
48 
50  const unsigned int _verbosity;
51 };
const Real _dilation_weight
Variational only: the dilation weight (variational smoother only)
const InputParameters & parameters() const
Get the parameters of the object.
Definition: MooseBase.h:131
const Real _relative_residual_tolerance
Variational only: solver relative residual tolerance.
static InputParameters validParams()
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
const unsigned int _verbosity
Variational only: verbosity level between 0 and 100.
const unsigned int _iterations
Laplace only: the number of smoothing passes to do.
std::unique_ptr< MeshBase > & _input
Mesh that possibly comes from another generator.
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 > generate() override
Generate / modify the mesh.
SmoothMeshGenerator(const InputParameters &parameters)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const MooseEnum _algorithm
Smoothing algorithm to use.
const Real _absolute_residual_tolerance
Variational only: solver absolute residual tolerance.
MeshGenerator for doing mesh smoothing.
const bool _preserve_subdomain_boundaries
Variational only: whether to preserve subdomain/block boundaries during smoothing.
MeshGenerators are objects that can modify or add to an existing mesh.
Definition: MeshGenerator.h:33