10#ifdef MOOSE_MFEM_ENABLED
21 "Projects a real and imaginary vector coefficient, optionally scaled by a real scalar "
22 "coefficient, onto a complex vector MFEM auxvariable.");
24 "vector_coefficient_real",
"Name of the real part of the vector coefficient to project.");
26 "vector_coefficient_imag",
27 "Name of the imaginary part of the vector coefficient to project.");
28 params.
addParam<MFEMScalarCoefficientName>(
31 "Name of the real scalar coefficient k to scale both parts of the vector coefficient by.");
37 _vec_coef_real(getScalarCoefficient(
"coefficient"),
38 getVectorCoefficient(
"vector_coefficient_real")),
39 _vec_coef_imag(getScalarCoefficient(
"coefficient"),
40 getVectorCoefficient(
"vector_coefficient_imag"))
registerMooseObject("MooseApp", MFEMComplexVectorProjectionAux)
Class to construct an auxiliary solver used to update a complex auxvariable.
mfem::ParComplexGridFunction & _result_var
Reference to result complex gridfunction.
static InputParameters validParams()
Projects a complex vector coefficient, optionally scaled by a real scalar coefficient,...
static InputParameters validParams()
mfem::ScalarVectorProductCoefficient _vec_coef_imag
Product of the scalar coefficient and the imaginary part of the source vector coefficient.
MFEMComplexVectorProjectionAux(const InputParameters ¶meters)
virtual void execute() override
Perform the main work for this object.
mfem::ScalarVectorProductCoefficient _vec_coef_real
Product of the scalar coefficient and the real part of the source vector coefficient.