https://mooseframework.inl.gov
Loading...
Searching...
No Matches
PatternedPolygonPeripheralModifierBase.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#include "MooseEnum.h"
15#include "LinearInterpolation.h"
16
24{
25public:
27
29
30 std::unique_ptr<MeshBase> generate() override;
31
32protected:
34 const MeshGeneratorName _input_name;
38 const unsigned int _new_num_sector;
40 const subdomain_id_type _transition_layer_id;
42 const SubdomainName _transition_layer_name;
44 const unsigned int _num_layers;
46 const std::vector<std::string> _extra_id_names_to_modify;
48 const std::vector<dof_id_type> _new_extra_id_values_to_assign;
50 std::unique_ptr<MeshBase> & _mesh;
52 boundary_id_type _input_mesh_external_bid;
54 unsigned int _num_sides;
55
64 ReplicatedMesh & mesh,
65 const std::vector<std::pair<Point, std::vector<dof_id_type>>> ref_extra_ids);
66};
const InputParameters & parameters() const
This PatternedPolygonPeripheralModifierBase is the base class for PatternedCartesianPeripheralModifie...
std::unique_ptr< MeshBase > & _mesh
The main mesh used in this class.
const SubdomainName _transition_layer_name
Block name of the transition layer to be generated.
const unsigned int _new_num_sector
Target number of mesh sectors on each side of the square.
void transferExtraElemIntegers(ReplicatedMesh &mesh, const std::vector< std::pair< Point, std::vector< dof_id_type > > > ref_extra_ids)
Assign extra element integers to the newly generated transition layer mesh based on the nearest eleme...
const std::vector< std::string > _extra_id_names_to_modify
Names of extra element integers in the input mesh that need to be retained or reassigned in the trans...
const BoundaryName _input_mesh_external_boundary
External boundary name of the input mesh.
const unsigned int _num_layers
Number of element layers of the transition layer to be generated.
const MeshGeneratorName _input_name
Name of the input mesh that needs the modification.
const subdomain_id_type _transition_layer_id
Block ID of the transition layer to be generated.
const std::vector< dof_id_type > _new_extra_id_values_to_assign
Customized values to be used to reassign the extra element integers in the transition layer.
boundary_id_type _input_mesh_external_bid
Boundary ID of the external boundary of the input mesh.
unsigned int _num_sides
Number of sides of the mesh to be generated.
A base class that contains common members for Reactor module mesh generators.