https://mooseframework.inl.gov
QuadInterWrapperBuildMeshAction.C
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 
11 #include "InterWrapperMesh.h"
12 
13 registerMooseAction("SubChannelApp", QuadInterWrapperBuildMeshAction, "setup_mesh");
14 registerMooseAction("SubChannelApp", QuadInterWrapperBuildMeshAction, "set_mesh_base");
15 
18 {
20  params.addClassDescription("Creates the infrastructure necessary to build the inter-wrapper mesh "
21  "in the square lattice arrangement");
22  return params;
23 }
24 
26  : Action(params)
27 {
28 }
29 
30 void
32 {
33  if (_current_task == "setup_mesh")
34  {
35  {
36  const std::string class_name = "QuadInterWrapperMesh";
37  InputParameters params = _factory.getValidParams(class_name);
38  _mesh = _factory.create<InterWrapperMesh>(class_name, "interwrapper:mesh", params);
39  }
40  _mesh->buildMesh();
41  }
42  else if (_current_task == "set_mesh_base")
43  {
44  auto mesh_base = _app.getMeshGeneratorMesh();
45  _mesh->setMeshBase(std::move(mesh_base));
46  }
47 }
Base class for inter-wrapper meshes.
QuadInterWrapperBuildMeshAction(const InputParameters &params)
Action for building empty mesh object for quadrilateral geometry that is filled by mesh generators...
MooseApp & _app
std::shared_ptr< MooseObject > create(const std::string &obj_name, const std::string &name, const InputParameters &parameters, THREAD_ID tid=0, bool print_deprecated=true)
InputParameters getValidParams(const std::string &name) const
Factory & _factory
static InputParameters validParams()
std::unique_ptr< MeshBase > getMeshGeneratorMesh()
registerMooseAction("SubChannelApp", QuadInterWrapperBuildMeshAction, "setup_mesh")
const std::string & _current_task
std::shared_ptr< MooseMesh > & _mesh
void addClassDescription(const std::string &doc_string)