https://mooseframework.inl.gov
Loading...
Searching...
No Matches
StackGenerator.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
12#include "MeshGenerator.h"
13#include "libmesh/replicated_mesh.h"
14#include "MooseEnum.h"
15
20{
21public:
23
25
26 std::unique_ptr<MeshBase> generate() override;
27
28protected:
31
32 // Holds pointers to the pointers to the meshes.
33 const std::vector<std::unique_ptr<MeshBase> *> _mesh_ptrs;
34
36 const std::vector<MeshGeneratorName> & _input_names;
37
39 const Real _bottom_height;
40
41 Real computeWidth(const MeshBase & mesh, const int & dim);
42};
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system.
MeshGenerators are objects that can modify or add to an existing mesh.
const InputParameters & parameters() const
Get the parameters of the object.
Definition MooseBase.h:131
This is a "smart" enum class intended to replace many of the shortcomings in the C++ enum type It sho...
Definition MooseEnum.h:55
Take several 3D meshes and stitch them on top of each other like a stack.
const Real _bottom_height
Height (z) of the bottom of the final mesh.
const std::vector< MeshGeneratorName > & _input_names
The meshgenerators to read.
const std::vector< std::unique_ptr< MeshBase > * > _mesh_ptrs
std::unique_ptr< MeshBase > generate() override
Generate / modify the mesh.
Real computeWidth(const MeshBase &mesh, const int &dim)
static InputParameters validParams()
const MooseEnum _dim
The dimension of the mesh.