https://mooseframework.inl.gov
MFEMScalarIC.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 
12 #include "MFEMScalarIC.h"
13 #include "MFEMProblem.h"
14 
16 
19 {
20  auto params = MFEMInitialCondition::validParams();
21  params.addClassDescription("Sets the initial values of an MFEM scalar variable from a "
22  "user-specified scalar coefficient.");
23  params.addRequiredParam<MFEMScalarCoefficientName>("coefficient", "The scalar coefficient");
24  return params;
25 }
26 
28 
29 void
31 {
32  auto & coeff = getScalarCoefficient("coefficient");
33  auto grid_function = getMFEMProblem().getGridFunction(getParam<VariableName>("variable"));
34  grid_function->ProjectCoefficient(coeff);
35 }
36 
37 #endif
std::shared_ptr< mfem::ParGridFunction > getGridFunction(const std::string &name)
Definition: MFEMProblem.h:332
MFEMProblem & getMFEMProblem()
Return the owning MFEM problem.
Definition: MFEMObject.h:45
Base class used to set the initial value(s) on an MFEMVariable.
registerMooseObject("MooseApp", MFEMScalarIC)
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
Class used to set the initial value(s) on a scalar valued MFEMVariable.
Definition: MFEMScalarIC.h:19
MFEMScalarIC(const InputParameters &params)
Definition: MFEMScalarIC.C:27
static InputParameters validParams()
Definition: MFEMScalarIC.C:18
mfem::Coefficient & getScalarCoefficient(const std::string &name)
Retrieve a scalar MFEM coefficient using the value of an input parameter.
Definition: MFEMObject.C:58
virtual void execute() override
Perform the main work for this object.
Definition: MFEMScalarIC.C:30
static InputParameters validParams()