From e19021840388355015826fecf9a2a23614792072 Mon Sep 17 00:00:00 2001 From: Guillaume Giudicelli Date: Thu, 18 Feb 2021 17:15:40 +0100 Subject: [PATCH] Add multi block deletion to BlockDeletionGenerator #17052 --- .../meshgenerators/BlockDeletionGenerator.h | 8 +- .../meshgenerators/PatternedMeshGenerator.h | 5 +- .../meshgenerators/BlockDeletionGenerator.C | 49 ++++++++++-- .../meshgenerators/PatternedMeshGenerator.C | 14 ++-- .../graphite_ring_thermomechanics.i | 2 +- ...lm-mortar-fb-tangential-lm-mortar-action.i | 4 +- .../convective_ht_side_integral.i | 2 +- .../tests/radiative_bcs/radiative_bc_cyl.i | 2 +- .../examples/coal_mining/cosserat_elastic.i | 2 +- .../examples/coal_mining/cosserat_mc_only.i | 2 +- .../examples/coal_mining/cosserat_mc_wp.i | 2 +- .../examples/coal_mining/cosserat_wp_only.i | 2 +- .../notched_plastic_block/biaxial_abbo.i | 2 +- .../notched_plastic_block/biaxial_planar.i | 2 +- .../notched_plastic_block/biaxial_smooth.i | 2 +- .../tests/notched_plastic_block/cmc_planar.i | 2 +- .../tests/notched_plastic_block/cmc_smooth.i | 2 +- .../block_deleter/BlockDeleterTest1.i | 2 +- .../block_deleter/BlockDeleterTest10.i | 2 +- .../block_deleter/BlockDeleterTest12.i | 2 +- .../block_deleter/BlockDeleterTest2.i | 2 +- .../block_deleter/BlockDeleterTest3.i | 2 +- .../block_deleter/BlockDeleterTest4.i | 3 +- .../block_deleter/BlockDeleterTest6.i | 2 +- .../block_deleter/BlockDeleterTest7.i | 2 +- .../block_deleter/BlockDeleterTest9.i | 2 +- .../block_deletion_test1.i | 2 +- .../block_deletion_test10.i | 2 +- .../block_deletion_test11.i | 10 +-- .../block_deletion_test12.i | 2 +- .../block_deletion_test13.i | 74 ++++++++++++++++++ .../block_deletion_test14.i | 59 ++++++++++++++ .../block_deletion_test2.i | 2 +- .../block_deletion_test3.i | 2 +- .../block_deletion_test4.i | 2 +- .../block_deletion_test5.i | 3 +- .../block_deletion_test6.i | 2 +- .../block_deletion_test7.i | 2 +- .../block_deletion_test8.i | 2 +- .../block_deletion_test9.i | 2 +- .../gold/block_deletion_test13_out.e | Bin 0 -> 33316 bytes .../gold/block_deletion_test14_out.e | Bin 0 -> 48796 bytes .../block_deletion_generator/tests | 34 +++++--- 43 files changed, 258 insertions(+), 65 deletions(-) create mode 100644 test/tests/meshgenerators/block_deletion_generator/block_deletion_test13.i create mode 100644 test/tests/meshgenerators/block_deletion_generator/block_deletion_test14.i create mode 100644 test/tests/meshgenerators/block_deletion_generator/gold/block_deletion_test13_out.e create mode 100644 test/tests/meshgenerators/block_deletion_generator/gold/block_deletion_test14_out.e diff --git a/framework/include/meshgenerators/BlockDeletionGenerator.h b/framework/include/meshgenerators/BlockDeletionGenerator.h index 22599d7bd92f..c42f4d5b0b68 100644 --- a/framework/include/meshgenerators/BlockDeletionGenerator.h +++ b/framework/include/meshgenerators/BlockDeletionGenerator.h @@ -18,7 +18,7 @@ template <> InputParameters validParams(); /** - * MeshGenerator for + * MeshGenerator for removing blocks from the mesh */ class BlockDeletionGenerator : public ElementDeletionGeneratorBase { @@ -28,10 +28,10 @@ class BlockDeletionGenerator : public ElementDeletionGeneratorBase BlockDeletionGenerator(const InputParameters & parameters); protected: + virtual std::unique_ptr generate() override; virtual bool shouldDelete(const Elem * elem) override; private: - ///Defines the block to be removed - const SubdomainID _block_id; + /// Ids of the blocks to be removed + std::vector _block_ids; }; - diff --git a/framework/include/meshgenerators/PatternedMeshGenerator.h b/framework/include/meshgenerators/PatternedMeshGenerator.h index 92428897f9cd..b858da10605b 100644 --- a/framework/include/meshgenerators/PatternedMeshGenerator.h +++ b/framework/include/meshgenerators/PatternedMeshGenerator.h @@ -44,7 +44,10 @@ class PatternedMeshGenerator : public MeshGenerator /// The pattern, starting with the upper left corner const std::vector> & _pattern; - /// Holds the pointers to the meshes + /// Holds pointers to the meshes before they are generated + std::vector *> _mesh_ptrs; + + /// Holds the pointers to the input generated meshes std::vector> _meshes; /// Holds a mesh for each row, these will be stitched together in the end diff --git a/framework/src/meshgenerators/BlockDeletionGenerator.C b/framework/src/meshgenerators/BlockDeletionGenerator.C index 685d2a80e5a0..f7f6947e0e76 100644 --- a/framework/src/meshgenerators/BlockDeletionGenerator.C +++ b/framework/src/meshgenerators/BlockDeletionGenerator.C @@ -8,6 +8,7 @@ //* https://www.gnu.org/licenses/lgpl-2.1.html #include "BlockDeletionGenerator.h" +#include "MooseMeshUtils.h" #include "libmesh/elem.h" @@ -20,20 +21,58 @@ BlockDeletionGenerator::validParams() { InputParameters params = ElementDeletionGeneratorBase::validParams(); - params.addClassDescription( - "Mesh generator which removes elements with the specified subdomain ID"); - params.addRequiredParam("block_id", "The block to be deleted"); + params.addClassDescription("Mesh generator which removes elements from the specified subdomains"); + params.addParam>("block", "The list of blocks to be deleted"); + params.addDeprecatedParam( + "block_id", "The block to be deleted.", "Use block instead"); return params; } BlockDeletionGenerator::BlockDeletionGenerator(const InputParameters & parameters) - : ElementDeletionGeneratorBase(parameters), _block_id(getParam("block_id")) + : ElementDeletionGeneratorBase(parameters) { + // Handle deprecated parameter + if (isParamValid("block_id")) + _block_ids.push_back(getParam("block_id")); + if (!isParamValid("block_id") && !isParamValid("block")) + mooseError("Must provide the blocks to be deleted in the 'block' parameter"); + if (isParamValid("block_id") && isParamValid("block")) + paramError("block_id", "Cannot use with the parameter 'block'. Please use just 'block'."); +} + +std::unique_ptr +BlockDeletionGenerator::generate() +{ + if (isParamValid("block")) + // Get the list of block ids from the block names + _block_ids = + MooseMeshUtils::getSubdomainIDs(*_input, getParam>("block")); + + // Check that the block ids/names exist in the mesh + std::set mesh_blocks; + _input->subdomain_ids(mesh_blocks); + + for (std::size_t i = 0; i < _block_ids.size(); ++i) + if (_block_ids[i] == Moose::INVALID_BLOCK_ID || !mesh_blocks.count(_block_ids[i])) + { + if (isParamValid("block")) + paramError("block", + "The block '", + getParam>("block")[i], + "' was not found within the mesh"); + else + paramError("block_id", + "The block '", + getParam("block_id"), + "' was not found within the mesh"); + } + + return ElementDeletionGeneratorBase::generate(); } bool BlockDeletionGenerator::shouldDelete(const Elem * elem) { - return elem->subdomain_id() == _block_id; + return std::find(_block_ids.begin(), _block_ids.end(), elem->subdomain_id()) != _block_ids.end(); } diff --git a/framework/src/meshgenerators/PatternedMeshGenerator.C b/framework/src/meshgenerators/PatternedMeshGenerator.C index 14c5be452a81..e9b363860565 100644 --- a/framework/src/meshgenerators/PatternedMeshGenerator.C +++ b/framework/src/meshgenerators/PatternedMeshGenerator.C @@ -70,13 +70,21 @@ PatternedMeshGenerator::PatternedMeshGenerator(const InputParameters & parameter " is larger than the the maximum possible index, which is determined by the " "number of MeshGenerators provided in inputs"); + _mesh_ptrs.reserve(_input_names.size()); + for (auto & input_name : _input_names) + _mesh_ptrs.push_back(&getMeshByName(input_name)); +} + +std::unique_ptr +PatternedMeshGenerator::generate() +{ // Reserve spaces for all the meshes _meshes.reserve(_input_names.size()); // Read in all of the meshes for (MooseIndex(_input_names) i = 0; i < _input_names.size(); ++i) { - std::unique_ptr mesh = dynamic_pointer_cast(getMeshByName(_input_names[i])); + std::unique_ptr mesh = dynamic_pointer_cast(*_mesh_ptrs[i]); if (!mesh) paramError("inputs", "The input mesh '", @@ -87,11 +95,7 @@ PatternedMeshGenerator::PatternedMeshGenerator(const InputParameters & parameter "Try running without distributed mesh."); _meshes.push_back(std::move(mesh)); } -} -std::unique_ptr -PatternedMeshGenerator::generate() -{ // Data structure that holds each row _row_meshes.resize(_pattern.size()); diff --git a/modules/combined/examples/stochastic/graphite_ring_thermomechanics.i b/modules/combined/examples/stochastic/graphite_ring_thermomechanics.i index 4cf022f77e3c..c4774c5c9c8e 100644 --- a/modules/combined/examples/stochastic/graphite_ring_thermomechanics.i +++ b/modules/combined/examples/stochastic/graphite_ring_thermomechanics.i @@ -15,7 +15,7 @@ [ring] type = BlockDeletionGenerator input = disk - block_id = 1 + block = 1 new_boundary = 'inner' [] [cylinder] diff --git a/modules/contact/test/tests/bouncing-block-contact/frictional-nodal-min-normal-lm-mortar-fb-tangential-lm-mortar-action.i b/modules/contact/test/tests/bouncing-block-contact/frictional-nodal-min-normal-lm-mortar-fb-tangential-lm-mortar-action.i index 559f6618378f..022c373b23a9 100644 --- a/modules/contact/test/tests/bouncing-block-contact/frictional-nodal-min-normal-lm-mortar-fb-tangential-lm-mortar-action.i +++ b/modules/contact/test/tests/bouncing-block-contact/frictional-nodal-min-normal-lm-mortar-fb-tangential-lm-mortar-action.i @@ -22,12 +22,12 @@ offset = 1e-2 [./delete_3] type = BlockDeletionGenerator input = original_file_mesh - block_id = 3 + block = 3 [../] [./revised_file_mesh] type = BlockDeletionGenerator input = delete_3 - block_id = 4 + block = 4 [../] [] diff --git a/modules/heat_conduction/test/tests/postprocessors/convective_ht_side_integral.i b/modules/heat_conduction/test/tests/postprocessors/convective_ht_side_integral.i index 166e2924c6ba..948514771d54 100644 --- a/modules/heat_conduction/test/tests/postprocessors/convective_ht_side_integral.i +++ b/modules/heat_conduction/test/tests/postprocessors/convective_ht_side_integral.i @@ -23,7 +23,7 @@ [./block_deleter] type = BlockDeletionGenerator - block_id = 2 + block = 2 input = add_iss_1 [../] [] diff --git a/modules/heat_conduction/test/tests/radiative_bcs/radiative_bc_cyl.i b/modules/heat_conduction/test/tests/radiative_bcs/radiative_bc_cyl.i index de262277a455..e8318da2025d 100644 --- a/modules/heat_conduction/test/tests/radiative_bcs/radiative_bc_cyl.i +++ b/modules/heat_conduction/test/tests/radiative_bcs/radiative_bc_cyl.i @@ -19,7 +19,7 @@ [./remove_1] type = BlockDeletionGenerator - block_id = 1 + block = 1 input = cartesian [../] diff --git a/modules/tensor_mechanics/examples/coal_mining/cosserat_elastic.i b/modules/tensor_mechanics/examples/coal_mining/cosserat_elastic.i index b06fe461d55e..d8d20ef43159 100644 --- a/modules/tensor_mechanics/examples/coal_mining/cosserat_elastic.i +++ b/modules/tensor_mechanics/examples/coal_mining/cosserat_elastic.i @@ -111,7 +111,7 @@ [] [hole] type = BlockDeletionGenerator - block_id = 1 + block = 1 input = roof [] [] diff --git a/modules/tensor_mechanics/examples/coal_mining/cosserat_mc_only.i b/modules/tensor_mechanics/examples/coal_mining/cosserat_mc_only.i index ba0c26aceec3..7b923c0e0d61 100644 --- a/modules/tensor_mechanics/examples/coal_mining/cosserat_mc_only.i +++ b/modules/tensor_mechanics/examples/coal_mining/cosserat_mc_only.i @@ -113,7 +113,7 @@ [] [hole] type = BlockDeletionGenerator - block_id = 1 + block = 1 input = roof [] [] diff --git a/modules/tensor_mechanics/examples/coal_mining/cosserat_mc_wp.i b/modules/tensor_mechanics/examples/coal_mining/cosserat_mc_wp.i index ac15f5ecfaec..63b13033ff91 100644 --- a/modules/tensor_mechanics/examples/coal_mining/cosserat_mc_wp.i +++ b/modules/tensor_mechanics/examples/coal_mining/cosserat_mc_wp.i @@ -115,7 +115,7 @@ [] [hole] type = BlockDeletionGenerator - block_id = 1 + block = 1 input = roof [] [] diff --git a/modules/tensor_mechanics/examples/coal_mining/cosserat_wp_only.i b/modules/tensor_mechanics/examples/coal_mining/cosserat_wp_only.i index 87d384aae0fc..0fbb0b39b7cf 100644 --- a/modules/tensor_mechanics/examples/coal_mining/cosserat_wp_only.i +++ b/modules/tensor_mechanics/examples/coal_mining/cosserat_wp_only.i @@ -113,7 +113,7 @@ [] [hole] type = BlockDeletionGenerator - block_id = 1 + block = 1 input = roof [] [] diff --git a/modules/tensor_mechanics/test/tests/notched_plastic_block/biaxial_abbo.i b/modules/tensor_mechanics/test/tests/notched_plastic_block/biaxial_abbo.i index 12a3306425d7..403b4c7c07c2 100644 --- a/modules/tensor_mechanics/test/tests/notched_plastic_block/biaxial_abbo.i +++ b/modules/tensor_mechanics/test/tests/notched_plastic_block/biaxial_abbo.i @@ -54,7 +54,7 @@ [] [remove_block] type = BlockDeletionGenerator - block_id = 1 + block = 1 input = block_to_remove_ymax [] [] diff --git a/modules/tensor_mechanics/test/tests/notched_plastic_block/biaxial_planar.i b/modules/tensor_mechanics/test/tests/notched_plastic_block/biaxial_planar.i index 7a3293197ada..ac4605659fea 100644 --- a/modules/tensor_mechanics/test/tests/notched_plastic_block/biaxial_planar.i +++ b/modules/tensor_mechanics/test/tests/notched_plastic_block/biaxial_planar.i @@ -54,7 +54,7 @@ [] [remove_block] type = BlockDeletionGenerator - block_id = 1 + block = 1 input = block_to_remove_ymax [] [] diff --git a/modules/tensor_mechanics/test/tests/notched_plastic_block/biaxial_smooth.i b/modules/tensor_mechanics/test/tests/notched_plastic_block/biaxial_smooth.i index 5e555a6df1d9..1234dee3775b 100644 --- a/modules/tensor_mechanics/test/tests/notched_plastic_block/biaxial_smooth.i +++ b/modules/tensor_mechanics/test/tests/notched_plastic_block/biaxial_smooth.i @@ -54,7 +54,7 @@ [] [remove_block] type = BlockDeletionGenerator - block_id = 1 + block = 1 input = block_to_remove_ymax [] [] diff --git a/modules/tensor_mechanics/test/tests/notched_plastic_block/cmc_planar.i b/modules/tensor_mechanics/test/tests/notched_plastic_block/cmc_planar.i index 883074241cb3..84af4c6705f1 100644 --- a/modules/tensor_mechanics/test/tests/notched_plastic_block/cmc_planar.i +++ b/modules/tensor_mechanics/test/tests/notched_plastic_block/cmc_planar.i @@ -54,7 +54,7 @@ [] [remove_block] type = BlockDeletionGenerator - block_id = 1 + block = 1 input = block_to_remove_ymax [] [] diff --git a/modules/tensor_mechanics/test/tests/notched_plastic_block/cmc_smooth.i b/modules/tensor_mechanics/test/tests/notched_plastic_block/cmc_smooth.i index 66521e5da643..7c125d418c93 100644 --- a/modules/tensor_mechanics/test/tests/notched_plastic_block/cmc_smooth.i +++ b/modules/tensor_mechanics/test/tests/notched_plastic_block/cmc_smooth.i @@ -54,7 +54,7 @@ [] [remove_block] type = BlockDeletionGenerator - block_id = 1 + block = 1 input = block_to_remove_ymax [] [] diff --git a/test/tests/mesh_modifiers/block_deleter/BlockDeleterTest1.i b/test/tests/mesh_modifiers/block_deleter/BlockDeleterTest1.i index a25f37337c39..3ff95cf85567 100644 --- a/test/tests/mesh_modifiers/block_deleter/BlockDeleterTest1.i +++ b/test/tests/mesh_modifiers/block_deleter/BlockDeleterTest1.i @@ -21,7 +21,7 @@ [ed0] type = BlockDeletionGenerator input = SubdomainBoundingBox - block_id = 1 + block = 1 [] [] diff --git a/test/tests/mesh_modifiers/block_deleter/BlockDeleterTest10.i b/test/tests/mesh_modifiers/block_deleter/BlockDeleterTest10.i index 77daf0954e6f..f7650ae75b8f 100644 --- a/test/tests/mesh_modifiers/block_deleter/BlockDeleterTest10.i +++ b/test/tests/mesh_modifiers/block_deleter/BlockDeleterTest10.i @@ -42,7 +42,7 @@ [ed0] type = BlockDeletionGenerator input = new_block_number - block_id = 3 + block = 3 [] [] diff --git a/test/tests/mesh_modifiers/block_deleter/BlockDeleterTest12.i b/test/tests/mesh_modifiers/block_deleter/BlockDeleterTest12.i index 75a89159a16c..2cf23a41716a 100644 --- a/test/tests/mesh_modifiers/block_deleter/BlockDeleterTest12.i +++ b/test/tests/mesh_modifiers/block_deleter/BlockDeleterTest12.i @@ -21,7 +21,7 @@ [delete] type = BlockDeletionGenerator input = mark - block_id = 1 + block = 1 new_boundary = cut_surface [] [] diff --git a/test/tests/mesh_modifiers/block_deleter/BlockDeleterTest2.i b/test/tests/mesh_modifiers/block_deleter/BlockDeleterTest2.i index 86ad10ea3c91..35c2ae365648 100644 --- a/test/tests/mesh_modifiers/block_deleter/BlockDeleterTest2.i +++ b/test/tests/mesh_modifiers/block_deleter/BlockDeleterTest2.i @@ -23,7 +23,7 @@ [] [ed0] type = BlockDeletionGenerator - block_id = 1 + block = 1 input = SubdomainBoundingBox [] [] diff --git a/test/tests/mesh_modifiers/block_deleter/BlockDeleterTest3.i b/test/tests/mesh_modifiers/block_deleter/BlockDeleterTest3.i index d28f66f7e054..65f99cd7f98d 100644 --- a/test/tests/mesh_modifiers/block_deleter/BlockDeleterTest3.i +++ b/test/tests/mesh_modifiers/block_deleter/BlockDeleterTest3.i @@ -21,7 +21,7 @@ [ed0] type = BlockDeletionGenerator input = SubdomainBoundingBox - block_id = 1 + block = 1 [] [] diff --git a/test/tests/mesh_modifiers/block_deleter/BlockDeleterTest4.i b/test/tests/mesh_modifiers/block_deleter/BlockDeleterTest4.i index 5922d2c9e10d..5ce3be6b2aee 100644 --- a/test/tests/mesh_modifiers/block_deleter/BlockDeleterTest4.i +++ b/test/tests/mesh_modifiers/block_deleter/BlockDeleterTest4.i @@ -24,8 +24,7 @@ [ed0] type = BlockDeletionGenerator input = SubdomainBoundingBox - - block_id = 1 + block = 1 [] [] diff --git a/test/tests/mesh_modifiers/block_deleter/BlockDeleterTest6.i b/test/tests/mesh_modifiers/block_deleter/BlockDeleterTest6.i index ed5a73b44bba..d9b7a40cf334 100644 --- a/test/tests/mesh_modifiers/block_deleter/BlockDeleterTest6.i +++ b/test/tests/mesh_modifiers/block_deleter/BlockDeleterTest6.i @@ -38,7 +38,7 @@ [ed0] type = BlockDeletionGenerator input = SubdomainBoundingBox3 - block_id = 1 + block = 1 [] [] diff --git a/test/tests/mesh_modifiers/block_deleter/BlockDeleterTest7.i b/test/tests/mesh_modifiers/block_deleter/BlockDeleterTest7.i index 29aab8eb58a1..782290d1e78b 100644 --- a/test/tests/mesh_modifiers/block_deleter/BlockDeleterTest7.i +++ b/test/tests/mesh_modifiers/block_deleter/BlockDeleterTest7.i @@ -28,7 +28,7 @@ [ed0] type = BlockDeletionGenerator input = SubdomainBoundingBox2 - block_id = 1 + block = 1 [] [] diff --git a/test/tests/mesh_modifiers/block_deleter/BlockDeleterTest9.i b/test/tests/mesh_modifiers/block_deleter/BlockDeleterTest9.i index b19fe4ba3046..bbd5f540a9ec 100644 --- a/test/tests/mesh_modifiers/block_deleter/BlockDeleterTest9.i +++ b/test/tests/mesh_modifiers/block_deleter/BlockDeleterTest9.i @@ -21,7 +21,7 @@ [ed0] type = BlockDeletionGenerator input = SubdomainBoundingBox1 - block_id = 1 + block = 1 [] [] diff --git a/test/tests/meshgenerators/block_deletion_generator/block_deletion_test1.i b/test/tests/meshgenerators/block_deletion_generator/block_deletion_test1.i index b79df852a389..12715e50877a 100644 --- a/test/tests/meshgenerators/block_deletion_generator/block_deletion_test1.i +++ b/test/tests/meshgenerators/block_deletion_generator/block_deletion_test1.i @@ -21,7 +21,7 @@ [./ed0] type = BlockDeletionGenerator input = SubdomainBoundingBox - block_id = 1 + block = 1 [../] [] diff --git a/test/tests/meshgenerators/block_deletion_generator/block_deletion_test10.i b/test/tests/meshgenerators/block_deletion_generator/block_deletion_test10.i index 19692d468353..1008cfa28219 100644 --- a/test/tests/meshgenerators/block_deletion_generator/block_deletion_test10.i +++ b/test/tests/meshgenerators/block_deletion_generator/block_deletion_test10.i @@ -40,7 +40,7 @@ [../] [./ed0] type = BlockDeletionGenerator - block_id = 3 + block = 3 input = 'new_block_number' [../] [] diff --git a/test/tests/meshgenerators/block_deletion_generator/block_deletion_test11.i b/test/tests/meshgenerators/block_deletion_generator/block_deletion_test11.i index 53b285add612..b09bf0e05d4c 100644 --- a/test/tests/meshgenerators/block_deletion_generator/block_deletion_test11.i +++ b/test/tests/meshgenerators/block_deletion_generator/block_deletion_test11.i @@ -13,7 +13,7 @@ [../] [./swiss_cheese2] type = BlockDeletionGenerator - block_id = 2 + block = 2 input = 'sbb2' [../] [./sbb3] @@ -25,7 +25,7 @@ [../] [./swiss_cheese3] type = BlockDeletionGenerator - block_id = 3 + block = 3 input = 'sbb3' [../] [./sbb4] @@ -37,7 +37,7 @@ [../] [./swiss_cheese4] type = BlockDeletionGenerator - block_id = 4 + block = 4 input = 'sbb4' [../] [./sbb5] @@ -53,7 +53,7 @@ [../] [./swiss_cheese5] type = BlockDeletionGenerator - block_id = 5 + block = 5 input = 'sbb5' [../] [./sbb6] @@ -69,7 +69,7 @@ [../] [./swiss_cheese6] type = BlockDeletionGenerator - block_id = 6 + block = 6 input = 'sbb6' [../] [] diff --git a/test/tests/meshgenerators/block_deletion_generator/block_deletion_test12.i b/test/tests/meshgenerators/block_deletion_generator/block_deletion_test12.i index 85a6180b9aee..ef8cd07a75ab 100644 --- a/test/tests/meshgenerators/block_deletion_generator/block_deletion_test12.i +++ b/test/tests/meshgenerators/block_deletion_generator/block_deletion_test12.i @@ -19,7 +19,7 @@ [../] [./delete] type = BlockDeletionGenerator - block_id = 1 + block = 1 input = mark new_boundary = cut_surface [../] diff --git a/test/tests/meshgenerators/block_deletion_generator/block_deletion_test13.i b/test/tests/meshgenerators/block_deletion_generator/block_deletion_test13.i new file mode 100644 index 000000000000..9cb1a8661056 --- /dev/null +++ b/test/tests/meshgenerators/block_deletion_generator/block_deletion_test13.i @@ -0,0 +1,74 @@ +[Mesh] + [./gmg] + type = GeneratedMeshGenerator + dim = 2 + nx = 4 + ny = 4 + xmin = 0 + xmax = 4 + ymin = 0 + ymax = 4 + [] + + [./SubdomainBoundingBox] + type = SubdomainBoundingBoxGenerator + input = gmg + block_id = 1 + bottom_left = '0 0 0' + top_right = '3 3 3' + [../] + + [rename] + type = RenameBlockGenerator + input = SubdomainBoundingBox + old_block_id = 1 + new_block_name = 'my_name' + [] + + [./ed0] + type = BlockDeletionGenerator + input = rename + block = 'my_name' + [../] +[] + +[Variables] + [./u] + [../] +[] + +[Kernels] + [./dt] + type = TimeDerivative + variable = u + [../] + [./diff] + type = Diffusion + variable = u + [../] +[] + +[BCs] + [./top] + type = DirichletBC + variable = u + boundary = bottom + value = 1 + [../] +[] + +[Executioner] + type = Transient + start_time = 0 + end_time = 10 + dt = 10 + + solve_type = NEWTON + + petsc_options_iname = '-pc_type -pc_hypre_type' + petsc_options_value = 'hypre boomeramg' +[] + +[Outputs] + exodus = true +[] diff --git a/test/tests/meshgenerators/block_deletion_generator/block_deletion_test14.i b/test/tests/meshgenerators/block_deletion_generator/block_deletion_test14.i new file mode 100644 index 000000000000..871231aa1514 --- /dev/null +++ b/test/tests/meshgenerators/block_deletion_generator/block_deletion_test14.i @@ -0,0 +1,59 @@ +[Mesh] + [./cmg] + type = CartesianMeshGenerator + dim = 2 + dx = '4 2 3' + dy = '1 2' + ix = '10 10 10' + iy = '8 8' + subdomain_id = '1 2 3 + 2 2 2' + [] + + [./ed0] + type = BlockDeletionGenerator + input = cmg + block = '1 3' + [../] +[] + +[Variables] + [./u] + [../] +[] + +[Kernels] + [./dt] + type = TimeDerivative + variable = u + [../] + [./diff] + type = Diffusion + variable = u + [../] +[] + +[BCs] + [./top] + type = DirichletBC + variable = u + boundary = bottom + value = 1 + [../] +[] + +[Executioner] + type = Transient + start_time = 0 + end_time = 10 + dt = 10 + + solve_type = NEWTON + + petsc_options_iname = '-pc_type -pc_hypre_type' + petsc_options_value = 'hypre boomeramg' +[] + +[Outputs] + exodus = true +[] diff --git a/test/tests/meshgenerators/block_deletion_generator/block_deletion_test2.i b/test/tests/meshgenerators/block_deletion_generator/block_deletion_test2.i index fd802d402e8c..0217ff764231 100644 --- a/test/tests/meshgenerators/block_deletion_generator/block_deletion_test2.i +++ b/test/tests/meshgenerators/block_deletion_generator/block_deletion_test2.i @@ -23,7 +23,7 @@ [./ed0] type = BlockDeletionGenerator input = SubdomainBoundingBox - block_id = 1 + block = 1 [../] [] diff --git a/test/tests/meshgenerators/block_deletion_generator/block_deletion_test3.i b/test/tests/meshgenerators/block_deletion_generator/block_deletion_test3.i index 3d9e892cf1c3..d392515aab0d 100644 --- a/test/tests/meshgenerators/block_deletion_generator/block_deletion_test3.i +++ b/test/tests/meshgenerators/block_deletion_generator/block_deletion_test3.i @@ -19,7 +19,7 @@ [../] [./ed0] type = BlockDeletionGenerator - block_id = 1 + block = 1 input = SubdomainBoundingBox [../] [] diff --git a/test/tests/meshgenerators/block_deletion_generator/block_deletion_test4.i b/test/tests/meshgenerators/block_deletion_generator/block_deletion_test4.i index 99ec881d1ab1..6d7daf74ca60 100644 --- a/test/tests/meshgenerators/block_deletion_generator/block_deletion_test4.i +++ b/test/tests/meshgenerators/block_deletion_generator/block_deletion_test4.i @@ -22,7 +22,7 @@ [../] [./ed0] type = BlockDeletionGenerator - block_id = 1 + block = 1 input = SubdomainBoundingBox [../] [] diff --git a/test/tests/meshgenerators/block_deletion_generator/block_deletion_test5.i b/test/tests/meshgenerators/block_deletion_generator/block_deletion_test5.i index 157b34f90be9..23480c3af132 100644 --- a/test/tests/meshgenerators/block_deletion_generator/block_deletion_test5.i +++ b/test/tests/meshgenerators/block_deletion_generator/block_deletion_test5.i @@ -26,7 +26,7 @@ [../] [./ed0] type = BlockDeletionGenerator - block_id = 1 + block = 1 input = SubdomainBoundingBox2 [../] [] @@ -71,4 +71,3 @@ [Outputs] exodus = true [] - diff --git a/test/tests/meshgenerators/block_deletion_generator/block_deletion_test6.i b/test/tests/meshgenerators/block_deletion_generator/block_deletion_test6.i index fe0937f90fb1..fbc6623f8e90 100644 --- a/test/tests/meshgenerators/block_deletion_generator/block_deletion_test6.i +++ b/test/tests/meshgenerators/block_deletion_generator/block_deletion_test6.i @@ -36,7 +36,7 @@ [../] [./ed0] type = BlockDeletionGenerator - block_id = 1 + block = 1 input = SubdomainBoundingBox3 [../] [] diff --git a/test/tests/meshgenerators/block_deletion_generator/block_deletion_test7.i b/test/tests/meshgenerators/block_deletion_generator/block_deletion_test7.i index aea1c7e15d04..b36fe7e62585 100644 --- a/test/tests/meshgenerators/block_deletion_generator/block_deletion_test7.i +++ b/test/tests/meshgenerators/block_deletion_generator/block_deletion_test7.i @@ -26,7 +26,7 @@ [../] [./ed0] type = BlockDeletionGenerator - block_id = 1 + block = 1 input = SubdomainBoundingBox2 [../] [] diff --git a/test/tests/meshgenerators/block_deletion_generator/block_deletion_test8.i b/test/tests/meshgenerators/block_deletion_generator/block_deletion_test8.i index e93dc8284258..06b51e57f271 100644 --- a/test/tests/meshgenerators/block_deletion_generator/block_deletion_test8.i +++ b/test/tests/meshgenerators/block_deletion_generator/block_deletion_test8.i @@ -26,7 +26,7 @@ [../] [./ed0] type = BlockDeletionGenerator - block_id = 1 + block = 1 input = interior_nodeset [../] [] diff --git a/test/tests/meshgenerators/block_deletion_generator/block_deletion_test9.i b/test/tests/meshgenerators/block_deletion_generator/block_deletion_test9.i index 7931df4c0e4f..00f36d7eef74 100644 --- a/test/tests/meshgenerators/block_deletion_generator/block_deletion_test9.i +++ b/test/tests/meshgenerators/block_deletion_generator/block_deletion_test9.i @@ -19,7 +19,7 @@ [../] [./ed0] type = BlockDeletionGenerator - block_id = 1 + block = 1 input = 'SubdomainBoundingBox1' [../] [] diff --git a/test/tests/meshgenerators/block_deletion_generator/gold/block_deletion_test13_out.e b/test/tests/meshgenerators/block_deletion_generator/gold/block_deletion_test13_out.e new file mode 100644 index 0000000000000000000000000000000000000000..c3d6901771368c33d895202c9f819ff2653a289f GIT binary patch literal 33316 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 literal 0 HcmV?d00001 diff --git a/test/tests/meshgenerators/block_deletion_generator/tests b/test/tests/meshgenerators/block_deletion_generator/tests index 84fe40371862..51b63acaa464 100644 --- a/test/tests/meshgenerators/block_deletion_generator/tests +++ b/test/tests/meshgenerators/block_deletion_generator/tests @@ -1,12 +1,28 @@ [Tests] - [./block_deletion_test] - type = 'Exodiff' - input = 'block_deletion_test1.i' - exodiff = 'block_deletion_test1_out.e' - recover = false - - requirement = 'The system shall be capable of deleting all of the elements in a mesh based on subdomain ID.' + [block_deletion] design = 'meshgenerators/BlockDeletionGenerator.md' - issues = '#11640' - [../] + requirement = 'The system shall be capable of deleting ' + issues = '#11640 #17052' + [all_by_block_ids] + type = 'Exodiff' + input = 'block_deletion_test1.i' + exodiff = 'block_deletion_test1_out.e' + recover = false + detail = 'all of the elements in a mesh based on subdomain ID, ' + [] + [all_by_block_names] + type = 'Exodiff' + input = 'block_deletion_test13.i' + exodiff = 'block_deletion_test13_out.e' + recover = false + detail = 'all of the elements in a mesh based on subdomain names and ' + [] + [multiple_blocks] + type = 'Exodiff' + input = 'block_deletion_test14.i' + exodiff = 'block_deletion_test14_out.e' + recover = false + detail = 'multiple blocks simultaneously in a mesh based on subdomain ID.' + [] + [] []