https://mooseframework.inl.gov
Loading...
Searching...
No Matches
MFEMQuadratureFunctionBase.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#include "MFEMProblem.h"
14
17{
19 params.registerBase("MFEMQuadratureFunction");
20 params.registerSystemAttributeName("MFEMQuadratureFunction");
22 "order",
23 "order>=0",
24 "Order of the quadrature rule the projected values are stored on. This must match the "
25 "integration rule used by the objects consuming this coefficient.");
26 MooseEnum updates(MFEMQuadratureFunctionCoefficientBase::getUpdatePolicyOptions(), "NONLINEAR");
27 params.addParam<MooseEnum>(
28 "updates",
29 updates,
30 "When the stored values are re-projected from the source coefficient: 'none' projects "
31 "exactly once, 'time' re-projects when the simulation time changes, 'nonlinear' additionally "
32 "re-projects whenever solution variables change (i.e. on each nonlinear iteration).");
33 return params;
34}
35
37 : MFEMObject(parameters),
38 _qspace(&getMFEMProblem().mesh().getMFEMParMesh(), getParam<int>("order"))
39{
40}
41
42MFEMQuadratureFunctionCoefficientBase::UpdatePolicy
44{
45 return getParam<MooseEnum>("updates")
46 .getEnum<MFEMQuadratureFunctionCoefficientBase::UpdatePolicy>();
47}
48
49#endif
void ErrorVector unsigned int
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system.
void registerSystemAttributeName(const std::string &value)
This method is used to define the MOOSE system name that is used by the TheWarehouse object for stori...
void addRequiredRangeCheckedParam(const std::string &name, const std::string &parsed_function, const std::string &doc_string)
These methods add an range checked parameters.
void addParam(const std::string &name, const S &value, const std::string &doc_string)
These methods add an optional parameter and a documentation string to the InputParameters object.
void registerBase(const std::string &value)
This method must be called from every base "Moose System" to create linkage with the Action System.
Thin base for MFEM objects backed directly by MooseObject instead of UserObject.
Definition MFEMObject.h:30
static InputParameters validParams()
Declare the common parameters required by MFEM MooseObject-backed classes.
Definition MFEMObject.C:17
static InputParameters validParams()
MFEMQuadratureFunctionCoefficientBase::UpdatePolicy updatePolicy() const
Return the update policy selected by the 'updates' input parameter, to hand to the coefficient (which...
MFEMQuadratureFunctionBase(const InputParameters &parameters)
This is a "smart" enum class intended to replace many of the shortcomings in the C++ enum type It sho...
Definition MooseEnum.h:55
MeshBase & mesh