https://mooseframework.inl.gov
Loading...
Searching...
No Matches
MFEMComplexScalarDirichletBC.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
15
18{
20 params.addClassDescription("Applies a Dirichlet condition to a scalar variable.");
21 params.addParam<MFEMScalarCoefficientName>(
22 "coefficient_real",
23 "0.",
24 "The coefficient setting the real part of the values on the essential boundary");
25 params.addParam<MFEMScalarCoefficientName>(
26 "coefficient_imag",
27 "0.",
28 "The coefficient setting the imaginary part of the values on the essential boundary");
29
30 return params;
31}
32
34 : MFEMComplexEssentialBC(parameters),
35 _coef_real(getScalarCoefficient("coefficient_real")),
36 _coef_imag(getScalarCoefficient("coefficient_imag"))
37{
38}
39
40void
41MFEMComplexScalarDirichletBC::ApplyBC(mfem::ParComplexGridFunction & gridfunc)
42{
43 gridfunc.ProjectBdrCoefficient(_coef_real, _coef_imag, getBoundaryMarkers());
44}
45
46#endif
registerMooseObject("MooseApp", MFEMComplexScalarDirichletBC)
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.
mfem::Array< int > & getBoundaryMarkers()
static InputParameters validParams()
void ApplyBC(mfem::ParComplexGridFunction &gridfunc) override
MFEMComplexScalarDirichletBC(const InputParameters &parameters)