https://mooseframework.inl.gov
Loading...
Searching...
No Matches
MFEMComplexScalarIC.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
12#include "MFEMComplexScalarIC.h"
13#include "MFEMProblem.h"
14
16
19{
21 params.addClassDescription("Sets the initial values of a complex MFEM scalar variable from a "
22 "pair of user-specified scalar coefficients.");
23 params.addRequiredParam<MFEMScalarCoefficientName>("coefficient_real",
24 "The real part of the scalar coefficient");
25 params.addRequiredParam<MFEMScalarCoefficientName>(
26 "coefficient_imag", "The imaginary part of the scalar coefficient");
27 return params;
28}
29
34
35void
37{
38 auto & coeff_real = getScalarCoefficient("coefficient_real");
39 auto & coeff_imag = getScalarCoefficient("coefficient_imag");
40 auto grid_function = getMFEMProblem().getComplexGridFunction(getParam<VariableName>("variable"));
41 grid_function->ProjectCoefficient(coeff_real, coeff_imag);
42}
43
44#endif
registerMooseObject("MooseApp", MFEMComplexScalarIC)
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system.
Class used to set the initial value(s) on a complex scalar valued MFEMVariable.
virtual void execute() override
Perform the main work for this object.
MFEMComplexScalarIC(const InputParameters &params)
static InputParameters validParams()
Base class used to set the initial value(s) on an MFEMVariable.
static InputParameters validParams()
MFEMProblem & getMFEMProblem()
Return the owning MFEM problem.
Definition MFEMObject.h:45
mfem::Coefficient & getScalarCoefficient(const std::string &name)
Retrieve a scalar MFEM coefficient using the value of an input parameter.
Definition MFEMObject.C:58
std::shared_ptr< mfem::ParComplexGridFunction > getComplexGridFunction(const std::string &name)