https://mooseframework.inl.gov
Loading...
Searching...
No Matches
RefineSidesetGenerator.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{
19public:
21
23
24protected:
25 virtual std::unique_ptr<MeshBase> generate() override;
26
27private:
29 std::unique_ptr<MeshBase> & _input;
30
32 const std::vector<BoundaryName> _boundaries;
33
35 const std::vector<int> _refinement;
36
39
42
54 std::unique_ptr<MeshBase> recursive_refine(const std::vector<boundary_id_type> boundary_ids,
55 std::unique_ptr<MeshBase> & mesh,
56 const std::vector<int> refinement,
57 const int max,
58 int ref_step = 0);
59};
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.
MeshGenerator for refining one or more sidesets.
virtual std::unique_ptr< MeshBase > generate() override
Generate / modify the mesh.
const std::vector< BoundaryName > _boundaries
List of boundarie(s) to refine.
std::unique_ptr< MeshBase > recursive_refine(const std::vector< boundary_id_type > boundary_ids, std::unique_ptr< MeshBase > &mesh, const std::vector< int > refinement, const int max, int ref_step=0)
The actual function refining the boundaries.
const bool _enable_neighbor_refinement
Toggles whether neighboring level one elements should be refined or not. Defaults to true.
std::unique_ptr< MeshBase > & _input
Input mesh to refine.
const std::vector< int > _refinement
The amount of times to refine each boundary, corresponding to their index in 'boundaries'.
static InputParameters validParams()
const MultiMooseEnum _boundary_side
Side(s) of the boundary/boundaries to be refined. Can be either "primary"(just the boundary elements)...