https://mooseframework.inl.gov
Loading...
Searching...
No Matches
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{
20public:
22
24
25 std::unique_ptr<MeshBase> generate() override;
26
27protected:
29 std::unique_ptr<MeshBase> & _input;
30
33
35 const unsigned int _iterations;
36
38 const Real _dilation_weight;
39
42
45
48
50 const unsigned int _verbosity;
51};
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
MeshGenerator for doing mesh smoothing.
std::unique_ptr< MeshBase > generate() override
Generate / modify the mesh.
const Real _dilation_weight
Variational only: the dilation weight (variational smoother only)
const MooseEnum _algorithm
Smoothing algorithm to use.
const unsigned int _verbosity
Variational only: verbosity level between 0 and 100.
std::unique_ptr< MeshBase > & _input
Mesh that possibly comes from another generator.
const Real _relative_residual_tolerance
Variational only: solver relative residual tolerance.
static InputParameters validParams()
const bool _preserve_subdomain_boundaries
Variational only: whether to preserve subdomain/block boundaries during smoothing.
const unsigned int _iterations
Laplace only: the number of smoothing passes to do.
const Real _absolute_residual_tolerance
Variational only: solver absolute residual tolerance.