https://mooseframework.inl.gov
SetMFEMMeshFESpaceAction.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 
10 #ifdef MFEM_ENABLED
11 
13 
14 registerMooseAction("MooseApp", SetMFEMMeshFESpaceAction, "set_mesh_fe_space");
15 
18 {
20  params.addClassDescription("Set the mesh nodal finite element space to the same as the mesh "
21  "displacement variable, if one is specified.");
22  return params;
23 }
24 
26  : Action(parameters)
27 {
28 }
29 
30 void
32 {
33  auto * mfem_problem = dynamic_cast<MFEMProblem *>(_problem.get());
34 
35  if (!mfem_problem)
36  {
37  return;
38  }
39 
40  mfem::ParMesh & mesh = mfem_problem->mesh().getMFEMParMesh();
41  auto const displacement = mfem_problem->getMeshDisplacementGridFunction();
42  if (!displacement)
43  {
44  return;
45  }
46 
47  mesh.SetNodalFESpace(displacement.value().get().ParFESpace());
48 }
49 
50 #endif
MeshBase & mesh
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
Base class for actions.
Definition: Action.h:33
SetMFEMMeshFESpaceAction(const InputParameters &parameters)
static InputParameters validParams()
Definition: Action.C:24
virtual void act() override
Method to add objects to the simulation or perform other setup tasks.
registerMooseAction("MooseApp", SetMFEMMeshFESpaceAction, "set_mesh_fe_space")
void addClassDescription(const std::string &doc_string)
This method adds a description of the class that will be displayed in the input file syntax dump...
std::shared_ptr< FEProblemBase > & _problem
Convenience reference to a problem this action works on.
Definition: Action.h:168
static InputParameters validParams()
This class implements the action ensuring the mesh uses the same FE space as the displacement for mes...