https://mooseframework.inl.gov
Loading...
Searching...
No Matches
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 MOOSE_MFEM_ENABLED
11
13
14registerMooseAction("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
29
30void
32{
33 if (_problem->feBackend() == Moose::FEBackend::MFEM)
34 {
35 auto & mfem_problem = static_cast<MFEMProblem &>(*_problem);
36 if (const auto displacement = mfem_problem.getMeshDisplacementGridFunction())
37 mfem_problem.mesh().getMFEMParMesh().SetNodalFESpace(displacement.value().get().ParFESpace());
38 }
39}
40
41#endif
registerMooseAction("MooseApp", SetMFEMMeshFESpaceAction, "set_mesh_fe_space")
Base class for actions.
Definition Action.h:38
static InputParameters validParams()
Definition Action.C:26
std::shared_ptr< FEProblemBase > & _problem
Convenience reference to a problem this action works on.
Definition Action.h:178
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system.
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.
mfem::ParMesh & getMFEMParMesh()
Accessors for the _mfem_par_mesh object.
Definition MFEMMesh.h:34
virtual MFEMMesh & mesh() override
Overwritten mesh() method from base MooseMesh to retrieve the correct mesh type, in this case MFEMMes...
This class implements the action ensuring the mesh uses the same FE space as the displacement for mes...
virtual void act() override
Method to add objects to the simulation or perform other setup tasks.
SetMFEMMeshFESpaceAction(const InputParameters &parameters)
static InputParameters validParams()