From 309cbed532f558f25900d8bbccce3949d4aaf72f Mon Sep 17 00:00:00 2001 From: Yeon Sang Jung Date: Tue, 14 Sep 2021 00:36:42 -0500 Subject: [PATCH] adding reporting ID for plane, refs idaholab#19217 --- .../meshgenerators/PlaneIDMeshGenerator.h | 37 ++++++ .../src/meshgenerators/PlaneIDMeshGenerator.C | 110 ++++++++++++++++++ .../gold/plane_reporting_id_out.e | Bin 0 -> 46064 bytes .../plane_id/gold/plane_id_grid2d_x_dir_out.e | Bin 0 -> 29188 bytes .../plane_id/gold/plane_id_grid2d_y_dir_out.e | Bin 0 -> 29188 bytes .../plane_id/gold/plane_id_pin3d_out.e | Bin 0 -> 55996 bytes .../reporting_id/plane_id/plane_id_grid2d.i | 48 ++++++++ .../reporting_id/plane_id/plane_id_pin3d.i | 56 +++++++++ .../reporting_id/plane_id/tests | 31 +++++ 9 files changed, 282 insertions(+) create mode 100644 modules/reactor/include/meshgenerators/PlaneIDMeshGenerator.h create mode 100644 modules/reactor/src/meshgenerators/PlaneIDMeshGenerator.C create mode 100644 modules/reactor/test/tests/meshgenerators/reporting_id/gold/plane_reporting_id_out.e create mode 100644 modules/reactor/test/tests/meshgenerators/reporting_id/plane_id/gold/plane_id_grid2d_x_dir_out.e create mode 100644 modules/reactor/test/tests/meshgenerators/reporting_id/plane_id/gold/plane_id_grid2d_y_dir_out.e create mode 100644 modules/reactor/test/tests/meshgenerators/reporting_id/plane_id/gold/plane_id_pin3d_out.e create mode 100644 modules/reactor/test/tests/meshgenerators/reporting_id/plane_id/plane_id_grid2d.i create mode 100644 modules/reactor/test/tests/meshgenerators/reporting_id/plane_id/plane_id_pin3d.i create mode 100644 modules/reactor/test/tests/meshgenerators/reporting_id/plane_id/tests diff --git a/modules/reactor/include/meshgenerators/PlaneIDMeshGenerator.h b/modules/reactor/include/meshgenerators/PlaneIDMeshGenerator.h new file mode 100644 index 000000000000..1ee7a53be900 --- /dev/null +++ b/modules/reactor/include/meshgenerators/PlaneIDMeshGenerator.h @@ -0,0 +1,37 @@ +//* This file is part of the MOOSE framework +//* https://www.mooseframework.org +//* +//* All rights reserved, see COPYRIGHT for full restrictions +//* https://github.com/idaholab/moose/blob/master/COPYRIGHT +//* +//* Licensed under LGPL 2.1, please see LICENSE for details +//* https://www.gnu.org/licenses/lgpl-2.1.html + +#pragma once + +#include "MeshGenerator.h" + +/** + * Assigns plane extra ID for existing 3D meshes + */ +class PlaneIDMeshGenerator : public MeshGenerator +{ +public: + static InputParameters validParams(); + + PlaneIDMeshGenerator(const InputParameters & parameters); + + std::unique_ptr generate() override; + +protected: + /// get plane ID for given plane coordiantes + int getPlaneID(const Point & p) const; + /// input mesh for adding reporting ID + std::unique_ptr & _input; + /// coordinates of planes + std::vector _planes; + /// index of plane axis + const unsigned int _axis_index; + /// name of integer ID + const std::string _element_id_name; +}; diff --git a/modules/reactor/src/meshgenerators/PlaneIDMeshGenerator.C b/modules/reactor/src/meshgenerators/PlaneIDMeshGenerator.C new file mode 100644 index 000000000000..1ecc9eb262cd --- /dev/null +++ b/modules/reactor/src/meshgenerators/PlaneIDMeshGenerator.C @@ -0,0 +1,110 @@ +//* This file is part of the MOOSE framework +//* https://www.mooseframework.org +//* +//* All rights reserved, see COPYRIGHT for full restrictions +//* https://github.com/idaholab/moose/blob/master/COPYRIGHT +//* +//* Licensed under LGPL 2.1, please see LICENSE for details +//* https://www.gnu.org/licenses/lgpl-2.1.html + +#include "PlaneIDMeshGenerator.h" +#include "CastUniquePointer.h" + +#include "libmesh/elem.h" + +registerMooseObject("MooseApp", PlaneIDMeshGenerator); + +InputParameters +PlaneIDMeshGenerator::validParams() +{ + InputParameters params = MeshGenerator::validParams(); + + params.addRequiredParam("input", "The mesh we want to modify"); + params.addRequiredParam>("plane_coordinates", "Coordinates of planes"); + params.addParam>("num_ids_per_plane", "Number of unique ids per plane"); + MooseEnum plane_axis("x y z", "z"); + params.addParam("plane_axis", plane_axis, "Axis of plane"); + params.addRequiredParam("id_name", "Name of extra integer ID set"); + params.addParam("tolerance", 1.0E-4, "Tolerance for plane coordinate check"); + params.addClassDescription("Adds an extra element integer that identifies planes in a mesh."); + + return params; +} + +PlaneIDMeshGenerator::PlaneIDMeshGenerator(const InputParameters & parameters) + : MeshGenerator(parameters), + _input(getMesh("input")), + _axis_index(getParam("plane_axis")), + _element_id_name(getParam("id_name")) +{ + if (!isParamValid("num_ids_per_plane")) + _planes = getParam>("plane_coordinates"); + else + { + _planes.clear(); + std::vector base_planes = getParam>("plane_coordinates"); + std::vector sublayers = getParam>("num_ids_per_plane"); + if (base_planes.size() != sublayers.size() + 1) + paramError("plane_coordinates", + "Sizes of 'plane_coordinates' and 'num_ids_per_plane' disagree"); + _planes.push_back(base_planes[0]); + for (unsigned int i = 0; i < sublayers.size(); ++i) + { + Real layer_size = (base_planes[i + 1] - base_planes[i]) / (Real)sublayers[i]; + for (unsigned int j = 0; j < sublayers[i]; ++j) + _planes.push_back(_planes.back() + layer_size); + } + } + if (_planes.size() < 2) + paramError("plane_coordinates", "Size of 'plane_coordinates' should be at least two"); +} + +std::unique_ptr +PlaneIDMeshGenerator::generate() +{ + std::unique_ptr mesh = std::move(_input); + if (mesh->mesh_dimension() < _axis_index + 1) + paramError("plane_axis", "PlaneIDMeshGenerator must operate on a proper plane axis"); + unsigned int extra_id_index = 0; + if (!mesh->has_elem_integer(_element_id_name)) + extra_id_index = mesh->add_elem_integer(_element_id_name); + else + { + extra_id_index = mesh->get_elem_integer_index(_element_id_name); + mooseWarning("extra integer id name already exists", _element_id_name); + } + + const Real tol = getParam("tolerance"); + for (auto & elem : mesh->active_element_ptr_range()) + { + const int layer_id = getPlaneID(elem->centroid()); + for (unsigned int i = 0; i < elem->n_nodes(); ++i) + { + const Point & p = elem->point(i) - (elem->point(i) - elem->centroid()) * tol; + if (getPlaneID(p) != layer_id) + mooseError("Element at ", elem->centroid(), " is cut by the planes"); + } + elem->set_extra_integer(extra_id_index, layer_id); + } + return dynamic_pointer_cast(mesh); +} + +int +PlaneIDMeshGenerator::getPlaneID(const Point & p) const +{ + // check the input point is located within the plane range + if (p(_axis_index) < _planes[0] || p(_axis_index) > _planes.back()) + mooseError("The planes do not cover element at ", p); + int id = 0; + // looping over each plane to find a plane ID corresponding to the input point + for (unsigned int layer_id = 0; layer_id < _planes.size() - 1; ++layer_id) + { + // check the input point is located between _planes[layer_id] and _planes[layer_id + 1] + if (_planes[layer_id] < p(_axis_index) && _planes[layer_id + 1] >= p(_axis_index)) + { + id = layer_id; + break; + } + } + return id; +} diff --git a/modules/reactor/test/tests/meshgenerators/reporting_id/gold/plane_reporting_id_out.e b/modules/reactor/test/tests/meshgenerators/reporting_id/gold/plane_reporting_id_out.e new file mode 100644 index 0000000000000000000000000000000000000000..c24629d1649c243862baf4479138bcad6b21a6ac GIT binary patch literal 46064 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 Lw9ZnFPwV`Da;7>@ literal 0 HcmV?d00001 diff --git a/modules/reactor/test/tests/meshgenerators/reporting_id/plane_id/gold/plane_id_grid2d_x_dir_out.e b/modules/reactor/test/tests/meshgenerators/reporting_id/plane_id/gold/plane_id_grid2d_x_dir_out.e new file mode 100644 index 0000000000000000000000000000000000000000..c50d494f52d77265fbda1c4b39dc110344941db0 GIT binary patch literal 29188 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 ZsaMfym;VbOS|QhRzL(#S^EW-;{{b*ix#s`? literal 0 HcmV?d00001 diff --git a/modules/reactor/test/tests/meshgenerators/reporting_id/plane_id/gold/plane_id_grid2d_y_dir_out.e b/modules/reactor/test/tests/meshgenerators/reporting_id/plane_id/gold/plane_id_grid2d_y_dir_out.e new file mode 100644 index 0000000000000000000000000000000000000000..72f42f9168089f0239ae5c67f5f8940ee07aed08 GIT binary patch literal 29188 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 z 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 P+x0n6f4su4R!{#A%qghg literal 0 HcmV?d00001 diff --git a/modules/reactor/test/tests/meshgenerators/reporting_id/plane_id/plane_id_grid2d.i b/modules/reactor/test/tests/meshgenerators/reporting_id/plane_id/plane_id_grid2d.i new file mode 100644 index 000000000000..0001f254038f --- /dev/null +++ b/modules/reactor/test/tests/meshgenerators/reporting_id/plane_id/plane_id_grid2d.i @@ -0,0 +1,48 @@ +[Mesh] + [grid] + type = CartesianMeshGenerator + dim = 2 + dx = '5.0 10.0 ' + ix = '1 4' + dy = '5.0 10.0 ' + iy = '1 4' + [] + + [plane_id_gen] + type = PlaneIDMeshGenerator + input = 'grid' + plane_coordinates = '0.0 5.0 15.0' + num_ids_per_plane = ' 1 2' + plane_axis = 'x' + id_name = 'plane_id' + [] +[] + + +[Executioner] + type = Steady +[] + +[Problem] + solve = false +[] + +[AuxVariables] + [plane_id] + family = MONOMIAL + order = CONSTANT + [] +[] + +[AuxKernels] + [set_plane_id] + type = ExtraElementIDAux + variable = plane_id + extra_id_name = plane_id + [] +[] + +[Outputs] + exodus = true + execute_on = timestep_end +[] diff --git a/modules/reactor/test/tests/meshgenerators/reporting_id/plane_id/plane_id_pin3d.i b/modules/reactor/test/tests/meshgenerators/reporting_id/plane_id/plane_id_pin3d.i new file mode 100644 index 000000000000..737bcfaed598 --- /dev/null +++ b/modules/reactor/test/tests/meshgenerators/reporting_id/plane_id/plane_id_pin3d.i @@ -0,0 +1,56 @@ +[Mesh] + [pin2d] + type = PolygonConcentricCircleMeshGenerator + preserve_volumes = true + ring_radii = 0.4 + ring_intervals = 2 + background_intervals = 1 + num_sides = 6 + num_sectors_per_side = '2 2 2 2 2 2' + polygon_size = 0.5 + [] + [pin3d] + type = FancyExtruderGenerator + input = 'pin2d' + heights = '5.0 5.0 5.0' + direction = '0 0 1' + num_layers = '2 2 2' + [] + [pin3d_id] + type = PlaneIDMeshGenerator + input = 'pin3d' + plane_coordinates = '0.0 5.0 10.0 15.0' + num_ids_per_plane = ' 1 2 1' + plane_axis = 'z' + id_name = 'plane_id' + [] +[] + + +[Executioner] + type = Steady +[] + +[Problem] + solve = false +[] + +[AuxVariables] + [plane_id] + family = MONOMIAL + order = CONSTANT + [] +[] + +[AuxKernels] + [set_plane_id] + type = ExtraElementIDAux + variable = plane_id + extra_id_name = plane_id + [] +[] + +[Outputs] + exodus = true + execute_on = timestep_end +[] diff --git a/modules/reactor/test/tests/meshgenerators/reporting_id/plane_id/tests b/modules/reactor/test/tests/meshgenerators/reporting_id/plane_id/tests new file mode 100644 index 000000000000..e2a3ac374e1b --- /dev/null +++ b/modules/reactor/test/tests/meshgenerators/reporting_id/plane_id/tests @@ -0,0 +1,31 @@ +[Tests] + [2d_cartesian_grid] + requirement = 'The system shall support the generation of plane IDs for 2D Cartesian grid' + [x_dir] + type = 'Exodiff' + input = 'plane_id_grid2d.i' + exodiff = 'plane_id_grid2d_x_dir_out.e' + cli_args = "Outputs/file_base='plane_id_grid2d_x_dir_out'" + detail = 'assign plane IDs for x-direction' + recover = false + [] + [y_dir] + type = 'Exodiff' + input = 'plane_id_grid2d.i' + exodiff = 'plane_id_grid2d_y_dir_out.e' + cli_args = "Mesh/plane_id_gen/plane_axis='y' Outputs/file_base='plane_id_grid2d_y_dir_out'" + detail = 'assign plane IDs for y-direction' + recover = false + [] + [] + [3d_mesh] + requirement = 'The system shall support the generation of plane IDs for 3D mesh' + [pin_z_dir] + type = 'Exodiff' + input = 'plane_id_pin3d.i' + exodiff = 'plane_id_pin3d_out.e' + detail = 'assign plane IDs for 3d annular pin mesh for z-direction' + recover = false + [] + [] +[]