https://mooseframework.inl.gov
MFEMComplexScalarProjectionAux.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(
21  "Projects a real and imaginary scalar coefficient onto a complex scalar MFEM auxvariable");
22  params.addRequiredParam<MFEMScalarCoefficientName>(
23  "coefficient_real", "Name of the real part of the scalar coefficient to project.");
24  params.addRequiredParam<MFEMScalarCoefficientName>(
25  "coefficient_imag", "Name of the imaginary part of the scalar coefficient to project.");
26  return params;
27 }
28 
30  : MFEMComplexAuxKernel(parameters),
31  _coef_real(getScalarCoefficient("coefficient_real")),
32  _coef_imag(getScalarCoefficient("coefficient_imag"))
33 {
34 }
35 
36 void
38 {
39  _result_var.ProjectCoefficient(_coef_real, _coef_imag);
40 }
41 
42 #endif
MFEMComplexScalarProjectionAux(const InputParameters &parameters)
registerMooseObject("MooseApp", MFEMComplexScalarProjectionAux)
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
mfem::Coefficient & _coef_real
Reference to source coefficient for the real part.
mfem::Coefficient & _coef_imag
Reference to source coefficient for the imaginary part.
void addRequiredParam(const std::string &name, const std::string &doc_string)
This method adds a parameter and documentation string to the InputParameters object that will be extr...
static InputParameters validParams()
mfem::ParComplexGridFunction & _result_var
Reference to result complex gridfunction.
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...
Projects a scalar coefficient onto a scalar-valued auxvariable.
Class to construct an auxiliary solver used to update a complex auxvariable.
virtual void execute() override
Perform the main work for this object.