https://mooseframework.inl.gov
Loading...
Searching...
No Matches
PeripheralRingMeshGenerator.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"
14#include "MooseMeshUtils.h"
16
21{
22public:
24
26
27 std::unique_ptr<MeshBase> generate() override;
28
29protected:
31 const MeshGeneratorName _input_name;
35 const unsigned int _peripheral_layer_num;
49 const subdomain_id_type _peripheral_ring_block_id;
51 const SubdomainName _peripheral_ring_block_name;
53 const boundary_id_type _external_boundary_id;
55 const BoundaryName _external_boundary_name;
57 std::unique_ptr<MeshBase> & _input;
59 boundary_id_type _input_mesh_external_bid;
60
75 void innerBdryLayerNodesDefiner(const unsigned int input_ext_node_num,
76 const std::vector<Real> input_bdry_angles,
77 const std::vector<Point> ref_inner_bdry_surf,
78 const std::vector<Real> inner_peripheral_bias_terms,
79 const std::vector<Real> azi_array,
80 const Point origin_pt,
81 std::vector<std::vector<Point>> & points_array) const;
82};
const InputParameters & parameters() const
This PeripheralRingMeshGenerator object adds a circular peripheral region to the input mesh.
const boundary_id_type _external_boundary_id
ID of the new external boundary.
const subdomain_id_type _peripheral_ring_block_id
Subdomain ID of the added peripheral region.
Real _peripheral_radial_bias
Bias value used to induce biasing to radial meshing in peripheral ring region.
const SubdomainName _peripheral_ring_block_name
Subdomain name of the added peripheral region.
const bool _force_input_centroid_as_center
Whether to enforce use of the centroid position of the input mesh as the center of the peripheral rin...
boundary_id_type _input_mesh_external_bid
ID of the external boundary of the input mesh.
const BoundaryName _input_mesh_external_boundary
Name of the external boundary of the input mesh.
singleBdryLayerParams _peripheral_outer_boundary_layer_params
Width, fraction, radiation sectors and growth factor of the outer boundary layer of the peripheral re...
std::unique_ptr< MeshBase > generate() override
const unsigned int _peripheral_layer_num
Number of layers of elements of the peripheral region in radial direction.
void innerBdryLayerNodesDefiner(const unsigned int input_ext_node_num, const std::vector< Real > input_bdry_angles, const std::vector< Point > ref_inner_bdry_surf, const std::vector< Real > inner_peripheral_bias_terms, const std::vector< Real > azi_array, const Point origin_pt, std::vector< std::vector< Point > > &points_array) const
Define node positions of the inner boundary layer that is conformal to the input mesh's external boun...
const bool _preserve_volumes
Volume preserving function is optional.
std::unique_ptr< MeshBase > & _input
Reference to input mesh pointer.
const Real _peripheral_ring_radius
Radius of the peripheral region's outer circular boundary.
singleBdryLayerParams _peripheral_inner_boundary_layer_params
Width, fraction, radiation sectors and growth factor of the inner boundary layer of the peripheral re...
const MeshGeneratorName _input_name
Name of the mesh generator to get the input mesh.
const BoundaryName _external_boundary_name
Name of the new external boundary.
A base class that contains common members for Reactor module mesh generators.
Contains a single block's boundary layer related parameters.