https://mooseframework.inl.gov
Loading...
Searching...
No Matches
MFEMDGDiffusionKernel.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
16
19{
21 params.addClassDescription("Adds the face integrator for DG diffusion");
22 params.addParam<MFEMScalarCoefficientName>(
23 "coefficient", "1.0", "Name of property for diffusion coefficient k");
24 params.addParam<mfem::real_t>("sigma", -1.0, "Symmetry parameter. Typically +/- 1.0");
25 params.addParam<mfem::real_t>(
26 "kappa", "Penalty parameter. Should be non-negative. Will default to (order+1)^2");
27 return params;
28}
29
31 : MFEMKernel(parameters),
32 _fe_order(getMFEMProblem().getGridFunction(_test_var_name)->ParFESpace()->FEColl()->GetOrder()),
33 _coef(getScalarCoefficient("coefficient")),
34 _sigma(getParam<mfem::real_t>("sigma")),
35 _kappa((isParamSetByUser("kappa")) ? getParam<mfem::real_t>("kappa")
36 : (_fe_order + 1) * (_fe_order + 1))
37{
38}
39
40mfem::BilinearFormIntegrator *
42{
43 return new mfem::DGDiffusionIntegrator(_coef, _sigma, _kappa);
44}
45
46#endif
registerMooseObject("MooseApp", MFEMDGDiffusionKernel)
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system.
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 addClassDescription(const std::string &doc_string)
This method adds a description of the class that will be displayed in the input file syntax dump.
MFEMDGDiffusionKernel(const InputParameters &parameters)
static InputParameters validParams()
mfem::Coefficient & _coef
virtual mfem::BilinearFormIntegrator * createBFIntegrator() override
Create MFEM integrator to apply to the LHS of the weak form. Ownership managed by the caller.
Class to construct an MFEM integrator to apply to the equation system.
Definition MFEMKernel.h:22
static InputParameters validParams()
Definition MFEMKernel.C:19