25 virtual std::unique_ptr<MeshBase>
generate()
override;
32 const std::vector<SubdomainName>
_block;
54 virtual std::unique_ptr<MeshBase>
recursive_refine(
const std::vector<subdomain_id_type> block_ids,
55 std::unique_ptr<MeshBase> & mesh,
56 const std::vector<unsigned int> refinement,
57 const unsigned int max,
58 unsigned int ref_step = 0);
const InputParameters & parameters() const
Get the parameters of the object.
virtual std::unique_ptr< MeshBase > recursive_refine(const std::vector< subdomain_id_type > block_ids, std::unique_ptr< MeshBase > &mesh, const std::vector< unsigned int > refinement, const unsigned int max, unsigned int ref_step=0)
The actual function refining the blocks.
virtual std::unique_ptr< MeshBase > generate() override
Generate / modify the mesh.
auto max(const L &left, const R &right)
RefineBlockGenerator(const InputParameters ¶meters)
std::unique_ptr< MeshBase > & _input
Input mesh to refine.
const Real _max_element_volume
maximum element size over which elements are refined
const std::vector< SubdomainName > _block
List of block(s) to refine.
const bool _enable_neighbor_refinement
Toggles whether neighboring level one elements should be refined or not. Defaults to true...
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
std::vector< unsigned int > _refinement
The amount of times to refine each block, corresponding to their index in 'block'.
MeshGenerators are objects that can modify or add to an existing mesh.
static InputParameters validParams()
MeshGenerator for refining one or more blocks.