https://mooseframework.inl.gov
Loading...
Searching...
No Matches
MFEMComplexIntegratedBC.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 MOOSE_MFEM_ENABLED
11
12#pragma once
13
14#include "MFEMIntegratedBC.h"
15
17{
18public:
20
22 virtual ~MFEMComplexIntegratedBC() = default;
23
24 virtual mfem::LinearFormIntegrator * getRealLFIntegrator()
25 {
26 return _real_bc->createLFIntegrator();
27 }
28 virtual mfem::LinearFormIntegrator * getImagLFIntegrator()
29 {
30 return _imag_bc->createLFIntegrator();
31 }
32 virtual mfem::BilinearFormIntegrator * getRealBFIntegrator()
33 {
34 return _real_bc->createBFIntegrator();
35 }
36 virtual mfem::BilinearFormIntegrator * getImagBFIntegrator()
37 {
38 return _imag_bc->createBFIntegrator();
39 }
40
41 virtual void setRealBC(std::shared_ptr<MFEMIntegratedBC> bc) { _real_bc = bc; }
42 virtual void setImagBC(std::shared_ptr<MFEMIntegratedBC> bc) { _imag_bc = bc; }
43
46 virtual const std::string & getTrialVariableName() const { return _test_var_name; }
47
48protected:
49 std::shared_ptr<MFEMIntegratedBC> _real_bc{nullptr};
50 std::shared_ptr<MFEMIntegratedBC> _imag_bc{nullptr};
51};
52
53#endif
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system.
const VariableName & _test_var_name
Name of (the test variable associated with) the weak form that the bc is applied to.
virtual ~MFEMComplexIntegratedBC()=default
virtual void setRealBC(std::shared_ptr< MFEMIntegratedBC > bc)
virtual void setImagBC(std::shared_ptr< MFEMIntegratedBC > bc)
virtual mfem::LinearFormIntegrator * getRealLFIntegrator()
std::shared_ptr< MFEMIntegratedBC > _imag_bc
virtual mfem::BilinearFormIntegrator * getRealBFIntegrator()
std::shared_ptr< MFEMIntegratedBC > _real_bc
static InputParameters validParams()
virtual mfem::BilinearFormIntegrator * getImagBFIntegrator()
virtual mfem::LinearFormIntegrator * getImagLFIntegrator()
virtual const std::string & getTrialVariableName() const
Get name of the trial variable (gridfunction) the bc acts on.
const InputParameters & parameters() const
Get the parameters of the object.
Definition MooseBase.h:131