https://mooseframework.inl.gov
MFEMComplexVectorProjectionAux.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 a real and imaginary vector coefficient onto a complex vector MFEM auxvariable.");
22  params.addRequiredParam<MFEMVectorCoefficientName>(
23  "vector_coefficient_real", "Name of the real part of the vector coefficient to project.");
24  params.addRequiredParam<MFEMVectorCoefficientName>(
25  "vector_coefficient_imag",
26  "Name of the imaginary part of the vector coefficient to project.");
27  return params;
28 }
29 
31  : MFEMComplexAuxKernel(parameters),
32  _vec_coef_real(getVectorCoefficient("vector_coefficient_real")),
33  _vec_coef_imag(getVectorCoefficient("vector_coefficient_imag"))
34 {
35 }
36 
37 void
39 {
40  _result_var.ProjectCoefficient(_vec_coef_real, _vec_coef_imag);
41 }
42 
43 #endif
MFEMComplexVectorProjectionAux(const InputParameters &parameters)
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
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()
Projects a vector coefficient onto a vector-valued auxvariable.
virtual void execute() override
Perform the main work for this object.
mfem::VectorCoefficient & _vec_coef_imag
Reference to source coefficient for the imaginary part.
mfem::ParComplexGridFunction & _result_var
Reference to result complex gridfunction.
registerMooseObject("MooseApp", MFEMComplexVectorProjectionAux)
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::VectorCoefficient & _vec_coef_real
Reference to source coefficient for the real part.
Class to construct an auxiliary solver used to update a complex auxvariable.