25 virtual std::unique_ptr<MeshBase>
generate()
override;
32 const std::vector<SubdomainName>
_block;
60 virtual std::unique_ptr<MeshBase>
62 std::unique_ptr<MeshBase> & mesh,
63 const std::vector<unsigned int> & coarsening,
64 const unsigned int max,
65 unsigned int coarse_step);
const bool _verbose
Whether the mesh generator should be verbose to the console.
const bool _check_output_mesh_for_nonconformality
Whether to check the output mesh for non-conformality.
const std::vector< unsigned int > _coarsening
The amount of times to coarsen each block, corresponding to their index in 'block'.
CoarsenBlockGenerator(const InputParameters ¶meters)
virtual std::unique_ptr< MeshBase > recursiveCoarsen(const std::vector< subdomain_id_type > &block_ids, std::unique_ptr< MeshBase > &mesh, const std::vector< unsigned int > &coarsening, const unsigned int max, unsigned int coarse_step)
The actual function coarsening the blocks.
auto max(const L &left, const R &right)
const Point _starting_point
The location on the mesh to start the coarsening from.
MeshGenerator for coarsening one or more blocks.
const Real _max_vol_ratio
Maximum volume ratio between a neighbor and an element to consider the neighbor as a candidate for co...
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
std::unique_ptr< MeshBase > & _input
Input mesh to coarsen.
virtual std::unique_ptr< MeshBase > generate() override
Generate / modify the mesh.
const InputParameters & parameters() const
Get the parameters of the object.
MeshGenerators are objects that can modify or add to an existing mesh.
static InputParameters validParams()
const std::vector< SubdomainName > _block
List of block(s) to coarsen.