https://mooseframework.inl.gov
MFEMKernel.h
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 
12 #pragma once
13 
14 #include "MFEMGeneralUserObject.h"
15 #include "MFEMContainers.h"
16 #include "MFEMBlockRestrictable.h"
17 
18 /*
19 Class to construct an MFEM integrator to apply to the equation system.
20 */
22 {
23 public:
25 
27 
28  virtual ~MFEMKernel() = default;
29 
30  // Create a new MFEM integrator to apply to the weak form. Ownership managed by the caller.
31  virtual mfem::LinearFormIntegrator * createLFIntegrator() { return nullptr; }
32  virtual mfem::BilinearFormIntegrator * createBFIntegrator() { return nullptr; }
33 
34  // Get name of the test variable labelling the weak form this kernel is added to
35  const VariableName & getTestVariableName() const { return _test_var_name; }
36 
37  // Get name of the trial variable (gridfunction) the kernel acts on.
38  // Defaults to the name of the test variable labelling the weak form.
39  virtual const VariableName & getTrialVariableName() const { return _test_var_name; }
40 
41 protected:
42  // Name of (the test variable associated with) the weak form that the kernel is applied to.
43  const VariableName & _test_var_name;
44 };
45 
46 #endif
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
virtual mfem::BilinearFormIntegrator * createBFIntegrator()
Definition: MFEMKernel.h:32
const VariableName & getTestVariableName() const
Definition: MFEMKernel.h:35
MFEMKernel(const InputParameters &parameters)
Definition: MFEMKernel.C:29
virtual mfem::LinearFormIntegrator * createLFIntegrator()
Definition: MFEMKernel.h:31
virtual ~MFEMKernel()=default
const VariableName & _test_var_name
Definition: MFEMKernel.h:43
const InputParameters & parameters() const
Get the parameters of the object.
Base class for construction of an object that is restricted to a subset of subdomains of the problem ...
static InputParameters validParams()
Definition: MFEMKernel.C:19
virtual const VariableName & getTrialVariableName() const
Definition: MFEMKernel.h:39